DOP-C02 Question 80
Select 3Your organization is building a CI/CD pipeline to deploy updates for a web application running on Amazon EC2 instances. The application must remain available during deployments, and you need to ensure rollback is possible if a deployment fails. Which combination of AWS services can you use to achieve this?
- A
AWS CodeDeploy with Blue/Green Deployment strategy
- B
Amazon S3 with versioning enabled for storing application packages
- C
Amazon EC2 Image Builder to create and distribute new AMIs
- D
AWS CodePipeline to orchestrate the deployment process
- E
AWS CloudFormation to automatically manage application rollback
Show answer and explanation
Correct answers: A, C, D
Explanation
To implement a robust CI/CD pipeline for EC2 instances requiring zero-downtime deployments, AWS CodeDeploy with a Blue/Green Deployment strategy ensures traffic is shifted to the new environment while maintaining rollback capability. EC2 Image Builder helps create and distribute new AMIs for deployments, and AWS CodePipeline orchestrates the deployment process by integrating with these services. Amazon S3 and CloudFormation, while useful for ancillary tasks, are not central to this specific deployment scenario.
- A. Correct.
Correct: AWS CodeDeploy with a Blue/Green Deployment strategy ensures zero-downtime deployments by routing traffic to a new environment and allows easy rollback if issues are detected.
- B. Incorrect.
Incorrect: While Amazon S3 with versioning can store application packages, it does not directly contribute to the CI/CD deployment process or application rollback.
- C. Correct.
Correct: Amazon EC2 Image Builder can automate the creation of new AMIs, which can be used as part of a deployment pipeline to distribute code changes effectively.
- D. Correct.
Correct: AWS CodePipeline can orchestrate the CI/CD process by integrating with other AWS services like CodeDeploy and EC2 Image Builder.
- E. Incorrect.
Incorrect: While AWS CloudFormation manages infrastructure as code, it is not directly involved in application-level deployment or rollback processes.