A company has many applications. Different teams in the company developed the applications by using multiple languages and frameworks. The applications run on premises and on different servers with different operating systems. Each team has its own release protocol and process. The company wants to reduce the complexity of the release and maintenance of these applications.
The company is migrating its technology stacks, including these applications, to AWS. The company wants centralized control of source code, a consistent and automatic delivery pipeline, and as few maintenance tasks as possible on the underlying infrastructure.
What should a DevOps engineer do to meet these requirements?
A. Create one AWS CodeCommit repository for all applications. Put each application's code in different branch. Merge the branches, and use AWS CodeBuild to build the applications. Use AWS CodeDeploy to deploy the applications to one centralized application server.
B. Create one AWS CodeCommit repository for each of the applications Use AWS CodeBuild to build the applications one at a time. Use AWS CodeDeploy to deploy the applications to one centralized application server.
C. Create one AWS CodeCommit repository for each of the applications. Use AWS CodeBuild to build the applications one at a time to create one AMI for each server. Use AWS CloudFormation StackSets to
automatically provision and decommission Amazon EC2 fleets by using these AMIs.
D. Create one AWS CodeCommit repository for each of the applications. Use AWS CodeBuild to build one Docker image for each application in Amazon Elastic Container Registry (Amazon ECR). Use AWS CodeDeploy to deploy the applications to Amazon Elastic Container Service (Amazon ECS) on infrastructure that AWS Fargate manages.
The company is migrating its technology stacks, including these applications, to AWS. The company wants centralized control of source code, a consistent and automatic delivery pipeline, and as few maintenance tasks as possible on the underlying infrastructure.
What should a DevOps engineer do to meet these requirements?
A. Create one AWS CodeCommit repository for all applications. Put each application's code in different branch. Merge the branches, and use AWS CodeBuild to build the applications. Use AWS CodeDeploy to deploy the applications to one centralized application server.
B. Create one AWS CodeCommit repository for each of the applications Use AWS CodeBuild to build the applications one at a time. Use AWS CodeDeploy to deploy the applications to one centralized application server.
C. Create one AWS CodeCommit repository for each of the applications. Use AWS CodeBuild to build the applications one at a time to create one AMI for each server. Use AWS CloudFormation StackSets to
automatically provision and decommission Amazon EC2 fleets by using these AMIs.
D. Create one AWS CodeCommit repository for each of the applications. Use AWS CodeBuild to build one Docker image for each application in Amazon Elastic Container Registry (Amazon ECR). Use AWS CodeDeploy to deploy the applications to Amazon Elastic Container Service (Amazon ECS) on infrastructure that AWS Fargate manages.
Answer: D
โ Explanation:
-This question is about simplifying multi-language, multi-framework, multi-platform applications and deploying them with centralized control, consistent CI/CD, and minimal infrastructure maintenance.
๐ Why Option D is the best:
Per-application repositories in AWS CodeCommit = clean separation and team autonomy.
-CodeBuild = language-agnostic build system that works for any language or framework.
-Docker images = perfect for packaging apps in any language or OS in a consistent way.
-ECR (Elastic Container Registry) = centralized, secure image storage.
-Amazon ECS with AWS Fargate:
-Fargate = serverless container hosting โ no EC2 management required.
ECS = container orchestration service.
-CodeDeploy + ECS = fully automated CI/CD with rollback, blue/green deployments, etc.
-Together, these services create a fully managed, automated, and language-independent DevOps pipeline โ exactly what the company needs.
โ Explanation:
-This question is about simplifying multi-language, multi-framework, multi-platform applications and deploying them with centralized control, consistent CI/CD, and minimal infrastructure maintenance.
๐ Why Option D is the best:
Per-application repositories in AWS CodeCommit = clean separation and team autonomy.
-CodeBuild = language-agnostic build system that works for any language or framework.
-Docker images = perfect for packaging apps in any language or OS in a consistent way.
-ECR (Elastic Container Registry) = centralized, secure image storage.
-Amazon ECS with AWS Fargate:
-Fargate = serverless container hosting โ no EC2 management required.
ECS = container orchestration service.
-CodeDeploy + ECS = fully automated CI/CD with rollback, blue/green deployments, etc.
-Together, these services create a fully managed, automated, and language-independent DevOps pipeline โ exactly what the company needs.