Courseiva

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

Client DHCP Server 1 Discover (broadcast) 2 Offer (IP: 192.168.1.10) 3 Request (I accept) 4 Acknowledge (lease confirmed) DORA — the four-step DHCP lease process

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 →

How Courseiva writes practice questions · Editorial policy

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.