My preparation for AWS Certified DevOps Engineer — Professional exam
I completed my AWS Certified DevOps Engineer — Professional Certification exam with 936 score last week. I will say it is one of the most challenging and requires a lot of in-depth knowledge about integrating AWS services and automating everything. I thought it would be useful to share my experience, learning material and few observations from the exam. Hopefully, it will help someone who is preparing for the exam.
To start, I will say, take a good AWS DevOps Professional courses (Stéphane Mark is my favorite) to build your foundation strong. Also, Practice exams are a must. As they say, “Practice makes perfect”. At least for me it always works. Good to have Hand-On experience or On-Job Experience. I will suggest, to do lots of practice with suggested labs in the course and you can try practicing questions yourself on the AWS platform with a free account. Below is the list of online courses and practice exams I used for my preparation.
1- AWS Certified DevOps Engineer Professional 2020 — Hands On!
https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/
2- Acloudguru course
3- Practice Exam | AWS Certified DevOps Engineer Professional
https://www.udemy.com/course/aws-certified-devops-engineer-professional-practice-exam-dop/
4- AWS Certified DevOps Engineer Professional
https://www.whizlabs.com/aws-devops-certification-training/practice-tests/
5- AWS Certified DevOps Engineer Professional Practice Exams 2020
https://portal.tutorialsdojo.com/courses/aws-certified-devops-engineer-professional-practice-exams/
Some Tips:
1- Topics which in my opinion will cover lots of questions in exams are:
SSM parameter stores, secrets manager, KMS to decrypt/encrypt secrets, ECS, ECR, Beanstalk, Code pipeline, AWS CloudFormation, Cloud watch events, AWS config, Lambda, Kinesis, AWS Organizations (got couple of questions)
2- Most of the questions combine a couple of different AWS services and test your knowledge on how services can be integrated. Always look for combinations like
AWS KMS + Systems Manager Parameter Store + hybrid automation
Cloud watch events and lambda for automation.
Invoke an AWS Lambda Function in a Pipeline in CodePipeline
3- AWS blogs are the best resource for preparation. You will find that many of the questions are based on AWS blogs.
4- AWS Exam guide from below link will be a great place to start and follow along while preparing.
Introduction to DevOps on AWS — Great read
AWS Certified DevOps Engineer — Professional (DOP-001) Sample Exam Questions
Useful reading:
“Stephane Maarek” has given a list of the readings on his course. I took the same and updated these listed with additional AWS blogs and articles for each domain which I found useful. I know this list seems a lot, but this exam really needs and lot of reading and practical experience. So enjoy the readings and Best of luck :)
Domain 1: SDLC Automation — 22% exam question will be from this section
CodeCommit
· https://www.atlassian.com/git/tutorials/using-branches
· https://aws.amazon.com/blogs/devops/refining-access-to-branches-in-aws-codecommit/
· https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify.html
· https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-repository-email.html )
· https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-lambda.html
· https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-migrate-repository-existing.html
CodeBuild
· https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html
· https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html
· https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html
· https://docs.aws.amazon.com/codebuild/latest/userguide/samples.html
· https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html
CodeDeploy
· https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-stop.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-cloudwatch-events.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises-register-instance.html
· https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_MinimumHealthyHosts.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-cloudwatch-events.html
· https://aws.amazon.com/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/
· https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring-sns-event-notifications.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html
· https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html
CodePipeline
· https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-create-custom-action.html
· https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
· https://docs.aws.amazon.com/codepipeline/latest/userguide/best-practices.html#use-cases
· https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html
· https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-create-custom-action.html
· https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html
· https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline.html
· https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-cloudformation.html
· https://github.com/aws-samples/codepipeline-nested-cfn
CodePipeline-Nested-CFN
https://github.com/aws-samples/codepipeline-nested-cfn
Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy
CodeStar
· https://docs.aws.amazon.com/codestar/latest/userguide/templates.html
AWS deploy — Rollback — alarm
Blue/Green Deployments on AWS
https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf
Practicing Continuous Integration Continuous Delivery on AWS
https://d1.awsstatic.com/whitepapers/DevOps/practicing-continuous-integration-continuous-delivery-on-AWS.pdf
Jenkins on AWS
https://d1.awsstatic.com/whitepapers/DevOps/Jenkins_on_AWS.pdf
Development and Test on AWS
https://d1.awsstatic.com/whitepapers/aws-development-test-environments.pdf
Domain 2: Configuration Management and Infrastructure as Code — 19% exam question will be from this section
CloudFormation:
· https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html
· https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requesttypes-delete.html
· https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html
· https://stackoverflow.com/a/45007029/3019499
· https://stackoverflow.com/a/41468341/3019499
· https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
Beanstalk
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html
· https://github.com/aws/aws-elastic-beanstalk-cli-setup
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-advanced.html
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions-optionsettings.html
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-resources.html
· https://stackoverflow.com/a/40096352/3019499
· https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config.html
Lambda:
· https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
· https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html
Step Functions
· https://aws.amazon.com/step-functions/use-cases/
API Gateway
· https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/
· https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
· https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-api-gateway.html
ECS
· https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html
· https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html
· https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html
· https://ecsworkshop.com/introduction/cicd/
· https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html
· https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html
Opsworks
· https://docs.aws.amazon.com/opsworks/latest/userguide/welcome_classic.html
· https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-events.html
· https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json.html
Domain 3: Monitoring and Logging — 15% exam question will be from this section
CloudTrail:
· https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-intro.html
· https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-cli.html
· https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-sharing-logs.html
CloudWatch:
· https://aws.amazon.com/premiumsupport/knowledge-center/cloudwatch-custom-metrics/
· https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric
· https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Counting404Responses.html
· https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html
· https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample
· https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html
· https://docs.aws.amazon.com/awssupport/latest/user/cloudwatch-events-ta.html
X-Ray:
· https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html
Amazon ES:
· https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_ES_Stream.html
Tagging in AWS
· https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
Domain 4: Policies and Standards Automation — 10% exam question will be from this section
AWS Systems Manager
· https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-managed-instance-activation.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-patchgroups.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-aws-apis-calling.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/activations.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html
· https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-cf.html
· https://github.com/miztiik/AWS-Demos/tree/master/How-To/setup-ami-lifecycle-management-using-ssm
AWS Config
· https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html
· https://docs.aws.amazon.com/config/latest/developerguide/monitor-config-with-cloudwatchevents.html
· https://docs.aws.amazon.com/config/latest/developerguide/notifications-for-AWS-Config.html
· https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html
AWS Inspector
https://aws.amazon.com/blogs/awsmarketplace/announcing-the-golden-ami-pipeline
AWS Health
https://status.aws.amazon.com/
https://github.com/aws/aws-health-tools/tree/master/automated-actions/AWS_RISK_CREDENTIALS_EXPOSED
AWS Trusted Advisor
https://github.com/aws/Trusted-Advisor-Tools/tree/master/LowUtilizationEC2Instances
https://aws.amazon.com/premiumsupport/technology/trusted-advisor/best-practice-checklist/
https://github.com/aws/Trusted-Advisor-Tools/tree/master/ExposedAccessKeys/stepbystep
https://docs.aws.amazon.com/awssupport/latest/user/cloudwatch-events-ta.html
https://github.com/aws/Trusted-Advisor-Tools
https://github.com/aws/Trusted-Advisor-Tools/tree/master/ExposedAccessKeys
https://github.com/aws/Trusted-Advisor-Tools/tree/master/HighUtilizationEC2Instances
https://docs.aws.amazon.com/awssupport/latest/user/cloudwatch-metrics-ta.html
https://aws.amazon.com/premiumsupport/technology/trusted-advisor/
https://docs.aws.amazon.com/cli/latest/reference/support/index.html#cli-aws-support
AWS Macie
Domain 5: Incident and Event Response- 18% exam question will be from this section
Domain 6: High Availability, Fault Tolerance, and Disaster Recovery- 16% exam question will be from this section
Auto Scaling
https://gist.github.com/mikepfeiffer/d27f5c478bef92e8aff4241154b77e54
http://docs.aws.amazon.com/autoscaling/latest/userguide/as-suspend-resume-processes.html
https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
https://github.com/aws-samples/aws-lambda-lifecycle-hooks-function
https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
https://aws.amazon.com/blogs/devops/use-a-creationpolicy-to-wait-for-on-instance-configurations/
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html
https://aws.amazon.com/premiumsupport/knowledge-center/auto-scaling-group-rolling-updates/
https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html
https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf
DynamoDB
https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html#Streams.Processing
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-how-to.html
Multi-AZ
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
Multi-Region
https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-getting-started.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html
https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-create-cross-region.html
https://aws.amazon.com/blogs/devops/using-aws-codepipeline-to-perform-multi-region-deployments/
Disaster Recovery
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-simple-configs.html
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html
https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-migrating.html
https://stackoverflow.com/questions/20337749/exporting-dns-zonefile-from-amazon-route-53
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-savedconfig.html
On-Premise
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html
https://aws.amazon.com/application-discovery/
Multi-Account
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions.html
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CreateDestination.html
https://aws.amazon.com/premiumsupport/knowledge-center/streaming-cloudwatch-logs/
https://aws.amazon.com/premiumsupport/knowledge-center/streaming-cloudwatch-logs/
some more useful links 😊
https://aws.amazon.com/pt/blogs/architecture/central-logging-in-multi-account-environments/
https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-events.html
https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-overview.html
https://docs.aws.amazon.com/opsworks/latest/userguide/create-custom-configure.html
https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/
https://aws.amazon.com/route53/faqs/
https://docs.aws.amazon.com/en_us/AmazonECS/latest/developerguide/task_definition_parameters.html
https://aws.amazon.com/pt/blogs/devops/refining-access-to-branches-in-aws-codecommit/
https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html
https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html
https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-inventory.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html
https://stelligent.com/2017/03/09/using-parameter-store-with-aws-codepipeline/
https://aws.amazon.com/blogs/startups/large-scale-disaster-recovery-using-aws-regions/
https://aws.amazon.com/premiumsupport/knowledge-center/opsworks-unexpected-start-instance/
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-aws-config.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-crossstackref.html
https://aws.amazon.com/premiumsupport/knowledge-center/s3-403-upload-bucket/
https://docs.amazonaws.cn/en_us/AmazonS3/latest/API/ErrorResponses.html
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html
https://www.1strategy.com/blog/2019/02/28/aws-parameter-store-vs-aws-secrets-manager/
https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html
https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
https://aws.amazon.com/dynamodb/dax/
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html
https://aws.amazon.com/blogs/devops/using-aws-codepipeline-to-perform-multi-region-deployments/
https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html
https://aws.amazon.com/blogs/mt/monitor-changes-and-auto-enable-logging-in-aws-cloudtrail/
https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html
https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html