Skip to main content
VVMExam

Deployment on AWS: Key Services and Strategies for DVA-C02

The DVA-C02 exam tests your knowledge of deploying applications using AWS services such as Elastic Beanstalk, CodeDeploy, CodePipeline, and CloudFormation. Understanding deployment strategies and their trade-offs is essential.

2 min read

AWS Elastic Beanstalk is a platform-as-a-service (PaaS) that handles provisioning, load balancing, scaling, and monitoring. You upload your application code and Beanstalk manages the underlying infrastructure. It supports multiple deployment policies:

  • All at once: Deploys to all instances simultaneously; fastest but causes downtime.
  • Rolling: Deploys in batches; reduces downtime but temporarily lowers capacity.
  • Rolling with additional batch: Launches extra instances before deploying; maintains full capacity throughout.
  • Immutable: Launches a fresh set of instances; safest option, easy rollback, but slowest and most expensive.
  • Blue/Green: Creates a separate environment; swap CNAMEs to redirect traffic; enables zero-downtime and easy rollback.

AWS CodeDeploy automates application deployments to EC2 instances, on-premises servers, Lambda functions, and ECS. It uses an AppSpec file (appspec.yml) to define deployment lifecycle hooks (e.g., BeforeInstall, AfterInstall, ApplicationStart). Deployment types include In-place (existing instances updated) and Blue/Green (new instances provisioned).

AWS CodePipeline orchestrates a continuous delivery pipeline. It integrates with CodeCommit, CodeBuild, CodeDeploy, and third-party tools. A pipeline consists of stages (Source, Build, Test, Deploy), and each stage contains actions.

AWS CloudFormation enables infrastructure-as-code (IaC) using JSON or YAML templates. Key concepts include:

  • Stacks: A collection of AWS resources managed as a single unit.
  • Change Sets: Preview changes to a stack before executing them.
  • Stack Policies: Prevent unintended updates to specific stack resources.
  • Rollback: CloudFormation automatically rolls back on failure by default.

AWS SAM (Serverless Application Model) is an extension of CloudFormation for serverless applications. It uses a simplified syntax and the sam deploy command to package and deploy Lambda functions, API Gateway, and DynamoDB tables.

Exam tips:

  • Know when to use each Elastic Beanstalk deployment policy and its impact on availability and cost.
  • Understand the AppSpec file structure for CodeDeploy on EC2 vs. Lambda.
  • Recognize that CodePipeline is the orchestration layer; it calls other services to do the actual work.
  • CloudFormation !Ref and !GetAtt are commonly tested intrinsic functions.

Ready to practice this topic?