To begin with, I wish you a happy new year in 2019! I hope that the new year brings more health, joy and success to you and more peace to the world.
Almost two weeks ago, I passed AWS Certified Solutions Architect - Professional exam with 91% and completed all my 5 core AWS certifications goal of 2018. Before that, I also passed AWS Certified DevOps Engineer - Professional exam with 85% at the beginning of last October. I did not have time to write a post about my experiences back then. But, today I would like to share them briefly.
Path to Associate Certifications
Actually, my meeting with AWS began 5 years ago with one of the oldest and the most popular AWS services: Amazon S3. I was trying to set up Pisirpaylas in a reliable architecture on Linodes and needed a way to store images in a reliable and scalable way. It was when I started using Amazon S3 with Ruby’s Paperclip gem, as well as Amazon SES for sending registration emails to our users. At that time, AWS had only Ireland region in Europe and considering that they announced 6th one in Milan recently, it is incredible to witness their growth.
I was new to cloud at those days, but as an experienced developer and one person team, installing every thing in a single server manually was not my thing. I heard that some giants like Facebook was maintaining thousands of servers with a small team using Chef and decided to give it a try. I setup an Open Source Chef Server and provisioned my environment on Ubuntu servers using Chef recipes.
Then, in June 2015, there was an AWS event in Istanbul, AWSome Day. At that event, I met with other AWS managed services like Amazon RDS, ElastiCache, SQS, SNS and was amazed by how they simplified management tasks. I decided to migrate Pisirpaylas to AWS to benefit from these services and its pace of innovation. OpsWorks was new at those times, I realized that CloudFormation would also help me to manage my resources in an automated way. So, I built a network stack for VPC; a database stack for RDS, ElastiCache and Elasticsearch and an application stack for Elastic Load Balancing, Autoscaling and so on. Then, I migrated Pisirpaylas fully to AWS.
All these work, helped me a lot to pass AWS Certified Solutions Architect - Associate (with 83%), SysOps Administrator - Associate (with 87%) and Developer - Associate (with 96%) exams last year in July in 2 weeks. I also watched A Cloud Guru courses during my preparation, but gaining hands on practice helped me a lot more. But, of course, these courses help you in structuring your exam preparation and I also recommend to watch them. Because an Associate exam is $150 and it would be best to prepare fully.
AWS Certified DevOps Engineer - Professional Certification
After my Associate certifications, I started getting freelancing work on AWS and helping my clients with my knowledge and experience. I continued my work with core AWS services; but, I also added new ones like AWS Lambda, API Gateway, CodePipeline, CodeBuild, CodeDeploy, etc. I removed ElastiCache-Redis and Sidekiq from Pisirpaylas and replaced it with SQS and S3 event notifications for triggering AWS Lambda functions. I developed lots of CI/CD pipelines for various projects such as PHP, serverless APIs, infrastructure provisioning with CloudFormation, etc. Besides, I read lots of AWS papers, especially Well-Architected Framework to serve my clients better.
After more than a year since taking all associates, I felt that it was the time for getting professional level certifications. I already knew Elastic Beanstalk and OpsWorks, but I made more hands on labs on them. Obviously, I was strong at CloudFormation, I was even creating custom resources if you remember my blog post about it last year.
Aside from hands on practice and reading lots of whitepapers, I watched both A Cloud Guru and Linux Academy courses, but I found A Cloud Guru more to the point. I think these courses do not teach you to be an expert, but they guide you well to find where you are stronger or weaker. Then, you can make more practices for those areas you leak knowledge or experience.
Similarly, I solved practice exams, too. But, there is no consensus in these practice exam answers, because they are based on opinions of the creators of those practice exams. Again, they help you to understand where you need to spend your time for gathering more information.
I got 80% from the practice exam the day before taking the actual one. I passed the actual AWS Certified DevOps Engineer - Professional exam with 85% on October, 3rd. Then, I gave a break to dedicate time for my existing projects.
What you should know for passing AWS Certified DevOps Engineer - Professional exam?
First of all, you need to know AWS CloudFormation in advanced level. Stack policies, resource policies, nested stacks, custom resources, handlers, etc… I was lucky to be using them.
Second, you should know Elastic Beanstalk deployment methods inside and out. I have a blog post about it, too.
Third, you need to know how OpsWorks works, lifecycles, etc. Again, I was experienced in Chef and it helped me a lot.
In addition to these, you should know disaster recovery solutions, blue - green deployments, canary releases, as well as EC2 autoscaling in detail.
There are also general questions about security, IAM and these are shared between both professional exams.
AWS Certified Solutions Architect - Professional Certification
This certification is regarded as one of the hardest one in IT. It spans a broad range of AWS services and you should know them in good level. Here, I must say that working as a freelancer helps you a lot. Because, there happens to be really interesting and sometimes weird projects especially on Upwork. Sometimes, I get curious and solve them even if I do not work in these projects when I have time :)
In the beginning of last December, I decided to sit for the AWS Certified Solutions Architect - Professional exam finally. Again, I watched A Cloud Guru courses and this time solved Whizzlabs practice exams. Again, I had objections to some of their answers, but they provide a good framework to prepare for the exam.
Two days before the exam, I solved the practice exam and got 75%. I marked down the fields I might be lacking some information. But, when I took the exam two days later, I passed it with 91%. I received 100% in
High Availability and Business Continuity,
Deployment Management and
Network Design domains.
What you should know for passing AWS Certified Solutions Architect - Professional exam?
Well, you should know lots of things. You should know when to use IAM roles, identity federation, DDOS protection on AWS and have a general knowledge about AWS security best practices.
You should know differences between EMR and Kinesis. Kinesis family and Elasticsearch fits real-time analytics needs well. On the other hand, Amazon EMR is very useful as a Hadoop platform for big data processing batch jobs that does not require real-time insights. You should also know what AWS Data Pipeline is and that it can launch EMR clusters to process/transform data.
Knowing how to scale DynamoDB tables will help you a lot during the exam. Again, EC2 autoscaling is a must, as well as Amazon CloudFront.
Although this exam does not cover as much as the DevOps Engineer exam, you should know CloudFormation, Opsworks and Elastic Beanstalk, too. I saw some Docker deployment questions for custom applications, as well.
In addition to above, you should know AWS storage services in depth. How to use them for both scalable solutions such as serving videos, as well as, backup solutions in a hybrid environment… You should know VPCs, VPN gateways, Direct Connect and how they work.
Of course, certification exams will help you in your carrier. But, as a freelancer, I use them as a personal goal to assess and validate my knowledge. They give me insights about where I should dedicate time to learn more.
I am happy to pass both of the professional certifications with high scores. Because, this gave me more confidence as an AWS specialist. In the end, what matters is how you serve your clients and what you do in their jobs. Besides, when you are a freelancer, you have to care for the work you do. Because, it is your signature.
Thanks for reading and happy new year!
In this post, I will provide some whitepapers that might help you during preparation.
- AWS Well-Architected Framework
- AWS Storage Services Overview
- AWS Security Best Practices
- AWS Best Practices for DDoS Resiliency
- Blue/Green Deployments on AWS
- Introduction to DevOps on AWS
- Development and Test on Amazon Web Services (An Old Paper)
- Big Data Analytics Options on AWS
- Streaming Data Solutions on AWS with Amazon Kinesis
- Practicing Continuous Integration and Continuous Delivery on AWS