DVA-C02 Question 314
Single answerYou are deploying a new version of a critical microservice in your application using AWS Elastic Beanstalk. The application must maintain availability during the deployment process, and you want to validate the new version with a small percentage of users before fully switching over. Which deployment strategy should you use?
- A
All-at-once deployment
- B
Blue/green deployment
- C
Canary deployment
- D
Rolling deployment
Show answer and explanation
Correct answer: C
Explanation
Canary deployment is the most appropriate strategy for this scenario because it allows the new version to be tested with a small percentage of users before fully rolling it out. This approach minimizes risk while maintaining application availability, ensuring that any issues with the new version can be addressed without impacting all users. Other strategies, such as all-at-once or rolling deployments, do not provide the same level of risk mitigation or gradual validation.
- A. Incorrect.
All-at-once deployment replaces all instances with the new version simultaneously. While fast, this does not allow gradual validation of the new version and may result in downtime if the new version has issues.
- B. Incorrect.
Blue/green deployment involves creating a completely separate environment for the new version, allowing for testing before traffic is switched over entirely. However, it does not involve gradually shifting traffic to the new version for validation with a small percentage of users.
- C. Correct.
Canary deployment allows a small percentage of traffic to be routed to the new version first. This approach minimizes risk by validating the new version with a subset of users before rolling it out to all users, making it the best fit for the scenario.
- D. Incorrect.
Rolling deployment gradually replaces instances with the new version in batches. While it maintains availability, it does not allow targeting a small percentage of users for validation like a canary deployment does.