AWS Certified Solutions Architect – ProfessionalDesign Solutions for Organizational ComplexityMedium

A large enterprise is migrating a monolithic application to AWS. The application uses a relational database that is highly sensitive to latency and requires strong consistency. The current on-premises database is Oracle. The company wants to refactor the application to a microservices architecture over time but needs an initial migration strategy that minimizes changes to the application code and database schema, while providing significant scalability and performance improvements. Which migration strategy and database combination should be recommended?

  1. ARe-architecting to Amazon DynamoDB
  2. BRe-platforming to Amazon Aurora PostgreSQL-Compatible Edition
  3. CRe-platforming to Amazon RDS for Oracle
  4. DRe-hosting on Amazon EC2 with Oracle Database Enterprise Edition
Show answer & explanation

Correct answer: C. Re-platforming to Amazon RDS for Oracle

Re-platforming to Amazon RDS for Oracle minimizes application code and schema changes, as it's the same database engine. RDS provides managed services, high availability, and scalability. This strategy allows for immediate benefits while paving the way for future microservices refactoring.

Why the other options are wrong

  • A. Re-architecting to DynamoDB, a NoSQL database, would involve extensive application and database redesign, which is explicitly against the initial migration goal of minimizing changes.
  • B. Re-platforming to Aurora PostgreSQL would require significant schema and code changes due to the different database engine, contradicting the goal of minimizing changes during initial migration.
  • D. Re-hosting Oracle on EC2 would provide less scalability and performance benefits compared to a managed service like RDS, and it retains the operational burden of managing the database, which the company aims to reduce.

Re-platforming to Amazon RDS for Oracle

Migrating an on-premises Oracle database to a fully managed Amazon Relational Database Service (RDS) for Oracle instance in AWS.

  • Minimizes changes to application code and database schema as the database engine remains the same.
  • Provides managed database services including backups, patching, and scaling.
  • Offers high availability and performance improvements over self-managed on-premises databases.

Memory trick: Same Oracle, just Managed and Scaled in RDS.

More Design Solutions for Organizational Complexity questions