SOA-C02 Deployment, Provisioning, and Automation Practice Question
A SysOps administrator needs to deploy a new version of a web application to Amazon EC2 instances using AWS Elastic Beanstalk. The administrator wants to deploy the new version with zero downtime and validate the new version before routing production traffic to it. Which deployment policy should be used?
⚠ Common exam trap
A common mix-up: candidates confuse 'Traffic splitting' with 'canary testing' and assume it allows pre-validation, but in Elastic Beanstalk, traffic splitting immediately routes a percentage of live traffic to the new version, whereas immutable deployment keeps all traffic on the old version until the new version is fully validated and swapped.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Immutable
Immutable deployment is correct because it launches a completely new set of EC2 instances in a separate Auto Scaling group, deploys the new application version to them, and passes health checks before swapping the environment's CNAME record to point to the new instances. This ensures zero downtime and allows validation of the new version before any production traffic is routed to it, as the old instances remain untouched until the swap is complete.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
All at once
Why it's wrong here
All at once replaces every EC2 instance in the environment with the new application version simultaneously, without any pause for health checks. Because the update is performed in-place, the existing instances are terminated and new ones launched, which can cause a brief service outage as the ELB has no healthy capacity. This policy provides no ability to validate the new version before production traffic is routed; if a problem occurs, you must perform another all-at-once deployment to roll back, extending downtime.
- ✗
Rolling
Why it's wrong here
Rolling updates the application version in batches, so only a subset of instances is replaced at a time, which reduces the overall outage window compared to all-at-once. However, it is still an in-place deployment: the existing instances are modified in place, and your environment must continue serving traffic with reduced capacity during each batch. Because the old and new versions coexist and the new version begins receiving production traffic immediately once its batch is health-checked, you cannot fully validate the new version in isolation before traffic is shifted, and a failed batch may leave the environment degraded with no automatic rollback to the original version.
- ✓
Immutable
Why this is correct
The immutable deployment policy launches a completely new set of instances with the new application version. Once healthy, the environment's CNAME is switched to the new instances, providing zero downtime and the ability to validate the new version before traffic is routed.
- ✗
Traffic splitting
Why it's wrong here
Traffic splitting is a canary deployment method that incrementally shifts traffic to the new version. However, it still modifies the existing environment and can cause some traffic to be served by the new version before full validation.
Go deeper
Related to this question
About these practice questions
One of 247 original SOA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.