A developer is designing a deployment pipeline for a critical microservice on AWS. The deployment process must ensure zero downtime, allow testing of the new application version with a small fraction of production traffic before shifting all traffic, and support automatic rollback if CloudWatch alarms detect errors.
Which two deployment strategies or configurations will satisfy these requirements?
- An AWS CodeDeploy Canary deployment for an AWS Lambda functionAnswer
- An AWS CodeDeploy Linear deployment for an Amazon ECS serviceAnswer
- CAn AWS Elastic Beanstalk All-at-Once deployment
- DAn Amazon ECS Rolling Update with a minimum healthy percent of 100% and a maximum percent of 200%
- EAn AWS Elastic Beanstalk Rolling deployment
Answer
The deployment configurations that satisfy the requirements are the AWS CodeDeploy Canary deployment for an AWS Lambda function and the AWS CodeDeploy Linear deployment for an Amazon ECS service.
The correct strategies are the AWS CodeDeploy Canary deployment for an AWS Lambda function and the AWS CodeDeploy Linear deployment for an Amazon ECS service. Both configurations leverage traffic shifting (either at the Lambda alias level or via an Application Load Balancer target group for ECS) to route a small percentage of production traffic to the new version. Additionally, CodeDeploy monitors CloudWatch alarms during the deployment and can trigger an automatic, near-instantaneous rollback if errors are detected.
Step-by-Step Solution
Key Concept
Gradual traffic shifting and automated rollback using AWS CodeDeploy configurations for Lambda and ECS.
Estimated Time:2m 0s