This section focuses on a critical set of exam objectives related to continuous delivery and automation:
Domain 1: SDLC Automation
Task 1.1: Implement CI/CD Pipelines
◆◆◆◆◆◆
1. Software Development Lifecycle (SDLC): Concepts, Phases, and Models
The Software Development Lifecycle (SDLC) defines a structured approach to designing, building, testing, deploying, and maintaining software applications. A well-implemented SDLC improves delivery speed, reliability, security, and long-term maintainability.
Core SDLC Phases
- Planning – Identify business requirements, feasibility, risks, and project scope.
- Design – Define system architecture and select appropriate AWS services.
- Implementation – Develop application code and commit changes to version control systems.
- Testing – Execute automated and manual tests to validate functionality and performance.
- Deployment – Use CI/CD pipelines to automate releases across environments.
- Maintenance and Monitoring – Analyze logs, monitor performance, and apply continuous improvements.
Common SDLC Models
- Waterfall – A linear, sequential model suited for stable and well-defined projects.
- Agile – Iterative and incremental, enabling rapid feedback and adaptation.
- DevOps – Emphasizes automation and collaboration through continuous integration and continuous delivery/deployment (CI/CD).
📌 Exam Tip: AWS services and tooling are closely aligned with Agile and DevOps practices. Expect scenario-based questions that emphasize automation, rapid iteration, and rollback strategies.
2. Pipeline Deployment Patterns for Single- and Multi-Account Environments
AWS recommends different CI/CD deployment patterns depending on organizational scale and security requirements.
Single-Account Deployments
- Suitable for small teams or simple applications.
- A single AWS account hosts multiple environments (Dev, Test, Prod) separated by pipeline stages.
- Limitation: Reduced isolation increases the risk of production impact.
Multi-Account Deployments (Best Practice)
- Preferred for enterprise and regulated workloads.
- Leverages AWS Organizations, IAM roles, and AWS Control Tower.
- Typical flow:
Development → Staging → Production
- Uses cross-account role assumption to deploy securely via AWS CodePipeline.
📌 Exam Tip: Multi-account CI/CD pipelines require:
- Cross-account IAM roles with trust policies
- AWS STS for role assumption
- Service Control Policies (SCPs) for centralized governance
3. Configuring Code, Image, and Artifact Repositories
AWS provides managed services for storing source code, container images, and build artifacts.
Source Code Repositories
- AWS CodeCommit – Fully managed Git repository with native AWS integrations
- GitHub, GitLab, Bitbucket – Common external alternatives
Container and Image Repositories
- Amazon ECR (Elastic Container Registry) – Secure storage for Docker images
- External options include Docker Hub and JFrog Artifactory
Artifact Repositories
- AWS CodeArtifact – Managed repository for Maven, npm, PyPI packages
- Amazon S3 – Frequently used for storing deployment artifacts
📌 Exam Tip:
- CodeCommit integrates directly with CodeBuild, CodeDeploy, and CodePipeline
- Amazon ECR supports IAM-based access and integrates with ECS and EKS
- CodeArtifact is ideal for managing private dependencies in enterprise builds
4. Integrating Version Control with CI/CD Pipelines
CI/CD pipelines rely on tight integration with version control systems to ensure consistent and repeatable deployments.
- Trunk-Based Development – Encourages short-lived branches and frequent merges
- Feature Branching – Isolates new features before merging into the main branch
- Webhooks and Git Hooks – Automatically trigger pipeline executions
📌 Exam Tip: AWS CodePipeline can be triggered by:
- Code commits in AWS CodeCommit
- Webhooks from GitHub or GitLab
- Manual approval steps for controlled deployments
5. Configuring Build Processes
AWS CodeBuild is a fully managed build service that compiles code, runs tests, and produces deployable artifacts.
Key CodeBuild Features
buildspec.yml to define build phases and commands
- Custom build environments using Docker images
- Build caching via Amazon S3 or Amazon EFS
Alternative Build Tools
- Jenkins – Deployed on EC2 or ECS; integrates with IAM roles for secure access
- GitHub Actions / GitLab CI/CD – Can use self-hosted runners on EC2 and invoke AWS services
📌 Exam Tip:
- Enable VPC integration when builds require private resources
- Use caching to significantly reduce build times
- CodePipeline integrates natively with CodeBuild for end-to-end automation
6. Managing Secrets for Builds and Deployments
Secure handling of credentials and sensitive configuration is essential in CI/CD pipelines.
AWS Secrets Manager
- Stores secrets such as database credentials and API keys
- Supports automatic rotation
- Access controlled via IAM policies
AWS Systems Manager Parameter Store
- Stores configuration values and encrypted parameters
- Uses AWS KMS for encryption
📌 Exam Tip:
- Use Secrets Manager for dynamic secrets
- Use Parameter Store for static configuration values
- Never hardcode secrets in build scripts or source code
7. Selecting Appropriate Deployment Strategies
Deployment strategies determine how updates are released while minimizing risk and downtime.
Blue/Green Deployments
- Run old and new versions in parallel
- Shift traffic after validation
- Supported by AWS CodeDeploy for EC2, ECS, and Lambda
Canary Deployments
- Gradually route traffic to the new version
- Uses Route 53 weighted routing or ALB traffic shifting
Rolling Updates
- Incremental updates across instances or containers
- Common in ECS, EKS, and Auto Scaling groups
📌 Exam Tip:
- Use Blue/Green for minimal downtime
- Use Canary for microservices and controlled rollouts
- Use Rolling Updates for highly available services
Key Exam Takeaways
- Understand AWS CodePipeline end-to-end and its integrations
- Be comfortable with cross-account CI/CD using IAM roles and STS
- Choose deployment strategies based on risk and availability requirements
- Prioritize security using IAM, Secrets Manager, and Parameter Store
- Monitor pipelines with CloudWatch, X-Ray, Config, and GuardDuty
Final Thoughts
This exam domain places strong emphasis on automation, security, and CI/CD best practices. Mastering AWS services such as CodePipeline, CodeBuild, CodeDeploy, IAM, Secrets Manager, and monitoring tools is essential for confidently answering complex, scenario-based questions on the AWS Certified DevOps Engineer – Professional exam.