Question

Difficulty: MediumDeployment Strategies

A developer is deploying a new version of a critical web application to AWS Elastic Beanstalk. The deployment must satisfy the following constraints:

- The application must maintain 100%100\% of its serving capacity throughout the deployment process to handle high user traffic without performance degradation.
- In the event of a deployment failure, the application must support an immediate rollback to the previous version without requiring a rolling update of the older version.
- The development team has approved a temporary increase in resource capacity to allow up to twice the normal instance count during the deployment.

Which deployment strategy will meet these requirements?

  1. ImmutableAnswer
  2. B
    Rolling with additional batch
  3. C
    Rolling
  4. D
    All-at-once

Answer

The Immutable deployment strategy satisfies all the constraints by maintaining full capacity during deployment, supporting immediate rollback, and utilizing a temporary doubling of instance resources.
The Immutable deployment strategy deploys the new version to a separate, temporary Auto Scaling group alongside the existing one. This preserves 100%100\% capacity throughout the deployment. If health checks fail, the rollback is immediate because Elastic Beanstalk simply terminates the new Auto Scaling group without affecting the original instances. This strategy temporarily doubles the resource count, which is acceptable under the approved budget increase.

Step-by-Step Solution

1
Analyze the capacity requirement.
The application must maintain 100%100\% capacity during the deployment. This rules out All-at-once (causes downtime) and Rolling (reduces capacity during deployment).
To identify strategies that can sustain the required traffic load without performance degradation.
2
Evaluate the rollback and budget constraints.
The rollback must be immediate and clean. Additionally, a temporary doubling of instance capacity is allowed. This matches the Immutable strategy, which deploys to a temporary Auto Scaling group and can be quickly terminated upon failure. Rolling with additional batch is ruled out because its rollback requires a slow rolling deployment of the older version.
To determine which of the remaining strategies satisfies both the recovery time objective and the resource availability parameters.

Key Concept

Understanding the trade-offs of AWS Elastic Beanstalk deployment strategies, specifically regarding capacity preservation, rollback mechanism, and temporary cost overhead.
Estimated Time:1m 30s
Rate this question