AWS Certified Solutions Architect – Professional (SAP-C02) — Question 468
A company is running a three-tier web application in an on-premises data center. The frontend is served by an Apache web server, the middle tier is a monolithic Java application, and the storage tier is a PostgreSQL database.
During a recent marketing promotion, customers could not place orders through the application because the application crashed. An analysis showed that all three tiers were overloaded. The application became unresponsive, and the database reached its capacity limit because of read operations. The company already has several similar promotions scheduled in the near future.
A solutions architect must develop a plan for migration to AWS to resolve these issues. The solution must maximize scalability and must minimize operational effort
Which combination of steps will meet these requirements? (Choose three.)
Answer options
- A. Refactor the frontend so that static assets can be hosted on Amazon S3. Use Amazon CloudFront to serve the frontend to customers. Connect the frontend to the Java application.
- B. Rehost the Apache web server of the frontend on Amazon EC2 instances that are in an Auto Scaling group. Use a load balancer in front of the Auto Scaling group. Use Amazon Elastic File System (Amazon EFS) to host the static assets that the Apache web server needs.
- C. Rehost the Java application in an AWS Elastic Beanstalk environment that includes auto scaling.
- D. Refactor the Java application, Develop a Docker container to run the Java application. Use AWS Fargate to host the container.
- E. Use AWS Database Migration Service (AWS DMS) to replatform the PostgreSQL database to an Amazon Aurora PostgreSQL database. Use Aurora Auto Scaling for read replicas.
- F. Rehost the PostgreSQL database on an Amazon EC2 instance that has twice as much memory as the on-premises server.
Correct answer: A, C, E
Explanation
Hosting static assets on Amazon S3 and distributing them via Amazon CloudFront (A) offloads frontend traffic efficiently with minimal management. Deploying the monolithic Java application to AWS Elastic Beanstalk (C) provides automatic scaling with very low operational overhead compared to refactoring the monolith for Fargate. Replatforming the database to Amazon Aurora PostgreSQL using AWS DMS (E) allows the use of auto-scaling read replicas to handle the heavy read traffic that previously crashed the database, while reducing management effort compared to running PostgreSQL on EC2.