Modernize a three-tier web application with S3 static hosting, Elastic Beanstalk, and Aurora
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.)
Community Votes
100% of anonymous learners picked answer ACE. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
Each selected option removes a scaling bottleneck without adding management: S3 plus CloudFront absorbs static asset load, Elastic Beanstalk adds auto scaling to the Java tier without cluster operations, and Aurora with Auto Scaling read replicas absorbs the read traffic that saturated the database.
A legacy three-tier stack with an Apache frontend, a monolithic Java middle tier, and a PostgreSQL database collapsed under promotional load. The migration plan must maximize scalability and minimize operational effort, with more promotions already scheduled.
Choosing the rehost options because the promotions are near term. Rehosting the Apache server on Auto Scaling EC2 instances keeps the instances to patch and manage and re-creates the same static asset bottleneck, while refactoring to containers on Fargate is a modernization step the schedule does not allow.
Community Discussion (13 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
A: Hosting static assets in Amazon S3 and serving them through CloudFront removes the frontend tier from the scaling path and is a well-established pattern that the Java application can call directly for assets. C: Running the Java application in Elastic Beanstalk gives it auto scaling and managed deployments without the team operating instances. E: Replatforming to Aurora PostgreSQL with Aurora Auto Scaling read replicas moves read traffic off the writer, which was the exact failure point when the database hit its capacity limit on reads.Why the Other Options Are Wrong
B: Rehosting Apache on Auto Scaling EC2 instances with EFS keeps the servers to be patched and maintained, which is operational effort rather than savings, and the static assets still need serving capacity. D: Refactoring the Java application into a container on Fargate is a larger code change than the near-term schedule allows, and it does not by itself fix the database read bottleneck.Community Comment Notes
The community voted 85 to 1 for A, C, E. Commenters noted they would have preferred containers over Elastic Beanstalk in practice, but the operational-effort wording in the question points to Elastic Beanstalk, and one commenter confirmed the near-term promotion schedule is why the refactor options are excluded.Official Reference
Related Analysis
Practice All SAP-C02 Questions
Access 85 questions with complete answers and detailed explanations.
View Full SAP-C02 Practice Test →