Q96 — AWS DOP-C02 Ch.2
Question 96 of 100 | ← Chapter 2
A company operates many applications. Different teams within the company develop applications using various programming languages and frameworks. These applications run on-premises and on different servers with varying operating systems. Each team has its own release protocols and workflows. The company wants to reduce the complexity of releasing and maintaining these applications. The company is migrating its technology stack—including these applications—to AWS. The company wants centralized source code control, consistent and automated delivery pipelines, and minimal underlying infrastructure maintenance tasks. What should a DevOps engineer do to meet these requirements?
- A. Create a single AWS CodeCommit repository for all applications. Store each application's code in separate branches. Merge branches and use AWS CodeBuild to build applications. Use AWS CodeDeploy to deploy applications to a centralized application server.
- B. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build one application at a time. Use AWS CodeDeploy to deploy applications to a centralized application server.
- C. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build one application at a time and create an AMI for each server. Use AWS CloudFormation StackSets to automatically provision and deprovision Amazon EC2 fleets using these AMIs.
- D. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build a Docker image for each application and store it in Amazon Elastic Container Registry (Amazon ECR). Use AWS CodeDeploy to deploy applications to Amazon Elastic Container Service (Amazon ECS) running on AWS Fargate–managed infrastructure. ✓
Correct Answer: D. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build a Docker image for each application and store it in Amazon Elastic Container Registry (Amazon ECR). Use AWS CodeDeploy to deploy applications to Amazon Elastic Container Service (Amazon ECS) running on AWS Fargate–managed infrastructure.
Explanation
Option D is optimal because: (1) It enables centralized source code control via dedicated CodeCommit repositories per application; (2) It implements consistent, automated CI/CD pipelines using CodeBuild and CodeDeploy; (3) It minimizes infrastructure maintenance by leveraging AWS Fargate, which abstracts away server management while supporting flexible, scalable containerized workloads. This approach directly reduces release and maintenance complexity and aligns with the company’s AWS migration goals.