AWS Certified Developer – Associate / Question #691 of 557

Question #691

A company is updating their serverless application's AWS Lambda functions using AWS CodeDeploy. The deployment must ensure that any errors are detected early without impacting all users and must complete as quickly as possible within maintenance windows. The production environment cannot tolerate downtime outside these windows.

Which deployment configuration will meet these requirements with the LEAST deployment time?

A

Use the AWS CodeDeploy in-place deployment configuration for the Lambda functions. Shift all traffic immediately after deployment.

B

Use the AWS CodeDeploy linear deployment configuration to shift 15% of the traffic every 3 minutes.

C

Use the AWS CodeDeploy all-at-once deployment configuration to shift all traffic to the updated versions immediately.

D

Use the AWS CodeDeploy predefined canary deployment configuration to shift 15% of the traffic immediately and shift the remaining traffic after 3 minutes.

Explanation

Option D (Canary) is correct because it deploys updates to 15% of traffic immediately, allowing early error detection without impacting all users. If no issues are detected, the remaining 85% is shifted after 3 minutes, ensuring minimal deployment time.

Other options fail because:
- A (In-place) and C (All-at-once) risk impacting all users if errors occur.
- B (Linear) takes longer (15% every 3 minutes) and delays completion.

Key Points:
1. Canary deployments test updates on a small traffic portion first.
2. Predefined canary minimizes downtime and deployment time.
3. Maintenance windows require fast, safe rollouts.

Answer

The correct answer is: D