I’ve just cleared the AWS Cloud Solutions Architect – Associate exam with 95%, and this post contains a comprehensive list of the resources that helped getting there.
A bit of context on my experience with AWS. I’ve working for Expedia for almost 3 years, and at Expedia we are heavy AWS users. Having said that, it’s very hard to get exposure to all (or most) AWS services. What this hands-on experience provided, was a way to get into the minds of the people behind AWS architectural and design decisions. I have a few of those points listed below.
Video course – acloud.guru
When I first started working with AWS, and coming from a Microsoft .NET developer background, my experience with the cloud was limited to some Azure services, such as Web Apps, Queues and storage.
The ACloudGuru’s course on how to get this certification is more than a study guide to get certified: it also helps viewers understanding the mechanics of AWS, and even on how to combine multiple services in an elegant, performing, fault-tolerant and cost-effective solution.
In fact, if you’re thinking about taking this exam, these terms will be part of your daily life. If something is not cost-effective, or resilient, or if it performs badly, then something is wrong with the approach.
Going back to the A Cloud Guru’s 23h course, it provides a phased approach, with a very high level introduction, which enables about anyone, even with no cloud experience, to make the first steps into the AWS World, followed by sections dedicated to the big service areas in AWS.
At the end of each section there is a quizz containing very similar questions to the ones you may find in the exam. At the very end there’s a simulation exam, which I’ve taken a few times.
The cost (at the time I’m writing this) is USD99, which in my opinion will be very well spent.
This book came into the equation when I first started thinking about really taking the certification, and it proved to be a very good complement for the Cloud Guru’s training. It filled in some gaps, and although most of the time it said the same, it said it with different words, which – in some way – connected the dots in my brain.
A good example was the explanation on why SG are called stateful and nACL stateless.
At the end if each chapter, there’s also an assessment test, which allows readers to validate the content they had just read.
This inexpensive ebook contains 150 questions and answers that will make you think, and will also be a good indicator of your exam readiness.
Although it seems a bit “dated”, with lots of questions around EC2 classic, it is still a very good resource
It seems a no-brainer, but I didn’t read the FAQs until late in my exam preparation. The amount of detail is incredible, and it’s virtually impossible to memorize everything. With the questions from the 3 resources above still ringing in my brain, it was easier to contextualize all these details, and know where they would fit in. I’m not saying you should also look at the FAQ only after these resources, but for me it helped.
I didn’t have the time to go through all the posts, but Jayendra’s work is remarkable, providing a summarized view of several AWS services, followed by Q&A, and sometimes, some community discussions. Needless to say that even after my certification, this blog will be part of my bookmarks.
A good number of questions can be easily answered by common sense, and by putting yourself in the shoes of who designed a given service. A good example, is a question I found during the exam (or was it during the training? I don’t really remember).
Q: A multi-az MySQL RDS instance has a read-replica. How does replication work?
1 – Asynchronous to both the Read replica and secondary
2 – Synchronous to both the Read replica and secondary
3 – Synchronous to the secondary and asynchronous to the read-replica
4 – Asynchronous to the secondary and synchronous to the read-replica
To be honest, I didn’t remember reading this on the FAQ, although I’m sure it’s part of it. So I answered this question out of common sense, and by trying to think like I was taking the decision on how the replication would work. Here’s my line of thought, which I believe can be used with other questions:
- Synchronous replication adds latency to each operation, as the master node needs to wait for the transaction to be replicated to the other node(s)
- A read replica is something that is explicitly added to an architecture, and the application layer needs to know how to leverage and live with this. This means that this kind of application needs to survive if the read-replica is out of sync.
- A multi AZ instance must fail-over in a transparent way, without the application to know about it. So all transactions must be replicated so the application does not fall into some sort of inconsistent state
With all this in mind, I chose option 3, and it turned out to be correct. Maybe this can’t be applied to all the questions, but it sure does help ruling out some of the answers.