AWS Certified Solutions Architect – ProfessionalDesign Solutions for Organizational ComplexityMedium

A multinational conglomerate is undergoing a data center exit strategy, aiming to migrate all on-premises applications to AWS. They have a large portfolio of custom-built Java applications running on JBoss application servers and Oracle databases. Many of these applications have dependencies on specific Java versions and legacy libraries that are difficult to update. The company wants to minimize application code changes during the migration while leveraging AWS managed services as much as possible for scalability and operational efficiency. Which migration strategy and service combination should the Solutions Architect recommend?

  1. ARe-architect the Java applications into microservices on AWS Lambda and migrate Oracle databases to Amazon Aurora PostgreSQL.
  2. BRepurchase all custom applications as SaaS solutions and migrate data using AWS DataSync.
  3. CRe-host the Java applications to EC2 instances and migrate Oracle databases to Amazon RDS for Oracle.
  4. DRe-platform the Java applications to AWS Elastic Beanstalk and migrate Oracle databases to Amazon DynamoDB.
Show answer & explanation

Correct answer: C. Re-host the Java applications to EC2 instances and migrate Oracle databases to Amazon RDS for Oracle.

Re-hosting (Lift and Shift) to EC2 instances allows custom Java applications with specific dependencies to run with minimal code changes. Migrating Oracle databases to Amazon RDS for Oracle leverages a fully managed service while maintaining compatibility, providing scalability and operational efficiency without complex re-platforming or re-architecting efforts upfront.

Why the other options are wrong

  • A. Re-architecting to Lambda and migrating to Aurora PostgreSQL would involve extensive code changes, data model changes, and significant re-engineering, contradicting the 'minimize code changes' requirement.
  • B. Repurchasing SaaS is not a migration of 'custom-built Java applications' and would involve completely new systems and data integration, not a migration strategy for existing applications.
  • D. Elastic Beanstalk might require some code adjustments for specific JBoss configurations or legacy libraries, and migrating Oracle to DynamoDB is a heterogeneous migration requiring significant re-architecture and data model changes.

Re-hosting for Legacy Applications

Re-hosting, or 'Lift and Shift,' is a migration strategy particularly suitable for legacy applications with complex dependencies or specific software versions that are difficult to update. It involves moving the application to cloud virtual machines (e.g., EC2) and often migrating databases to compatible managed services (e.g., RDS for the same engine) with minimal code changes.

  • Minimal application code changes
  • Fastest path to cloud for legacy apps
  • Leverages existing application architecture
  • Can be combined with managed database services for operational benefits

Memory trick: Lift and Shift: Old dogs, new cloud tricks.

More Design Solutions for Organizational Complexity questions