The AWS DevOps Engineer Professional Exam
Hi everyone. This blog post is part 2 of a series that explains how I passed the AWS professional certifications. In part 1 I explain how I passed the AWS Solutions Architect Professional Exam and in this post I will talk about the AWS DevOps Engineer Professional Exam. I’m hoping this blog is going to really help you as, at the time of writing, there are very few qualified DevOps Pro’s around the world and very few blogs explaining the exam. So enjoy.
As I explained in part 1 of this series I have around 5 years experience with AWS and spend a lot of time reading and studying in areas that I’m weak on. For my day job I spend a lot of time writing Cloudformation templates and automating infrastructure. At Hydras we also use Opsworks a fair amount (Beanstalk less so) and make heavy use of Cloudwatch and CloudTrail. You’ll see from reading below that having this DevOps type background with respect to AWS services is really going to help you with this exam so bear this in mind.
My AWS DevOps Engineer Professional exam consisted of 80 questions (unlike my Solutions Architect Professional that had 77) and followed a similar format to the Solutions Architect Professional. Most of the questions are long scenario based questions with four or more choices of answer. I actually found that there were proportionately less scenario based questions than the SA Pro. I’d say the SA pro is about 90-95% scenario based whereas the DevOps Pro is around 85%. This may have just been the luck of the draw with my exam but this allowed me to finish it quicker than the SA Pro, leaving me 30 minutes at the end for reviewing.
As I mentioned in part 1, managing to finish this exam will be largely about strategy. Follow the tips I’ve mentioned for the SA pro and apply them to this exam also and you should be fine. One thing to note is that I found the DevOps pro practice exam much closer (albeit moderately harder) to the real exam than the SA pro one which is poorly written.
As an addition, if you are planning on taking both exams, I’d recommend taking them fairly close together if you can. I took mine within around 5 weeks of each other (I would have taken them closer if I could find the time). The reason for this is that you will be “tuned in” to the exam strategy and technique and the culture shock of time pressure and the length of the questions won’t be so great. Not to mentioned that there is a fair amount of overlapping content between the two so revision performed for one exam will certainly help with the other.
The AWS DevOps Engineer Professional focuses on fewer AWS services than the SA Pro (which is very wide reaching) but for the services it does focus on you’ll need to know them inside out.
Bear in mind that the format of the exam can change at any time but areas I’d recommend to concentrate on would be:
- Understand autoscaling inside and out.
- Make sure you know the differences between deploying with and without Cloudformation (as there are some deployment methods you can do with Cloudformation that you can’t without) and the command or JSON syntax to perform them.
- Understand lifecycle hooks and the autoscaling stages they run in
- Understand launch configurations and how they work and are updated (hint: You must replace them)
- Understand why you may need to place an instance into STANDBY state
- Elastic Beanstalk.
- You’ll need to know this to an advanced level.
- Understand what stacks Beanstalk supports natively and how you would deploy a stack it doesn’t (hint: Use Docker).
- Understand the differences between a single Docker deployment v’s multiple Docker deployments.
- Understand how .ebextensions work and the syntax of each of the files and how you’d make custom modifications to your beanstalk container.
- Make sure you know the “eb” command line and can spot “fake” commands
- As with Elastic Beanstalk you’ll need to know this to a solid depth
- Understand Opsworks concepts (stacks/layers/applications) and the properties of each
- Understand that Opsworks uses chef and make sure you know the different deployment lifecycle states and when they are each run
- Understand the differences between Windows and Linux stacks
- Understand how Opsworks actually works and the different style (and limitations) of autoscaling it uses
- Understand Opsworks monitoring and how this differs slightly from native Cloudwatch metrics for EC2 instances
- Deployment Methodologies
- You’ll need to understand the different deployment methods for blue/green and the pro/cons of each. Simply watch this video and understand it. Its all you’ll need: Deep Dive into Blue/Green Deployments on AWS
- You won’t need to memorise every single command in Cloudformation but ensure you understand the different sections of the templates and the syntax
- Understand fully cloudformation::init and cfn-init
- Understand Creationpolicy and cfn-signal
- Understand Waitcondition and handles and the difference between when to use these v’s Creationpolicy
- Understand how to use Cloudformation with auto-scaling deployments (memorise the commands for this section)
- Know what each of the fn::* commands is used for within a template
- Understand stack policies, when to use them and what they do
- Know what Cloudwatch is used for and how it works
- Make sure you know the difference between a namespace, metric and a dimension and how they relate to each other
- Understand Cloudwatch logs. Specifically know what the following are: log event, log stream, log group, metric filter, retention settings
- Remember that Cloudwatch only keeps data for 14 days but Cloudwatch logs keeps data indefinitely (by default)
- Understand how you can set up alerting within Cloudwatch and which endpoints you can send them to
- Make sure you know what Cloudtrail is, what it can be used for and how it can be setup (including how to configure it globally)
- Understand the default encryption for the logs in S3 (SSE-S3) and that they can use KMS if desired and why you may want to do this
- Know hash verification, integration with SNS and Cloudwatch logs and how to set each of those up
- Realise you can have up to 5 trails per region
In addition to the above you may have the odd question or two covering a service not listed in the above (relating to a core service) so you’ll need to have a basic overview of these but those I’ve listed require knowledge to a deep level.
To check my level of pre-revision knowledge I firstly read the exam blueprint and attempted the sample questions. Having found these questions not too difficult I decided to take the practice exam and passed with 65%.
I was quite happy with this but knew that 65% was probably a very borderline pass so I decided to revise the subjects and areas that I felt weaker on. Unlike with the SA pro, whereby I took an online course, I simply decided to focus on the AWS documentation this time. So for each of the subjects I’ve listed above I scanned the document chapters for areas I wasn’t sure on and then just read and noted gaps in my knowledge. Alongside this I also used my AWS practice account to put the theory into practice to ensure I had all of the practical experience.
After about a week and a half of revision (consisting of perhaps 40 hours in total) I took the exam and passed with 85% with 30 minutes to spare which I was elated with.
Now I realise that my revision may seem a little light but I think we need to consider the following:
- I was fresh out of the SA Pro exam so had revised a lot on many of the AWS services
- I am a heavy user of Cloudformation, Opsworks, Cloudwatch, Cloudtrail and autoscaling and therefore had a good base knowledge
With this in mind my advice would be to target your revision based on your starting knowledge. If you, like me, are a heavy user of services listed in this exam you’ll find that you have a good head start. Note that when I say a “heavy user” I mean a heavy user of the raw service and are not using the service with a wrapper tool. For instance if you use Troposphere or Terraform for Cloudformation you may find this doesn’t help with this exam and you’ll need to go back to learning how to craft raw templates.
If you use little of the services above you’ll certainly need practice, probably lots of it and I’d recommend the following basic tips:
- Ensure you read the exam blueprint
- Take a course to teach you the basics. Since I didn’t take one I can’t recommend one but have heard good things about both acloud.guru and Cloudacademy
- Practice, practice, practice. If you don’t already have an AWS account then open a free one and build and play with everything you’ve learnt. There are walkthroughs in each of the AWS documents. Follow these and learn as you go
- Read the AWS documents to fill in the gaps in your knowledge
- Use the AWS Youtube channel to watch videos on the services you are studying. Watch as much as you can and digest the information; on the train to work, before going to bed, during your breaks. You’ll absorb knowledge subconsciously and become a guru without realising
Once you are confident take the practice exam and if you pass, book the real exam and brush up during the interim. If you fail, focus on your weak areas and repeat the cycle again until you pass the practice exam and have some confidence.
I really enjoyed studying for and taking this exam, more so than the SA Pro. I also found this easier than the SA Pro which seems contrary to most other people I’ve spoken to whom found it harder due to the depth of content.
I think if you practice DevOps on AWS and use most of the tools the exam covers you won’t have a problem with it as long as you practice your timing of the questions. Whereas if you have more of an architecture background or don’t use the tools covered (in their raw form) then you may find the SA Pro the easier of the two and you’ll need to study in much greater depth for this exam.
Either way the knowledge you’ll gain by studying for the AWS DevOps Engineer Professional will certainly be of use and you’ll improve your skills by taking it. Also remember that, at the time of writing, there are only just over 1000 qualified people that have it so you’ll be joining an exclusive club.
I hope my tips will help you pass your exam. Good luck and let me know how you get on!
Hydras are a team of cloud consulting experts that excel in architecting and operating secure, automated cloud based solutions built on Amazon Web Services (AWS) with a particular focus on web and mobile. Contact us for help with your AWS projects. We’d love to work with you.