Q79 — AWS DOP-C02 Ch.3
Question 79 of 100 | ← Chapter 3
A company operates many applications. Different teams develop applications using various languages and frameworks. These applications run locally and on different servers with varying operating systems. Each team maintains its own release process and protocols. 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. It seeks centralized source control, consistent and automated delivery pipelines, and minimal underlying infrastructure management.
- 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. Deploy applications to a centralized application server using AWS CodeDeploy.
- B. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build one application at a time. Deploy applications to a centralized application server using AWS CodeDeploy.
- C. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build each application and create an AMI per server. Use AWS CloudFormation StackSets with those AMIs to automatically provision and decommission Amazon EC2 fleets.
- D. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build a Docker image for each application and push it to Amazon Elastic Container Registry (Amazon ECR). Deploy applications to Amazon Elastic Container Service (Amazon ECS) running on AWS Fargate-managed infrastructure using AWS CodeDeploy. ✓
Correct Answer: D. Create a separate AWS CodeCommit repository for each application. Use AWS CodeBuild to build a Docker image for each application and push it to Amazon Elastic Container Registry (Amazon ECR). Deploy applications to Amazon Elastic Container Service (Amazon ECS) running on AWS Fargate-managed infrastructure using AWS CodeDeploy.
Explanation
Option D best satisfies all requirements. Using individual CodeCommit repositories per application enables team autonomy and isolation. Building container images with CodeBuild and storing them in Amazon ECR provides immutable, portable artifacts. Deploying to Amazon ECS on AWS Fargate eliminates server management—fully aligning with 'minimal underlying infrastructure maintenance'. AWS CodeDeploy supports ECS deployments with built-in blue/green and rollback capabilities. Options A and B rely on shared centralized servers, introducing coupling and scalability limitations. Option C still requires managing EC2 fleets and AMIs—increasing operational overhead contrary to the goal of minimizing infrastructure management.