How should the company deploy the updates to meet these requirements?
Create a second ALB, and deploy the new logic to a set of EC2 instances in a new Auto Scaling group. Configure the ALB to distribute traffic to the EC2 instances. Update the Route 53 record to use weighted routing, and point the record to both of the ALBs.
Create a second target group that is referenced by the ALDeploy the new logic to EC2 instances in this new target group. Update the ALB listener rule to use weighted target groups. Configure ALB target group stickiness.
Create a new launch configuration for the Auto Scaling group. Specify the launch configuration to use the AutoScalingRollingUpdate policy, and set the MaxBatchSize option to 10. Replace the launch configuration on the Auto Scaling group. Deploy the changes.
Create a second Auto Scaling group that is referenced by the ALB. Deploy the new logic on a set of EC2 instances in this new Auto Scaling group. Change the ALB routing algorithm to least outstanding requests (LOR). Configure ALB session stickiness.
Explanations:
Creating a second ALB is unnecessary. The problem can be solved with a single ALB and weighted routing. Additionally, using two ALBs complicates the architecture and isn’t required to meet the 10% testing window.
This option is valid because it uses a single ALB and creates a second target group for the new logic. The ALB can perform weighted routing between the target groups, and stickiness ensures that customers stay on the same version during the testing window.
The Auto Scaling rolling update policy is useful for updating instances gradually, but it doesn’t directly address the 10% testing requirement or ensure stickiness of customers to the same version during the testing window. It would cause EC2 instances to gradually receive the update, but not control traffic distribution.
The least outstanding requests (LOR) algorithm and session stickiness are not the best way to ensure 10% of users get the new version and stick to it during the testing window. LOR may distribute traffic unevenly, and stickiness won’t guarantee exactly 10% of users get the new version.