I passed the exam on November 30th, 2018. Before taking this exam, I had already achieved my SA Pro. There is a fair amount of overlap between the two tests - I would highly recommend taking the SA Pro before this exam. I scored an 85% on the exam.
This exam is fairly difficult, although I would argue it’s slightly easier than the Solutions Architect Professional exam. There is a greater focus on implementation and debugging in the DevOps exam - the SA Pro exam is more about breadth of knowledge across AWS services.
Remember to solve exactly what the question is asking. If they want performance, give them read replicas, sharding, PIOPS, etc. If they want elasticity and high availability, start using Multi-AZ, cross-region replication, Auto Scaling Groups, ELB’s, etc. If they are worried about cost, remember the S3 storage classes, and use AutoScaling groups to scale down unnecessary instances.
The basic stages of a Continuous Integration pipeline are Source Control -> Build -> Staging -> Production.
ELB can be configured to publish logs at a 5 or 60 minute interval. Access logs are disabled by default.
When an instance is launched by Autoscaling, the instance can be in the pending state for up to 60 minutes by default.
Cloudwatch logs can be streamed to Kinesis, Lambda, or ElasticSearch for further processing.
The fastest deployment times in Elastic Beanstalk are achieved using the All At Once deployment method.
Generally, if you see Docker, think Elastic Beanstalk!
AWS OpsWorks Stacks agents communicate regularly. If an agent does not communicate with the service for more than approximately five minutes, AWS OpsWorks Stacks considers the instance to have failed.
You can configure an Opswork stack to accept custom cookbooks after creation. Just enable the option.
Speaking of custom cookbooks, remember that the custom cookbook option is enabled at the stack level, not the layer level.
The CodeDeploy service relies on a appspec.yml file included with your source code binaries on an EC2/On-Premises Compute Platform.
A nested stack is a stack that you create within another stack by using the AWS::CloudFormation::Stack resource.
When attempting to secure data in transit through an ELB, remember you can use either an HTTPS or SSL listener.
AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. Note: Subversion is not supported.
CodeDeploy offers two deployment types: In-place deployment and Blue-Green deployment.
A Dockerrun.aws.json file is an Elastic Beanstalk–specific JSON file that describes how to deploy a set of Docker containers as an Elastic Beanstalk application.
This exam is extremely tough to parse at first glance. There are lots of grammatical twists and turns that are not present in typical exams. You may need to check your proposed architecture against the question 4-5 times to ensure that you are solving the right problem.
Remember to use the NoEcho property in CloudFormation templates to prevent a describe command from listing sensitive values, such as passwords.
You really need to understand the lifecycle of an EC2 instance (pictured below) being brought into service.