SOA-C02 Deployment, Provisioning, and Automation Practice Question
A DevOps engineer is designing a CI/CD pipeline for a microservices application. The application consists of several Docker containers that run on Amazon ECS with Fargate launch type. The engineer wants to automate the deployment of new container versions. Which AWS service should be used to orchestrate the build, test, and deployment stages?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
AWS CodePipeline
AWS CodePipeline is a fully managed continuous delivery service that orchestrates the build, test, and deploy phases of the release process. Option A is wrong because AWS CodeDeploy is for deploying applications to compute services but does not orchestrate the entire pipeline. Option C is wrong because AWS CloudFormation is for infrastructure as code, not CI/CD orchestration. Option D is wrong because AWS CodeBuild is for building and testing code, not for orchestrating the entire pipeline.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
AWS CodeDeploy
Why it's wrong here
AWS CodeDeploy is a deployment service that automates the rollout of application code to running compute services such as Amazon EC2, AWS Lambda, or on-premises instances, handling strategies like blue/green, rolling, and canary deployments. However, CodeDeploy only automates the final deployment step; it does not manage the earlier source, build, or test phases of a continuous delivery workflow. It has no native pipeline state machine, no concept of orchestration across multiple stages, and no ability to coordinate with a source control trigger to start the entire release process. In a typical architecture, CodeDeploy is called as a single deployment action inside a CodePipeline stage, not as the overarching service that ties all phases together — which is why it cannot serve as the CI/CD orchestrator.
- ✓
AWS CodePipeline
Why this is correct
AWS CodePipeline is the correct choice because it is a fully managed continuous delivery service that orchestrates the build, test, and deploy phases of a release process. It lets you model the entire workflow as a series of stages — Source, Build, Test, Deploy — with sequential or parallel actions, and automatically triggers each stage when the previous one succeeds. CodePipeline integrates natively with AWS CodeCommit, CodeBuild, CodeDeploy, Elastic Beanstalk, ECS, and third-party tools like GitHub and Jenkins, making it the central coordinator for a CI/CD pipeline rather than just a tool that executes a single step. Its pipeline structure and transition gates provide the end-to-end automation a DevOps engineer needs for a microservices delivery workflow.
- ✗
AWS CloudFormation
Why it's wrong here
AWS CloudFormation is an infrastructure-as-code (IaC) service that provisions and manages AWS resources by treating templates as declarative specifications, but it is not designed to coordinate a CI/CD pipeline. While CloudFormation can be used in a deploy stage to create or update the target environments, stacks, or Lambda-based resources, it does not handle source repository polling, build execution, or the sequencing of multiple pipeline stages. A DevOps engineer might use CloudFormation to define the infrastructure that the pipeline deploys to, or even to provision the pipeline resources themselves, but the service has no built-in mechanism for triggering builds based on code commits or for orchestrating test and deployment steps. Thus, CloudFormation is an enabling technology for infrastructure management, not the control plane for CI/CD orchestration.
- ✗
AWS CodeBuild
Why it's wrong here
AWS CodeBuild is a fully managed build service that compiles source code, runs unit tests, and produces deployable artifacts, but it is not a workflow orchestrator. In a CI/CD pipeline, CodeBuild typically serves as one stage (the build or test stage) invoked by a higher-level service like CodePipeline, and it has no native concept of multi-stage release progression or approval gates. While CodeBuild can be chained through webhooks or custom scripts, it lacks the declarative pipeline state machine, stage sequencing, and cross-stage artifact handling that CodePipeline provides. Therefore, CodeBuild by itself cannot orchestrate the entire end-to-end CI/CD process — it only executes isolated build and test commands within a stage.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 1,169 original SOA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.