AWS Certified DevOps Engineer – Professional — Question 74
An ecommerce company is looking for ways to deploy an application on AWS that satisfies the following requirements:
• Has a simple and automated application deployment process.
• Has minimal deployment costs while ensuring that at least half of the instances are available to receive end-user requests.
• If the application fails, an automated healing mechanism will replace the affected instances.
Which deployment strategy will meet these requirements?
Answer options
- A. Create an AWS Elastic Beanstalk environment and configure it to use Auto Scaling and an Elastic Load Balancer. Use rolling deployments with a batch size of 50%.
- B. Create an AWS OpsWorks stack. Configure the application layer to use rolling deployments as a deployment strategy. Add an Elastic Load Balancing layer. Enable auto healing on the application layer.
- C. Use AWS CodeDeploy with Auto Scaling and an Elastic Load Balancer. Use the CodeDeployDefault.HalfAtAtime deployment strategy. Enable an Elastic Load Balancing health check to report the status of the application, and set the Auto Scaling health check to ELB.
- D. Use AWS CodeDeploy with Auto Scaling and an Elastic Load Balancer. Use a blue/green deployment strategy. Enable an Elastic Load Balancing health check to report the status of the application, and set the Auto Scaling health check to ELB.
Correct answer: C
Explanation
Option C is correct because it utilizes AWS CodeDeploy with a deployment strategy that ensures half of the instances are available while automatically checking for health, which aligns with the requirement for minimal costs and automated healing. Options A and B do not provide the specific deployment strategy needed, and Option D's blue/green strategy does not meet the requirement to maintain at least half of the instances available during deployment.