Question

Difficulty: MediumDeployment Strategies

A developer needs to update a web application running on an AWS Elastic Beanstalk environment. The update must be performed with zero downtime. Due to strict budget constraints, the environment must not provision any additional Amazon EC2 instances during the deployment process. The development team is willing to accept a temporary reduction in application capacity while the update is in progress. Which deployment strategy should the developer configure?

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

Answer

Rolling
The Rolling deployment strategy updates instances in-place in batches. Because it uses the existing instances to perform the update and does not launch additional instances, it complies with the budget constraint. It keeps the remaining instances in service during the batch updates, satisfying the zero-downtime requirement at the expense of a temporary reduction in capacity.

Step-by-Step Solution

1
Analyze the requirements and constraints in the scenario.
Requirements identified: 1. Zero downtime. 2. No additional EC2 instances allowed due to budget. 3. Temporary capacity reduction is acceptable.
Understanding the constraints is necessary to eliminate unsuitable deployment options.
2
Evaluate the available AWS Elastic Beanstalk deployment policies against the constraints.
All-at-once causes downtime. Immutable and Rolling with additional batch launch new EC2 instances. Rolling updates existing instances in batches without provisioning extra instances.
To find the strategy that satisfies both zero-downtime and zero additional instance creation.
3
Select the strategy that meets all constraints.
Rolling is the correct selection as it updates instances in-place in batches, incurring no extra instance costs and maintaining service availability at reduced capacity.
Ensures the selected option fulfills the application requirements.

Key Concept

AWS Elastic Beanstalk deployment policies allow developers to balance application availability, capacity, and cost during updates.
Rate this question