Wednesday 3 August 2016

My experience passing AWS DevOps Engineer Professional Certification

If you are not motivated to get AWS DevOps Certification you can stop reading now. :)
Certification info at AWS Certified DevOps Engineer Professional - https://aws.amazon.com/certification/certified-devops-engineer-professional/
I passed the DevOps Pro exam (July 2016 with 88% ) and can say it’s quite intense. I enjoyed the way it tested me and would like to summarize few tips for anyone interested in taking it up. 
It focuses mostly on CloudFormation, Beanstalk, OpsWorks, Auto-scaling, IAM and has couple of questions for DynamoDB, CloudSearch, S3, RDS, SWF, docker etc.
Just a day before exam I found links [1] which maybe more helpful to you.
ALL THE BEST!
Consolidated tips from various links and my experience :
1. Prepare the Sample Questions and Practice Exam questions properly. Most questions are repeated in the actual exam.
2. Be ready for very technical in depth questions. Hands-on will give you the confidence for tricky questions.
3. Answers are tricky. Rule out obvious answers. Generally, it would be a simple word play. For example, DeletionPolicy is an attribute and NOT is not a property for any CFN resource. So, if it calls it a property, it’s a wrong choice.
4. Timing is definitely crucial and the long Q&A may become tiring, so if you not completely sure of an answer - mark it and move on. Don’t lose patience.
5. Watch re:invent deep dive videos for DevOps. I had watched couple, specifically [2].
6. CloudWatch logging - Logs, real-time and non-real time.
7. CloudWatch metrics - make sure you remember the names of default metrics so you can differentiate them from custom metric names.
8. Kinesis – Know what it is and what it does. Mostly related to logging.
9. IAM – Web/Corporate federation and best practices for cross-account access. How to securely provide files from S3 to EC2. Many questions asked on security in multiple ways.
10. OpsWorks - understand Layers, deployment methods, deployment commands, lifecycle, Berksfile.
11.Autoscaling - Make sure you know about Launch Configurations and Auto Scaling Groups. Specifically, what is defined where and the fact you can’t change a launch configuration once set on an autoscaling group.
12. Autoscaling lifecycle hooks, Standby, suspending processes and Scheduled scaling.
13. CloudFormation – Updates to stacks, CFN-init, Template anatomy especially usage of proper keywords, multi-stack or nested architectures, attributes, understand custom metrics, Wait Conditions and creation policies 
14. Elastic Beanstalk - ebextensions - how they work and why they are required, important features like versioning, deployment methods, configuration updates. [3] [4] Docker in EB can be used for anything that isn’t supported natively.
15. Beanstalk/CFN - Know differentiation of ebextensions for Windows and Linux. Best place to understand it is in CFN [5]
16. There are a lot of questions on A/B Testing and Blue/Green deployments. Know the difference and various methods. [2] should be helpful.
17. Pay attention to the end of question, usually there are multiple right answers but it will ask for the most cost-effective or HA.
18. Lots of different architectural examples, eg multi-tierd (web, app, db) and load balanced apps. Usually performance issues and ways to diagnose/fix, typically when autoscaling is involved.
19. Read the AWS Whitepapers, especially ones focussing on scalability and deployment services.
20. Nevertheless, the more hands on you do, the more you read AWS documentation and the troubleshooting guides. Most AWS terms are from AWS documentation.
Links:
[2] AWS re:Invent 2015 | (DVO401) Deep Dive into Blue/Green Deployments on AWS - https://www.youtube.com/watch?v=aX54mhZbN58
Update as of Aug, 2016 :
It seems after I cleared my exam AWS published :

Introducing the AWS for DevOps Getting Started Guide

Disclaimer: I have worked on CloudFormation extensively for a year while working in AWS Premium Support (PS) and was accredited as a Subject Matter Expert (SME).
I have always enjoyed working with Autoscaling and it was my second SME choice. Also, as part of deployment team in PS I fairly dealt with Beanstalk and Opsworks.
SO even if there are links and questions available, the importance of extensive hands on experience cannot be underestimated.
ALL THE BEST!