A company uses AWS CloudFormation to deploy an application that uses an Amazon API
Gateway REST API with AWS Lambda function integration. The application uses Amazon
DynamoDB for data persistence. The application has three stages: development,
testing, and production. Each stage uses its own DynamoDB
table.
The company has encountered unexpected issues when promoting changes to the production stage. The changes were successful in the development and testing stages. A developer needs to route 20% of the traffic to the new production stage API with the next production release. The developer needs to route the remaining 80% of the traffic to the existing production stage. The solution must minimize the number of errors that any single customer experiences.
Which approach should the developer take to meet these requirements?
- Update 20% of the planned changes to the production stage. Deploy the new production stage. Monitor the results. Repeat this process five times to test all planned changes.
- Update the Amazon Route 53 DNS record entry for the production stage API to use a weighted routing policy. Set the weight to a value of 80. Add a second record for the production domain name. Change the second routing policy to a weighted routing policy. Set the weight of the second policy to a value of
20. Change the alias of the second policy to use the testing stage API. - Deploy an Application Load Balancer (ALB) in front of the REST API. Change the production API Amazon Route 53 record to point traffic to the ALB.
Register the production and testing stages as targets of the ALB with weights of 80% and 20%, respectively. - Configure canary settings for the production stage API. Change the percentage of traffic directed to canary deployment to 20%. Make the planned updates to the production stage. Deploy the changes
Reveal Solution Next Question