If you are currently preparing for an AWS Solution Architect certification, you might have stumbled across numbers of articles providing hints and experiences on how to pass the exam, often consisting of affiliate links and talking heads on video. In this article, I want to provide my point of view regarding preparation and passing the exam - completely ad-free.
There are several ways of preparing for an AWS Solution Architect Associate (OK Google!) Exam. I was in the comfortable situation to test all of them:
- Working with AWS in practice
- Working with external trainers as an AWS partner
- Text and Video lessons from Amazon
- 3rd party learning platforms
The baseline - You have to get your hands dirty
While all theoretical learning methods might be a good way to structure and verify ones experience, there is no alternative to “getting your hands dirty”. Deciding for a simple project and setting it up in AWS, preferably with hitting the wall on improvable architectural decisions, is a great start.
Personally, I began with a really simple CRUD application, a Pastebin clone in particular. I used this as an example for years, and starting with a simple React SPA with a two-service Golang backend in Docker containers, I managed to play with a lot of AWS services by just adding features (with limited business relevance) just for the sake of using services.
What I did was:
- Install the entire application in an Elastic Kubernetes Cluster, both with EC2 and Fargate workers
- Push the code to CodeCommit, use Codepipeline to build the docker images and push to an AWS container registry
- Replace the MongoDB container with a DynamoDB instance
- Replace the RabbitMQ with SNS/SQS
- Replace the trends and statistics service with a FaaS solution triggered by the queue messages
- Use Cognitive Services to parse text from file attachments
- Use Notification Services to support Push Notifications when new messages arrived
- Use Cloudwatch as a logging and Analysis platform
- Use CDK (and Cloudformation for a little more facepalms) to automate the entire infrastructure
- Provision a worker node on an EC2 instance just for the sake of playing with IaaS
- Use VPCs to facilitate 10
Just playing around was a very effective way to become acquainted with all the basics. As my consulting project in mid 2020 was focused on IaaS, 10 and 11 were well covered, too.
Without the practice from the project and the pet project, the chance of passing a Solution Architect Certification Exam is minimal.
I had the opportunity to join an internal interest group working with an external trainer as a preparation to a cerfification. While he was really skilled and managed to share a lot of knowledge in three days, it was pretty redundant to the “getting your hands dirty” part and mostly not a good time invest.
I think external trainers are superior to video lessons, but their use-case is giving you a jump-start into AWS. After a training session without any prior or following experience, it is impossible to pass the exam.
Please take this with a grain of salt, but my opinion (without using profanity) is that they are a waste of time. This might definitly be controversal, so let me explain myself.
Trainings on video platforms like Youtube are either obsolete, full of self-marketing talking heads or just, inflated ads. There are some exceptions, but due to Spam, pardon me, SEO, one is more likely to find the inferior content.
Training on subscription-based platforms (such as ACG) are better, but still they resemble one of the slowest ways to accumulate information. All colleagues I told about that matter highly appreciated the “2x speed” feature, just to skip back if something interesting happened. I used AGC myself (my company offers subscriptions to their employees, because we are a great place to work at), and I watched the videos primarily for relaxation.
The AWS Educate/University platform is much better than Youtube, too, but suffers from the same issues as ACG.
Your mileagle may very, but I cannot recommend any option for video-based training.
AWS is not Azure. While the Microsoft Learn platform offers highly curated content, the AWS equivalents appear to be outpaced by the new feature releases.
Anyway, the AWS Documentation was, in my opinion, the best place to learn about details and inner workings of AWS Services.
Taking the Exam
Taking an exam usually means scheduling an exam with an external provider, such as Pearson, either in a certified testing center or online.
Use the test centers, do not take the exam online
Again, a very explicit and controversial statement.
Compared to an online exam, it might seem old-fashioned to be physically present in a test center, especially when taking the covid hassle into consideration. But there are several limitations regarding online exams which made me decide not to consider them:
The attendee is responsible for the additional effort for preparing a room that adheres to the exam guidelines. If the proctor is not satisfied with the room, the exam will not happen and the exam costs will be lost.
Having to install a software on your computer with administrative rights. The Pearson software is not open-source and does not play well in an virtual machine, so the attendee is responsible for removing the software from his computer afterwards. The only reasonable option is considering the computer as untrusted and re-installing the entire operating system. So much better things to do with your time.
The attendee takes full responsibility for technical failures. In case of technical difficulties with the computer or internet connection, the exam is either terminated or the time continues to run while the attendee sorts out the technical problems. After returning after more than 15 minutes and suffering the context switch, the chances to pass the exam are de facto zero. In a test center, and I withnessed this myself in the Solingen test center, the test center is responsible for sorting out technical interruptions, and the timer is paused during any technical difficulty.
A soft factor, but you should not underestimate it: Remember university time. Changing a location for taking an exam puts you into a more focused mode with no distractions, which might significantly increase your chances for passing the exam.
Take your time
The time limit for the exam is 120 minutes. It might be tempting to perform a speedrun through the exam, but I strongly advise not to do so. Several questions provide two acceptable answers, and the key statement which rules out the option not to consider is hidden within a 10-lines question, so you definitly want to read the questions throughly before providing an answer that looks acceptable in the first place.
Also, don`t hesitate to use the “Flag for Review” function. You can revisit every question after you answered all the questions,but flagging them signals you that you have to reconsider the answer throughly.
Read the question throughly
While some questions are straightforward, others require the attendee to read between the lines or rule out second-best options before providing an answer.
There are some common terms, such as “cost efficient”, indicating that the correct answer among two viable solutions must be determined based on the cost. When designing a solution for hosting websites, the information that the content it static shifts the weight to a S3 bucket with enabled web access.
This should not be any problem if the attendee has a deep understanding of the AWS services and cost structure and ready the questions throughly.