A large banking institution needs to migrate its core monolithic banking application to AWS. This application processes millions of transactions daily and has strict uptime and performance requirements. The current on-premises database is Oracle RAC, and the application servers run on WebLogic. The institution wants to minimize code changes and leverage managed services as much as possible to reduce operational overhead. Which migration strategy and AWS services would be most appropriate for this scenario?
- AReplatform the Oracle RAC database to Amazon Aurora PostgreSQL and re-host the WebLogic application servers on Amazon EC2 instances.
- BRe-host the Oracle RAC database on Amazon EC2 with Oracle Database Enterprise Edition and re-host the WebLogic application servers on Amazon EC2 instances.
- CRefactor the entire application to a microservices architecture using AWS Lambda and Amazon DynamoDB.
- DReplatform the Oracle RAC database to Amazon RDS for Oracle and re-host the WebLogic application servers on Amazon EC2 instances.
Show answer & explanationAnswer & explanation
Correct answer: D. Replatform the Oracle RAC database to Amazon RDS for Oracle and re-host the WebLogic application servers on Amazon EC2 instances.
Replatforming the Oracle RAC database to Amazon RDS for Oracle minimizes code changes (as it's still Oracle) while leveraging a fully managed service, meeting the requirement for reduced operational overhead. Re-hosting WebLogic on EC2 instances is a 'lift-and-shift' approach for the application layer, minimizing immediate code changes and allowing for gradual modernization, which is appropriate for a critical monolithic application with strict uptime requirements.
Why the other options are wrong
- A. Migrating from Oracle to PostgreSQL (even Aurora) would typically involve significant code changes due to different SQL dialects, stored procedures, and database features, which contradicts the goal of minimizing code changes for a critical application.
- B. Re-hosting Oracle RAC on EC2 means the institution would still be responsible for managing the database clustering, patching, backups, and high availability, which increases operational overhead and does not leverage managed services for the database as much as possible.
- C. Refactoring to microservices and serverless (Lambda, DynamoDB) is a significant modernization effort that would involve extensive code changes, re-architecture, and testing. This is a long-term goal, not an initial migration strategy that prioritizes minimizing code changes and maintaining strict uptime for a monolithic core banking application.
Replatforming (Database)
Migrating a database to a different platform, often a managed service, with minimal application code changes, while retaining the same database engine type (e.g., Oracle to RDS for Oracle).
- Reduces operational overhead by using managed services.
- Minimizes application code changes compared to re-architecting.
- Leverages cloud features like scalability and high availability.
Memory trick: Keep the core, upgrade the bed, then lift the rest.