Courseiva
DeploymenthardMultiple ChoiceObjective-mapped

Choosing the Right CodeDeploy Deployment Configuration for Availability and Speed

A developer is using AWS CodeDeploy to deploy an application to an Auto Scaling group of EC2 instances. The application is critical and must have zero downtime. The Auto Scaling group currently has 4 instances spread across 2 Availability Zones. Which predefined deployment configuration minimizes the number of instances taken out of service at any given time?

Quick Answer

The answer is CodeDeployDefault.OneAtATime because it minimizes the number of instances taken out of service at any given moment, deploying to only one EC2 instance at a time while the remaining three continue serving traffic. This predefined deployment configuration is ideal for critical applications requiring zero downtime, as it ensures that the Auto Scaling group’s capacity is never reduced by more than one instance, preserving availability across both Availability Zones. On the AWS Certified Developer Associate DVA-C02 exam, this question tests your understanding of how CodeDeploy’s deployment configurations map to availability and speed trade-offs—a common trap is choosing CodeDeployDefault.AllAtOnce for speed, which would cause downtime by updating all four instances simultaneously. For a quick memory tip, think “One at a time keeps the service line fine”—the key is that OneAtATime prioritizes availability over deployment speed, making it the safest choice for production workloads with strict uptime requirements.

⚠ Common exam trap

Candidates often confuse deployment configurations designed for EC2 instances (like OneAtATime) with those for Lambda (like LambdaCanary10Percent5Minutes), or incorrectly assume HalfAtATime is the safest option without considering that OneAtATime minimizes the number of instances out of service even further.

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

CodeDeployDefault.OneAtATime

CodeDeployDefault.OneAtATime, is correct because it deploys the application to only one instance at a time, ensuring that the remaining instances continue to serve traffic. This minimizes the number of instances taken out of service at any given moment, which is critical for achieving zero downtime in an Auto Scaling group with 4 instances across 2 Availability Zones.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • CodeDeployDefault.AllAtOnce

    Why it's wrong here

    AllAtOnce deploys to all instances simultaneously, taking the entire fleet out of service and causing downtime.

  • CodeDeployDefault.HalfAtATime

    Why it's wrong here

    HalfAtATime deploys to half (2) of the instances at a time, which still takes a significant portion of capacity out.

  • CodeDeployDefault.OneAtATime

    Why this is correct

    OneAtATime deploys to a single instance at a time, minimizing the number of instances offline and best preserving availability.

  • CodeDeployDefault.LambdaCanary10Percent5Minutes

    Why it's wrong here

    This configuration is designed for Lambda functions, not EC2 instances, and is not applicable here.

About these practice questions

Courseiva writes every DVA-C02 question from scratch — 724 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

6 more ways this is tested on DVA-C02

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A developer is using AWS CodeDeploy to deploy an application to a fleet of EC2 instances in an Auto Scaling group. The application must remain available during the deployment. The developer wants to update one instance at a time, ensuring that only one instance is taken offline at any moment. Which deployment configuration should the developer choose?

medium
  • A.CodeDeployDefault.OneAtATime
  • B.CodeDeployDefault.HalfAtATime
  • C.CodeDeployDefault.AllAtOnce
  • D.CodeDeployDefault.LambdaCanary10Percent5Minutes

Why A: CodeDeployDefault.OneAtATime is the correct deployment configuration because it deploys the application to only one instance at a time, ensuring that the remaining instances continue to serve traffic. This matches the requirement to take only one instance offline at any moment, preserving high availability throughout the deployment.

Variation 2. A developer is using AWS CodeDeploy to deploy an application to an Auto Scaling group. The deployment is configured with a 'OneAtATime' deployment configuration. The developer notices that the deployment is taking a long time. What is the most likely reason?

