Domain 3: Deployment (24% of the exam content)
This domain accounts for 24% of the exam content.
Topics
Task 1: Prepare application artifacts to be deployed to
Knowledge of:
Ways to access application configuration data (for example, AppConfig, Secrets Manager, Parameter Store)
Lambda deployment packaging, layers, and configuration options
Git-based version control tools (for example, Git)
Container images
Skills in:
Managing the dependencies of the code module (for example, environment variables, configuration files, container images) within the package
Organizing files and a directory structure for application deployment
Using code repositories in deployment environments
Applying application requirements for resources (for example, memory, cores)
Task 2: Test applications in development environments
Knowledge of:
Features in services that perform application deployment
Integration testing that uses mock endpoints
Lambda versions and aliases
Skills in:
Testing deployed code by using services and tools
Performing mock integration for APIs and resolving integration dependencies
Testing applications by using development endpoints (for example, configuring stages in Amazon API Gateway)
Deploying application stack updates to existing environments (for example, deploying an SAM template to a different staging environment)
Task 3: Automate deployment testing
Knowledge of:
API Gateway stages
Branches and actions in the continuous integration and continuous delivery (CI/CD) workflow
Automated software testing (for example, unit testing, mock testing)
Skills in:
Creating application test events (for example, JSON payloads for testing Lambda, API Gateway, SAM resources)
Deploying API resources to various environments
Creating application environments that use approved versions for integration testing (for example, Lambda aliases, container image tags, Amplify branches, Copilot environments)
Implementing and deploying infrastructure as code (IaC) templates (for example, SAM templates, CloudFormation templates)
Managing environments in individual services (for example, differentiating between development, test, and production in API Gateway)
Task 4: Deploy code by using CI/CD services
Knowledge of:
Git-based version control tools (for example, Git)
Manual and automated approvals in CodePipeline
Access application configurations from AppConfig and Secrets Manager
CI/CD workflows that use services
Application deployment that uses services and tools (for example, CloudFormation, Cloud Development Kit [ CDK], SAM, CodeArtifact, Copilot, Amplify, Lambda)
Lambda deployment packaging options
API Gateway stages and custom domains
Deployment strategies (for example, canary, blue/green, rolling)
Skills in:
Updating existing IaC templates (for example, SAM templates, CloudFormation templates)
Managing application environments by using services
Deploying an application version by using deployment strategies
Committing code to a repository to invoke build, test, and deployment actions
Using orchestrated workflows to deploy code to different environments
Performing application rollbacks by using existing deployment strategies
Using labels and branches for version and release management
Using existing runtime configurations to create dynamic deployments (for example, using staging variables from API Gateway in Lambda functions)