AWS is increasingly becoming an integral part of any developer’s/architect’s toolset. I recently took (and passed) the solutions architect associate exam. Quite a few of my friends and colleagues are looking to do the same, so I thought it would be efficient to write these notes down, in the hopes that other people would find it useful.
My AWS experience
- About 5 years of experience using or experimenting with AWS services
- More focus on “application” related services like S3, RDS, Redshift, EMR than on system admin and developer tools like deployment - For development tools, I typically like using third party services as they tend to specialize on one thing and do that extremely well [footnote-1]
- Involved in at least a couple of projects right from the AWS account creation stage - (despite the buzz, there are still lot of opportunities to get involved from the initial stages of a cloud migration)
Exam format :
I took the extended format of the exam (110 minutes as opposed to 80 minutes for the regular exam).
Apparently, AWS has some non-scored questions that are used to validate questions for further exam, but there is no way to tell which questions they are. The fees is $75 and I figured the chances of getting the super tricky questions right increases if there are more of them. (there is no proof that this is a sound strategy, so your mileage may vary :)). All I call tell you is that I used up almost all my time.
- AWS Product description and Product FAQs : Try to think of the following as you go through these services.
- what pain point does this solve compared to traditional IT?
- Is it just a managed service (RDS, instead of installing, patching databases) or is it a completely new AWS specific offering (like DynamoDB)
- Failure and fault-tolerant design : How does a given service fit in a fault-tolerant highly available architecture. What does it take for a service to go down? Is it one data center failure/one region failure/multiple-region failure etc.
- Differences between offerings in the same space : There are usually multiple offerings in the same space with different performance, pricing and customization needs. For example, S3 has three variants (S3 “regular”, S3 IA, S3 RRS). There are 4+ different deployment options (Beanstalk, cloudformation, ) Understand which makes sense when, as there are a lot of scenario based questions in the exam.
- A Cloud Guru’s certification course. : Ryan and team have a really good certification prep course, and resources. udemy or on the a cloud guru website. They focus on certification, so some topics which don’t feature a lot in certification might not get as much attention. The below resources should fill that gap.
** Additional resources that can help understand services better.
Jeff Bar’s blog posts introducing various sevices. https://aws.amazon.com/blogs/aws/
AWS white papers for key services : https://aws.amazon.com/whitepapers/
AWS Deep Dive videos on youtube : For topics like VPC, S3, EC2, I watched some deep dive videos on the AWS youtube channel. I don’t think I could retain everything, but it helps understand how more complex architecture are built. https://aws.amazon.com/whitepapers/
Jayendra Patel’s blog : I came across this literally a day before the exam, but it has a great summary of all the topics nad key points. http://jayendrapatil.com/
AWS Account for hands on practice or Qwiklabs : As several people have already mentioned, building things like VPC and fault-tolerant website from scratch will give you a lot more exposure and confidence. aws.amazon.com, qwiklabs
Some thoughts on the exam :
The associate certification is fairly hard, compared to some of the other professional certifications I have done previously. AWS has a lot of alternatives for each case and part of solutions architecture is figuring out which service makes sense given your needs and constraints. This features heavily in the exam.
As Werner vogels pointed out in the 10-year blog post, AWS spent a lot of time providing primitives first and I think you should do the same when learning about these services. Focus on the core building blocks such as (S3, EC2, VPC) first. This is especially true for people coming from an applications background who might not deal with networking and high availability designs on a daily basis. Security and Fault tolerance are the two most critical components and this shows in the exam as well.
Needless to say, Plan your time well. 2 minutes per question might feel like a lot less once you start looking at scenario based questions, so don’t spend too much time on the shorter questions. You can mark questions for review later, to avoid wasting time, but don’t over do it, as you won’t have the time to review too many questions later.
It is a great time to get started or get more involved with cloud computing in general and AWS in particular. It enables you to think of new architectures and build them just as quickly, leading to more agile development.
If you do plan on taking the exam, Good luck!