AWS Certified Solutions Architect - Professional / Question #736 of 529

Question #736

An online retail company is migrating its legacy on-premises Java application to AWS. The application runs on load-balanced frontend web servers, load-balanced application servers, and an Oracle database. The company wants to use AWS managed services where possible and avoid rewriting the application. A solutions architect needs to implement a solution to resolve scaling issues and minimize licensing costs as the application scales. Which solution will meet these requirements MOST cost-effectively?

A

Deploy Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer for the web tier and application tier. Use Amazon Aurora PostgreSQL with AWS Schema Conversion Tool (AWS SCT) and Oracle compatibility extensions to replatform the Oracle database.

B

Create images of all servers using AWS Application Migration Service. Deploy EC2 instances in an Auto Scaling group behind a Network Load Balancer for both tiers. Use Amazon DocumentDB as the database tier.

C

Containerize the web and application tiers using Amazon ECS. Deploy containers behind an Application Load Balancer. Use Amazon RDS for Oracle with Bring Your Own License (BYOL) for the database.

D

Refactor the application into AWS Lambda functions. Use Amazon API Gateway for both tiers. Migrate the database to Amazon Redshift and use Amazon QuickSight for queries.

Explanation

Option A is correct because:
- EC2 Auto Scaling and ALB: Provide scalable and load-balanced infrastructure for web/app tiers without application changes.
- Aurora PostgreSQL with Oracle Compatibility: Replaces Oracle DB using AWS SCT for schema conversion, avoiding licensing costs while maintaining compatibility.
- Cost Efficiency: Aurora PostgreSQL is cheaper than Oracle, and managed services reduce operational overhead.

Other options fail because:
- B: DocumentDB is MongoDB-compatible, not Oracle, requiring app changes. EC2 with Oracle would retain licensing costs.
- C: RDS Oracle with BYOL still incurs licensing fees, and containerization may require code changes.
- D: Refactoring to Lambda/API Gateway requires app rewrites, and Redshift is unsuitable for transactional databases.

Key Points: Use managed services, avoid rewrites, minimize Oracle licensing. Aurora PostgreSQL with SCT achieves this best.

Answer

The correct answer is: A