AWS Certified Solutions Architect – Associate (SAA-C03) — Question 417
A solutions architect is implementing a complex Java application with a MySQL database. The Java application must be deployed on Apache Tomcat and must be highly available.
What should the solutions architect do to meet these requirements?
Answer options
- A. Deploy the application in AWS Lambda. Configure an Amazon API Gateway API to connect with the Lambda functions.
- B. Deploy the application by using AWS Elastic Beanstalk. Configure a load-balanced environment and a rolling deployment policy.
- C. Migrate the database to Amazon ElastiCache. Configure the ElastiCache security group to allow access from the application.
- D. Launch an Amazon EC2 instance. Install a MySQL server on the EC2 instance. Configure the application on the server. Create an AMI. Use the AMI to create a launch template with an Auto Scaling group.
Correct answer: B
Explanation
AWS Elastic Beanstalk natively supports Apache Tomcat environments and easily provisions highly available, load-balanced infrastructures with rolling deployment capabilities. AWS Lambda cannot run a standard Apache Tomcat web server natively, and Amazon ElastiCache is an in-memory cache rather than a relational MySQL database replacement. Hosting both the database and application on a single EC2 instance, even within an Auto Scaling group, does not provide high availability for the database layer.