Q48 — AWS DOP-C02 Ch.1
Question 48 of 100 | ← Chapter 1
A company has many applications. Different teams develop applications using various languages and frameworks. These applications run locally and on different servers, using different operating systems. Each team has its own release protocols and processes. 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 automated delivery pipelines, and minimal underlying infrastructure maintenance tasks.
- A. Create one AWS CodeCommit repository for all applications. Place 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 with these AMIs to automatically provision and deprovision 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). 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 push it to 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
This question evaluates selecting a solution for centralized source control, automated delivery, and minimized infrastructure maintenance on AWS. AWS documentation states containerization (e.g., Docker) combined with serverless infrastructure (e.g., Fargate) eliminates EC2 instance management and reduces maintenance overhead. Option D satisfies all requirements: independent repositories per team; CodeBuild ensures consistent container image builds; ECR stores images securely; Fargate-managed ECS removes server management; and CodeDeploy enables automated deployments—achieving centralized control, automation, and minimal infrastructure upkeep. Other options involve centralized servers or EC2 management, contradicting the goal of minimizing infrastructure maintenance.