Question

Difficulty: MediumDeployment Strategies

A developer is planning to deploy a new version of an application on AWS Elastic Beanstalk. The application is currently running in a single production environment containing 44 Amazon EC2 instances behind an Application Load Balancer. The deployment must meet the following constraints:
- The environment must maintain 100%100\% of its processing capacity (44 active instances) during the deployment process.
- To control cost, the developer must not create a separate, duplicate Elastic Beanstalk environment or perform a DNS swap.
- The rollback process must be fully automated in the event that the new version fails application health checks.

Which Elastic Beanstalk deployment policy should the developer select?

  1. A
    Rolling with additional batch
  2. ImmutableAnswer
  3. C
    Rolling
  4. D
    Blue/Green environment swap

Answer

The Immutable deployment policy should be selected because it maintains 100%100\% capacity by deploying the new version to a temporary Auto Scaling group, automatically rolls back if health checks fail, and operates within a single Elastic Beanstalk environment.
The Immutable deployment policy satisfies all constraints. It maintains 100%100\% capacity by launching a temporary Auto Scaling group with the new version alongside the original instances. If the new version fails health checks, Elastic Beanstalk automatically deletes the temporary Auto Scaling group, rolling back the deployment. Additionally, it avoids the overhead of managing a separate Elastic Beanstalk environment.

Step-by-Step Solution

1
Analyze the capacity requirement during deployment.
The environment must maintain 100%100\% of its processing capacity (44 active instances) at all times.
This rules out the standard Rolling deployment policy, which takes some instances offline to update them, reducing active capacity.
2
Analyze the rollback requirement.
The deployment must automatically roll back to the previous version without manual intervention if health checks fail.
This rules out Rolling with additional batch, which requires a manual rollback deployment if the new version is unhealthy.
3
Analyze the environment management and cost constraint.
The developer must avoid creating a separate environment or performing a DNS swap.
This rules out the Blue/Green environment swap strategy, leaving the Immutable policy as the only one satisfying all constraints.

Key Concept

AWS Elastic Beanstalk deployment policies and their trade-offs regarding capacity, rollback behavior, and environment overhead.
Rate this question