

# Content Domain 1: SDLC Automation
<a name="devops-engineer-professional-02-domain1"></a>

## Task Statement 1.1: Implement CI/CD pipelines.
<a name="dop-02-task-1-1"></a>

### Knowledge of:
<a name="dop-02-task-1-1-knowledge"></a>
+ Software development lifecycle (SDLC) concepts, phases, and models
+ Pipeline deployment patterns for single- and multi-account environments

### Skills in:
<a name="dop-02-task-1-1-skills"></a>
+ Configuring code, image, and artifact repositories
+ Using version control to integrate pipelines with application environments
+ Setting up build processes (for example, AWS CodeBuild)
+ Managing build and deployment secrets (for example, AWS Secrets Manager, AWS Systems Manager Parameter Store)
+ Determining appropriate deployment strategies (for example, AWS CodeDeploy)

## Task Statement 1.2: Integrate automated testing into CI/CD pipelines.
<a name="dop-02-task-1-2"></a>

### Knowledge of:
<a name="dop-02-task-1-2-knowledge"></a>
+ Different types of tests (for example, unit tests, integration tests, acceptance tests, user interface tests, security scans)
+ Reasonable use of different types of tests at different stages of the CI/CD pipeline

### Skills in:
<a name="dop-02-task-1-2-skills"></a>
+ Running builds or tests when generating pull requests or code merges (for example, CodeBuild)
+ Running load/stress tests, performance benchmarking, and application testing at scale
+ Measuring application health based on application exit codes
+ Automating unit tests and code coverage
+ Invoking AWS services in a pipeline for testing

## Task Statement 1.3: Build and manage artifacts.
<a name="dop-02-task-1-3"></a>

### Knowledge of:
<a name="dop-02-task-1-3-knowledge"></a>
+ Artifact use cases and secure management
+ Methods to create and generate artifacts
+ Artifact lifecycle considerations

### Skills in:
<a name="dop-02-task-1-3-skills"></a>
+ Creating and configuring artifact repositories (for example, AWS CodeArtifact, Amazon S3, Amazon Elastic Container Registry [Amazon ECR])
+ Configuring build tools for generating artifacts (for example, CodeBuild, AWS Lambda)
+ Automating Amazon EC2 instance and container image build processes (for example, EC2 Image Builder)

## Task Statement 1.4: Implement deployment strategies for instance, container, and serverless environments.
<a name="dop-02-task-1-4"></a>

### Knowledge of:
<a name="dop-02-task-1-4-knowledge"></a>
+ Deployment methodologies for various platforms (for example, Amazon EC2, Amazon Elastic Container Service [Amazon ECS], Amazon Elastic Kubernetes Service [Amazon EKS], Lambda)
+ Application storage patterns (for example, Amazon Elastic File System [Amazon EFS], Amazon S3, Amazon Elastic Block Store [Amazon EBS])
+ Mutable deployment patterns in contrast to immutable deployment patterns
+ Tools and services available for distributing code (for example, CodeDeploy, Image Builder)

### Skills in:
<a name="dop-02-task-1-4-skills"></a>
+ Configuring security permissions to allow access to artifact repositories (for example, AWS Identity and Access Management [IAM], CodeArtifact)
+ Configuring deployment agents (for example, CodeDeploy agent)
+ Troubleshooting deployment issues
+ Using different deployment methods (for example, blue/green, canary)