AWS Certified Solutions Architect – ProfessionalAccelerate Workload Migration and ModernizationMedium

A software development company is migrating its CI/CD pipeline from an on-premises Jenkins server to AWS. The company requires a fully managed solution that integrates seamlessly with source control (AWS CodeCommit), provides automated build and test capabilities, and supports continuous deployment to various AWS environments (e.g., EC2, Lambda, ECS). The solution must also allow for custom build environments using Docker images. Which AWS service combination is the MOST suitable for this modernization?

  1. AAWS Developer Tools, Amazon EC2, and AWS Lambda.
  2. BAWS CloudFormation, AWS OpsWorks, and AWS Config.
  3. CAWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, and AWS CodeCommit.
  4. DAWS CodeStar, AWS Elastic Beanstalk, and Amazon S3.
Show answer & explanation

Correct answer: C. AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, and AWS CodeCommit.

AWS CodePipeline orchestrates the entire CI/CD workflow. AWS CodeBuild provides fully managed build and test services, supporting custom Docker images. AWS CodeDeploy automates application deployments to various AWS compute services, and AWS CodeCommit serves as the managed source control. This combination provides a comprehensive, fully managed, and integrated CI/CD solution.

Why the other options are wrong

  • A. AWS Developer Tools is a suite, but specifying EC2 and Lambda as core CI/CD services is incomplete and doesn't fully replace the Jenkins functionality for builds and deployments.
  • B. CloudFormation is for infrastructure as code, OpsWorks is for configuration management, and Config is for resource auditing. These are not core CI/CD pipeline services for build, test, and deploy.
  • D. CodeStar is a project setup tool, Elastic Beanstalk is an application deployment platform, and S3 is storage. This combination doesn't offer the granular build and deployment automation required.

AWS CodePipeline, CodeBuild, CodeDeploy, CodeCommit

A suite of fully managed AWS services that automate the software release process. CodeCommit for source control, CodeBuild for compiling/testing, CodeDeploy for deploying, and CodePipeline for orchestrating the workflow.

  • Provides end-to-end CI/CD automation.
  • Integrates with other AWS services.
  • CodeBuild supports custom build environments (Docker).

Memory trick: CodePipeline orchestrates the 'Code' family: Commit, Build, Deploy.

More Accelerate Workload Migration and Modernization questions