A solutions architect is designing the deployment strategy for a critical transaction processing microservice running on Amazon ECS with the AWS Fargate launch type behind an Application Load Balancer (ALB). The business requires a deployment strategy that minimizes the blast radius of new releases by routing exactly of client traffic to the new version initially. The remaining of traffic must be routed to the new version after a 10-minute observation period, provided no errors are detected. If the microservice experiences an elevated 5XX error rate during the transition, the system must execute an automated rollback to the previous version within 2 minutes. Which deployment strategy and configuration should the solutions architect select to satisfy these requirements?
- Configure an AWS CodeDeploy blue/green deployment for the Amazon ECS service using the CodeDeployDefault.ECSCanary10Percent10Minutes deployment configuration, and associate CloudWatch alarms on the ALB target group's 5XX error rate directly with the CodeDeploy deployment group.Answer
- BConfigure an AWS CodeDeploy blue/green deployment for the Amazon ECS service using the CodeDeployDefault.ECSLinear10PercentEvery10Minutes deployment configuration, and configure an AWS Lambda function triggered by a CloudWatch Event rule to delete the new task set if the ALB 5XX error rate alarm is triggered.
- CConfigure an Amazon ECS rolling update by setting the MinimumHealthyPercent to 100 and MaximumPercent to 200, and use AWS CloudFormation rollback triggers based on CloudWatch alarms monitoring the ALB target group's 5XX error rate.
- DDeploy the new version as a separate Amazon ECS service, use AWS Route 53 weighted routing policies to distribute traffic between the two ECS service load balancers with a 10/90 ratio, and configure Route 53 DNS failover based on health checks to roll back traffic.