AWS Certified Solutions Architect – ProfessionalAccelerate Workload Migration and ModernizationMedium

A global software development company is migrating its CI/CD pipeline from an on-premises Jenkins server to AWS. The company needs a fully managed, scalable solution that integrates with its existing Git repository (AWS CodeCommit), automatically builds code, runs tests, and deploys applications to Amazon ECS. The solution must support multiple concurrent builds and deployments. Which AWS service combination provides the MOST integrated and scalable CI/CD pipeline?

  1. AAWS CodeStar, AWS CodeCommit, AWS CodeDeploy
  2. BAWS CodeBuild, Amazon S3, AWS Lambda
  3. CJenkins on Amazon EC2, AWS CodeDeploy
  4. DAWS CodePipeline, AWS CodeBuild, AWS CodeDeploy
Show answer & explanation

Correct answer: D. AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy

AWS CodePipeline orchestrates the entire CI/CD workflow, integrating with CodeCommit for source control, CodeBuild for compilation and testing, and CodeDeploy for deployment to ECS, providing a fully managed and scalable solution.

Why the other options are wrong

  • A. AWS CodeStar provides a unified UI for developing, building, and deploying applications, but it's more of a project management tool that provisions underlying services. The core CI/CD functionality comes from CodePipeline, CodeBuild, and CodeDeploy. CodeCommit is only for source control, not orchestration or build/deploy.
  • B. This combination lacks a dedicated orchestration service (like CodePipeline) for the end-to-end CI/CD process and a specific deployment service for ECS (Lambda is for serverless functions, S3 for storage).
  • C. Running Jenkins on EC2 still involves managing the Jenkins server, which contradicts the 'fully managed' requirement. While CodeDeploy can be used for deployment, it doesn't cover the full CI/CD orchestration and build aspects in a fully managed way.

AWS CodePipeline, CodeBuild, CodeDeploy

A suite of AWS services that together form a fully managed continuous integration and continuous delivery (CI/CD) pipeline.

  • CodePipeline orchestrates the release process.
  • CodeBuild compiles, tests, and packages code.
  • CodeDeploy automates deployments to various compute services.
  • Integrates with CodeCommit for source control.

Memory trick: Pipeline Builds and Deploys Code

More Accelerate Workload Migration and Modernization questions