An online banking consortium is implementing a serverless wire transfer API. The backend logic is hosted on AWS Lambda functions, fronted by Amazon API Gateway. The compliance department mandates that any updates to the transfer Lambda function must undergo automated end-to-end transaction validation in the production environment before any actual user traffic is routed to the new code. If validation succeeds, the new version must be gradually introduced, starting at of live traffic, scaling up by every 10 minutes, until it handles of the workload. If the error rate of the new version exceeds or if the validation fails at any point, the system must immediately and automatically roll back to the previous stable version with zero downtime. Which of the following configurations represents the most operationally efficient deployment strategy that meets these requirements?
- AConfigure AWS CodeDeploy to use a custom deployment configuration defined with a linear traffic shifting type, a step percentage of , and a step interval of 10 minutes. In the AppSpec file, define an `AfterAllowTraffic` hook pointing to a validation Lambda function that executes the end-to-end transaction tests. Associate a CloudWatch Alarm monitoring the Lambda function's error rate with the CodeDeploy deployment group to trigger automatic rollbacks.
- BConfigure Amazon API Gateway with two stages: Production and Canary. Set up a Route 53 weighted routing policy between the two stages, starting with a weight on the Canary stage. Use an AWS CodePipeline pipeline to trigger a Lambda function that gradually increases the Route 53 weights by every 10 minutes. Define a `BeforeAllowTraffic` hook in the pipeline to execute the validation tests before updating the Route 53 weights.
- Configure AWS CodeDeploy to use a custom deployment configuration defined with a linear traffic shifting type, a step percentage of , and a step interval of 10 minutes. In the AppSpec file, define a `BeforeAllowTraffic` hook pointing to a validation Lambda function that executes the end-to-end transaction tests. Associate a CloudWatch Alarm monitoring the Lambda function's error rate with the CodeDeploy deployment group to trigger automatic rollbacks.Answer
- DConfigure AWS CodeDeploy with the predefined `LambdaLinear10PercentEvery10Minutes` deployment configuration. In the AppSpec file, define a `BeforeAllowTraffic` hook pointing to a validation Lambda function that executes the end-to-end transaction tests. Configure AWS Lambda alias routing manually via an AWS Step Functions state machine to throttle the traffic shifting rate to steps to meet the compliance requirement.