AWS Certified DevOps Engineer – Professional — Question 73
A DevOps engineer is planning to deploy a Ruby-based application to production. The application needs to interact with an Amazon RDS for MySQL database and should have automatic scaling and high availability. The stored data in the database is critical and should persist regardless of the state of the application stack.
The DevOps engineer needs to set up an automated deployment strategy for the application with automatic rollbacks. The solution also must alert the application team when a deployment fails.
Which combination of steps will meet these requirements? (Choose three.)
Answer options
- A. Deploy the application on AWS Elastic Beanstalk. Deploy an Amazon RDS for MySQL DB instance as part of the Elastic Beanstalk configuration.
- B. Deploy the application on AWS Elastic Beanstalk. Deploy a separate Amazon RDS for MySQL DB instance outside of Elastic Beanstalk.
- C. Configure a notification email address that alerts the application team in the AWS Elastic Beanstalk configuration.
- D. Configure an Amazon EventBridge (Amazon CloudWatch Events) rule to monitor AWS Health events. Use an Amazon Simple Notification Service (Amazon SNS) topic as a target to alert the application team.
- E. Use the immutable deployment method to deploy new application versions.
- F. Use the rolling deployment method to deploy new application versions.
Correct answer: B, C, E
Explanation
The correct answer is B, C, E because deploying a separate Amazon RDS instance outside of Elastic Beanstalk (B) ensures the database is independent and maintains data integrity. Configuring a notification email for the application team (C) allows them to be promptly informed of deployment failures. Using the immutable deployment method (E) guarantees that new versions are deployed without impacting the existing application, allowing for easy rollback if needed. The other options do not fully address the requirement for high availability or data persistence.