Question #619
A company has deployed an application on AWS Elastic Beanstalk. The Auto Scaling group associated with the environment is configured with five Amazon EC2 instances. The application requires a minimum of four instances to maintain performance during deployment. The company is currently using the rolling deployment policy with a batch size of 2.
What is the MOST cost-effective way to prevent performance degradation during deployments?
Change the deployment policy to all-at-once.
Change the deployment policy to traffic splitting. Specify an evaluation time of 45 minutes.
Change the deployment policy to rolling with additional batch. Specify a batch size of 1.
Change the deployment policy to rolling. Specify a batch size of 3.
Explanation
The correct answer is C. The application requires a minimum of 4 instances to maintain performance. The current rolling deployment with a batch size of 2 reduces the instance count to 3 (5 - 2), causing degradation. Option C uses a rolling deployment with an additional batch and a batch size of 1. This method adds 1 new instance (total 6), then terminates 1 old instance, keeping the count at 5 during deployment. This ensures the instance count never drops below 4, meeting the requirement. Other options are less suitable: A (all-at-once) drops instances to 0; B (traffic splitting) may require extra instances beyond the ASG's capacity; D (batch size 3) reduces instances to 2. Rolling with additional batch is cost-effective as it only temporarily adds instances during deployment.
Answer
The correct answer is: C