easy
  • A.The deployment group is configured with an incorrect load balancer.
  • B.The Auto Scaling group has a large number of instances, and deploying one at a time is slow.
  • C.The deployment configuration is set to 'AllAtOnce', but the developer intended 'OneAtATime'.
  • D.The CodeDeploy agent on the instances is not running.

Why B: The 'OneAtATime' deployment configuration deploys to one instance at a time, so if the Auto Scaling group has a large number of instances, the deployment will take a long time. Option A is incorrect because the load balancer configuration does not directly affect deployment speed when using 'OneAtATime'. Option C is incorrect because the deployment configuration is correctly set to 'OneAtATime', not 'AllAtOnce'. Option D is incorrect because if the CodeDeploy agent were not running, the deployment would likely fail entirely, not just be slow.

Variation 3. A developer is using AWS CodeDeploy to deploy an application to an EC2 Auto Scaling group. The deployment must follow a rolling update, deploying to exactly 50% of the instances at a time. Which built-in deployment configuration should the developer use?

medium
  • A.CodeDeployDefault.OneAtATime
  • B.CodeDeployDefault.HalfAtATime
  • C.CodeDeployDefault.AllAtOnce
  • D.CodeDeployDefault.LambdaAllAtOnce

Why B: CodeDeployDefault.HalfAtATime, is correct because it instructs CodeDeploy to deploy to exactly 50% of the instances in the Auto Scaling group at a time during a rolling update. This built-in configuration ensures that half the instances are updated before the other half, matching the requirement for a 50% rolling deployment.

Variation 4. A developer is using AWS CodeDeploy to deploy an application to an EC2 Auto Scaling group. The deployment must ensure that a minimum number of instances are always running and healthy. The developer wants to deploy to 10 instances. Which deployment configuration should the developer use?

hard
  • A.CodeDeployDefault.OneAtATime
  • B.CodeDeployDefault.AllAtOnce
  • C.CodeDeployDefault.HalfAtATime
  • D.CodeDeployDefault.MinHealthyHostsPercentage: 90

Why A: CodeDeployDefault.OneAtATime, is correct because it ensures that only one instance is updated at a time, which guarantees that a minimum number of instances (9 out of 10) remain healthy and running throughout the deployment. This configuration is ideal for maintaining high availability and meeting strict uptime requirements.

Variation 5. A developer is using AWS CodeDeploy to deploy an application to an Auto Scaling group. The deployment must be as fast as possible while ensuring that at least 50% of instances remain healthy throughout. Which deployment configuration should be used?

hard
  • A.CodeDeployDefault.OneAtATime
  • B.CodeDeployDefault.HalfAtATime
  • C.CodeDeployDefault.AllAtOnce
  • D.CodeDeployDefault.MinHealthyPercent

Why B: CodeDeployDefault.HalfAtATime is the correct choice because it deploys to half of the instances in the Auto Scaling group at a time, ensuring that at least 50% of instances remain healthy throughout the deployment. This configuration balances speed (by deploying to multiple instances concurrently) with the required availability constraint, making it the fastest option that satisfies the 'at least 50% healthy' requirement.

Variation 6. A developer is using AWS CodeDeploy to deploy an application to an EC2 Auto Scaling group. The application must remain fully available; only one instance should be taken offline at a time. The developer wants to configure the deployment to update instances one by one, ensuring that the deployment fails fast if any instance fails to deploy. Which deployment configuration should the developer choose?

medium
  • A.CodeDeployDefault.AllAtOnce
  • B.CodeDeployDefault.HalfAtATime
  • C.CodeDeployDefault.OneAtATime
  • D.CodeDeployDefault.BlueGreen

Why C: CodeDeployDefault.OneAtATime, is correct because it deploys the application to one instance at a time, ensuring that only one instance is taken offline during the deployment. This satisfies the requirement for the application to remain fully available. Additionally, this configuration fails fast: if any instance fails to deploy, the deployment stops immediately, preventing further instances from being updated.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DVA-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 DVA-C02 exam.