AWS Certified Solutions Architect – Professional — Question 940
A company runs a public-facing application that uses a Java-based web service via a RESTful API. It is hosted on Apache Tomcat on a single server in a data center that runs consistently at 30% CPU utilization. Use of the API is expected to increase by 10 times with a new product launch. The business wants to migrate the application to AWS with no disruption, and needs it to scale to meet demand.
The company has already decided to use Amazon Route 53 and CNAME records to redirect traffic. How can these requirements be met with the LEAST amount of effort?
Answer options
- A. Use AWS Elastic Beanstalk to deploy the Java web service and enable Auto Scaling. Then switch the application to use the new web service.
- B. Lift and shift the Apache server to the cloud using AWS SMS. Then switch the application to direct web service traffic to the new instance.
- C. Create a Docker image and migrate the image to Amazon ECS. Then change the application code to direct web service queries to the ECS container.
- D. Modify the application to call the web service via Amazon API Gateway. Then create a new AWS Lambda Java function to run the Java web service code. After testing, change API Gateway to use the Lambda function.
Correct answer: A
Explanation
AWS Elastic Beanstalk supports Java and Apache Tomcat out of the box, making it the fastest and easiest way to deploy, manage, and automatically scale the application with minimal administrative overhead. Re-architecting the service for AWS Lambda or containerizing it for Amazon ECS requires significantly more development and migration effort. A simple lift-and-shift of the single server using AWS SMS does not inherently provide the automatic horizontal scaling needed to handle the 10x traffic spike.