One of the goals I set for myself this year 2021, was to get better at software architecture and systems design. I try to use SMART goals (Specific, Measurable, Achievable, Realistic, and Timely) to help focus my efforts and increase the chances of achieving my goals. Preparing and sitting for an architecture-related certification aligned perfectly with that and I came across the AWS Solutions Architect - Associate certification.
The exam contains 65 scenario-based questions where you are asked to wear the hat of a solutions architect and design solutions that are scalable, reliable, and secure.
Before I started this certification journey I was skeptical about getting a certification that’s tied to a specific cloud provider. I decided to go ahead anyway with the hope of picking up transferrable architecture skills and general cloud domain knowledge and I am glad that it was indeed the case.
I used Cloud Academy as the first learning platform. It came with a structured study plan with a combination of theoretical lectures, quizzes, and hands-on labs. I was thoroughly excited to run through the courses and on several occasions, I was thanking myself for pursuing this certification. What I loved about this certification prep is that it covers a broad range of topics: Storage, Compute, Networking, Databases, and Security. Before delving into specific AWS services, the lectures were focused on the fundamentals which I found extremely helpful. Networking, for instance, was an area that I didn’t have much experience in and I am thankful for Stuart’s Cloud Academy course through which I got to learn about VPN, subnets, CIDR, network interfaces, and load balancers (L7 and L4). Serverless computing was another area that was on my ever-growing bucket list of things of areas to learn about and this learning journey scratched that itch. Stuart Scott is great at teaching and I like Cloud Academy’s learning plan feature which tracks if you are up to speed with your study plan and lets you know if you are running behind.
While the material was great, it was not sufficient for the exam. At that point, I was annoyed that I spent a couple of months going through a sub-optimal learning plan (I’m told Cloud Academy has since created a new-and-improved learning plan for this certification preparation). Reddit came to the rescue: I found Stephane Maarek’s Udemy course and Tutorial Dojo’s practice exams highly recommended in several threads.
Stephane’s course was a great supplement for the Cloud Academy learning plan and he covers material that’s highly relevant to the exam questions. He also covers architecture patterns using combinations of AWS services for common design problems such as caching with Elastic Load Balancer sticky sessions, write-through caching with ElasiCache and RDS/DynamoDB; and patterns for decoupled architectures like fan-out which enables a single data source to publish to multiple channels with the help of Simple Notification Service and Simple Queue Service. These are some examples of the design skills I was hoping to pick up as the patterns can be implemented with technologies from other cloud providers and on-premise solutions alike.
Completing the Tutorial Dojo practice tests gave me enough exam practice. An ancillary benefit of taking several practice exams that are scenario-based is that it greatly improved my abstract thinking skills which are crucial for a good software architect. Many guides tell you to read through the answers of both your incorrect and correct responses to these practice exams. But if you are like me and are crushed for time, I recommend marking doubtful questions for review and review just those answers instead. This set is usually smaller and you can spend time taking more practice exams.
The actual exam itself seemed simpler after I completed all of Tutorial Dojo’s practice exams. I was able to complete the exam with about an hour to spare. Check out my certificate:
In my day job, I work on JPMorgan’s private cloud. Having a broad understanding of a competing industry-standard cloud provider helps in identifying the missing pieces in our internal cloud solution and understanding which services were created to solve which classes of problems. Within a week of completing this certification, I was able to apply the learnings at work on two different occasions. I plan to spread this knowledge within my firm and team and I’m excited to find more ways to apply my newly acquired architecture skills.