Studying and passing the AWS DevOps Engineer Pro exam
If the exam had been called, "AWS Solutions Architect - DevOps Professional", I feel that would have been closer to what's in the exam. The 80 questions were all mini-scenarios requiring a "solution". In the exam blueprint, one of the bullet-points in "General IT Knowledge" was
Multi-tier architectures: load balancers, caching, web servers, application servers, databases, and networking
and these formed the basis of most scenarios, so ensure that you are comfortable with multi-tier architectures, particularly load balancers, database back-ends, what can be cached.
The exam itself
I'd taken all three AWS associate exams at the same test centre, and knew that the computers were typically set to a high resolution, on large monitors, which meant that the questions and answers huddled at the very top of the screen. I knew to expect there to be a great deal of reading in the DevOps Pro exam, so I asked whether it would be possible to have a "retro" resolution of something like 1360x768, and they were very helpful and adjusted it. The scenarios are long (often two or three paragraphs) but even with up to 7 answers to choose from, the text still fitted onto the screen and I didn't need to scroll. It's a lot of reading, so be kind to your eyes!
I found myself being very grateful that I'd watched (DVO401) Deep Dive into Blue/Green Deployments on AWS from re:Invent 2015. This gave a very useful framework throughout the exam to think what kind of deployment was best suited to each scenario.
- Mike Pfeiffer at Pluralsight (4 course series starting with Continuous Delivery and Automation). I watched the course twice - once in November/December, and once in the couple of weeks leading up to the exam, ensuring that I had done the hands-on exercises.
- Adrian Cantrill and Nick Triantafillou at ACloudGuru Two very knowledgeable hands-on architects with another good course.
- Christophe Limpalair at LinuxAcademy I signed up for a free trial a couple of weeks before the exam, and watched plenty of content in my week's free trial. The content was so good (and lengthy, at 17 hours), that I paid for membership.
Rohini Gaonkar's article (and extensive list of links) was very helpful.
The books listed here are all good background reading in the wider DevOps context.
- The Phoenix Project. I read it in June 2015 (and a couple of times since), and it's a great read. It's also very well-observed in its characterisation, and scarily accurate when it talks about software deployment failures.
- Serverless Single Page Apps - Ben Rady. I read it in September 2016, and it inspired me to look at the wider AWS offerings - static sites on S3, Lambda functions, DynamoDB, Cognito. I particularly rated that Ben shows how to get a deployment working early on in the process - a pattern he repeats in chapter 6 ("Building (Micro)Services with Lambda").
- AWS System Administration / Best Practices for Sysadmins in the Amazon Cloud - Mike Ryan, Federico Lucifredi. It's still an early release title, but I read it on Safari Books Online, and it covers most of the key services to be found on the DevOps exam. I found that the technologies were well explained.
- Terraform: Up & Running - Yevgeniy Brikman. Again, I read an early release version on Safari Books Online, but it's since gone to print. It of course does cover how to get started with Terraform, but also does a very good job introducing Infrastructure as Code, and a review of the different models of Configuration Management tools. If, like me, you've ever "racked and stacked" a physical server, it's a great summary of how we're now to treat servers as another version-controlled checked-in resource.
- Test-Driven Development with Python, 2nd edition - Harry Percival During my study for the exam, I kept taking detours to study interesting things, of which Harry's book was one. The book can be read online for free, on the basis that you're likely to agree that it's excellent and buy a copy. If you come from more of an Ops background, and want to understand how developers go about writing good code, this is an excellent place to start.
The AWS DevOps Engineer Pro exam is a hard exam, and the best preparation is lots of hands-on practice with the AWS tools and services, industry experience, and understanding how software is developed, and how it can be quickly deployed, re-deployed, scaled, and rolled back. The resources listed above will help you, but there are probably no short-cuts. Good luck!
This article was first published on LinkedIn