Question

Difficulty: MediumDeployment Strategy Design

A company is designing a deployment pipeline for a new microservice running on AWS Lambda behind an Amazon API Gateway. The business requires a deployment strategy that minimizes blast radius by routing a small portion of traffic to the new version initially. The traffic allocation must steadily increase in equal increments of 10%10\% every 33 minutes until the new version receives all traffic. If any CloudWatch alarms are triggered during the deployment, AWS CodeDeploy must automatically roll back the changes. Which CodeDeploy deployment configuration should the solutions architect select to meet these requirements?

  1. CodeDeployDefault.LambdaLinear10PercentEvery3MinutesAnswer
  2. B
    CodeDeployDefault.LambdaCanary10Percent30Minutes
  3. C
    CodeDeployDefault.LambdaLinear10PercentEvery10Minutes
  4. D
    CodeDeployDefault.LambdaCanary10Percent5Minutes

Answer

CodeDeployDefault.LambdaLinear10PercentEvery3Minutes
The correct configuration is CodeDeployDefault.LambdaLinear10PercentEvery3Minutes because it shifts traffic to the new Lambda function version in equal increments of 10%10\% every 33 minutes until the transition is complete. Combining this configuration with CloudWatch alarms associated with the CodeDeploy deployment group enables automated, rapid rollbacks if any issues are detected.

Step-by-Step Solution

1
Analyze the traffic routing pattern requirement
The requirement specifies a steady, incremental increase of 10%10\% every 33 minutes, which points to a linear traffic shifting strategy rather than a canary strategy.
Linear strategies shift traffic in equal increments at regular intervals, while canary strategies shift a fixed percentage for a duration before shifting the rest all at once.
2
Identify the predefined CodeDeploy configurations for AWS Lambda linear shifting
The predefined linear configuration that matches the 10%10\% increment and 33-minute interval is CodeDeployDefault.LambdaLinear10PercentEvery3Minutes.
This configuration matches the required traffic increment (10%10\%) and time interval (33 minutes) exactly.
3
Configure the automated rollback triggers
Associate the CloudWatch alarms with the deployment group in CodeDeploy.
CodeDeploy monitors these alarms during the deployment process and automatically rolls back if any alarm is triggered.

Key Concept

AWS CodeDeploy deployment configurations for AWS Lambda define how traffic is shifted from the old version of a Lambda function to the new version. Linear configurations shift traffic in equal increments at regular intervals, whereas canary configurations shift a small percentage first and the remainder after a set duration.
Rate this question