Question

Difficulty: MediumDeployment Strategies

A developer is planning the deployment of a new version of a critical web application hosted on AWS Elastic Beanstalk. The application runs on a fleet of Amazon EC2 instances managed by an Auto Scaling group behind an Application Load Balancer. The deployment must satisfy the following constraints:

* The update must be rolled out with zero downtime.
* The application must maintain 100%100\% of its instance capacity to handle the current traffic load at all times during the deployment.
* In the event of a deployment failure, the application must support an immediate rollback to the previous version without requiring a full redeployment of the original code.

Which two deployment strategies meet these requirements? (Select two.)

  1. Blue/Green deploymentAnswer
  2. Immutable deploymentAnswer
  3. C
    Rolling with additional batch deployment
  4. D
    Rolling deployment
  5. E
    All at once deployment

Answer

Blue/Green deployment and Immutable deployment
Blue/Green deployment and Immutable deployment satisfy all requirements. Blue/Green deployment provisions a separate environment with the new version and performs a DNS CNAME swap, keeping both environments at 100%100\% capacity and allowing an instant swap back in case of failure. Immutable deployment creates a temporary Auto Scaling group with the new version alongside the existing one, maintaining 100%100\% capacity, and immediately rolls back by terminating the new Auto Scaling group if the deployment fails.

Step-by-Step Solution

1
Analyze the capacity requirement.
Since the application must maintain 100%100\% of its instance capacity during the deployment, strategies that take existing instances out of service (like Rolling and All at once) are disqualified.
To ensure there is no performance degradation under high load.
2
Analyze the rollback requirement.
The rollback must be immediate and not require a full redeployment. This disqualifies Rolling with additional batch deployment, where rollback requires redeploying the old version onto updated instances.
To minimize the duration of service issues if the new version is buggy.
3
Evaluate the remaining options.
Blue/Green deployment (via CNAME swap) and Immutable deployment both run a full set of new instances alongside the old ones (maintaining 100%100\% capacity) and support immediate rollback (by swapping CNAMEs back or terminating the temporary Auto Scaling group, respectively).
Both strategies satisfy all the constraints in the scenario.

Key Concept

AWS Elastic Beanstalk deployment strategies trade-offs including capacity, downtime, and rollback mechanisms.
Rate this question