I recently sat the AWS Certified Solutions Architect – Associate (SAA-C02) exam announced back in February, 2020 using a virtual (remote) proctor. This is my second exam for the year, the first being HashiCorp’s Certified Terraform Associate exam, with Google’s Associate Cloud Engineer coming up next.
In this post, I talk about three tips I used to help understand, prepare, study, build, and pass the exam. I start with the creation of mind maps based on documentation and FAQs. From there, I discuss creating cloud resources using Terraform (or the Infrastructure as Code tool of your choice) and absorbing online educational materials.
Quick Reminder: I livestream on technical topics every week on Twitch – come join the adventure! Drop a follow and enable notifications to stay current.
Create Mind Maps from Documentation
This is my first year using mind maps as a main tool for exam prep. A mind map captures the mental nodes and edges that exist during a deep thought exercise. Starting with a topic, thoughts expand out in a tree-like fashion. Topics closer to the center are broad and general whereas child topics gain granularity and specificity. Nothing is set in stone; topics can be re-arranged and migrated across the map without restriction.
The SAA-C02 exam lists numerous study tips on the exam preparation page. Reading the FAQs below is one of the study tips.
Reading FAQs is not super fun. I only wanted to read through them once while re-organizing the data into something more aligned to the Well-Architected Framework. Thus, I made a new mind map for each of these FAQ topics using important, relevant, or interesting information.
For example, databases play a huge role in the exam. One of my mind maps is focused on the Relational Database Service (RDS) as shown below:
XMind 2020 is my mind map tool of choice. I would like to share the mind map files as PDFs, but they are fairly “messy” as I did not think to do this originally. In the future, I will attempt to write cleaner mind maps and share as part of the blog post.
Build and Destroy Resources with Terraform
I need to build things to really learn how they work. Using Terraform to build cloud resources is the best possible way to learn how a cloud platform is constructed. Why?
- All parameters for an object are visible. I can see the default configuration, how the service interprets the value, and how errors are handled.
- Dependencies. I am frequently building out an entire region of components or deploying an application across numerous regions. This forces true clarity into how to build out infrastructure at scale.
- Resource object relationships. Working with real resource id values and seeing which id values are needed by other resources builds a strong mental model.
- Authentication and authorization. It goes way beyond usernames and passwords or even personal access tokens. It’s about service principles, certificates, roles, and ssh keys – and hardening those entry points!
For example, I am now extremely comfortable with Transit Gateways. I’ve created complex configurations involving Transit Gateways at least 200 times thanks to Terraform. Each design was improved upon with almost no penalty for failure.
Online Educational Training
I watched a few different AWS Certified Solutions Architect Associate training videos. I like understanding someone else’s view on a particular solution or technology. Being an associate level exam, much of the focus is knowing a little bit about dozens of services and offerings. Thus, online training offerings were a bit drab and mainly covered the services FAQs with a sprinkling of real-world guidance.
A Cloud Guru’s AWS Certified Solutions Architect Associate SAA-C02 course was my favorite of a small sample size. It felt complete, thorough, and I enjoy Ryan Kroonenburg’s style. For each section, I made sure to update my mind maps and build resources in AWS, when applicable.
Please accept a crisp high five for reaching this point in the post!