DOP-C02 Question 201
Select 3Your organization runs a critical web application on AWS using an Auto Scaling group behind an Application Load Balancer (ALB). Recently, a deployment caused unexpected downtime due to misconfigured application code. To improve recovery procedures and minimize future downtime, your team decides to implement a rollback mechanism. Which of the following approaches would facilitate an automated rollback in case of deployment failure?
- A
Enable AWS CodeDeploy with blue/green deployments and configure automatic rollback on deployment failure.
- B
Use AWS CloudFormation with a stack policy that prevents updates to critical resources during a rollback.
- C
Integrate Amazon CloudWatch Alarms with an AWS Lambda function to trigger a rollback by redeploying the last known good version.
- D
Leverage AWS Elastic Beanstalk with enhanced health monitoring and configure it to automatically roll back to the previous version if health checks fail.
- E
Use S3 Versioning to store application code and manually deploy the previous version in case of failure.
Show answer and explanation
Correct answers: A, C, D
Explanation
Automated recovery procedures are crucial for minimizing downtime during deployment failures. AWS CodeDeploy with blue/green deployments allows seamless rollback by redirecting traffic. CloudWatch Alarms paired with Lambda can automate rollback actions based on failure metrics. Elastic Beanstalk offers built-in rollback capabilities for failed deployments. However, solutions like manual S3 Versioning or CloudFormation stack policies do not provide fully automated rollback mechanisms, making them unsuitable for this scenario.
- A. Correct.
Enabling AWS CodeDeploy with blue/green deployments and automatic rollback ensures that in case of deployment failure, the traffic is redirected back to the last working environment without manual intervention.
- B. Incorrect.
AWS CloudFormation stack policies are used to protect critical resources from updates but do not automatically facilitate application rollbacks in case of deployment failure.
- C. Correct.
Integrating CloudWatch Alarms with a Lambda function can automate rollbacks by triggering redeployment of a stable version when pre-configured failure thresholds are met.
- D. Correct.
AWS Elastic Beanstalk’s enhanced health monitoring can detect deployment failures and automatically roll back to the last successful version, ensuring minimal downtime.
- E. Incorrect.
While S3 Versioning provides a way to store previous versions of application code, the rollback process would require manual intervention, making it unsuitable for automated recovery procedures.