A global retail company is migrating its legacy inventory management system to AWS. The system consists of a monolithic application running on an on-premises server and a relational database. The company wants to minimize downtime during the migration and ensure data consistency. They plan to use AWS Database Migration Service (DMS) for the database. Which migration strategy for the application component should be recommended to reduce downtime and allow for gradual cutover?
- ARe-host the entire monolithic application to Amazon EC2 and perform a single cutover.
- BRefactor the application into a serverless architecture using AWS Lambda and Amazon DynamoDB, then migrate the database.
- CImplement the Strangler Fig Pattern by gradually replacing parts of the monolith with new microservices on AWS, while the database is migrated via DMS.
- DReplatform the application to AWS Elastic Beanstalk and migrate the database using DMS.
Show answer & explanationAnswer & explanation
Correct answer: C. Implement the Strangler Fig Pattern by gradually replacing parts of the monolith with new microservices on AWS, while the database is migrated via DMS.
The Strangler Fig Pattern allows for gradual modernization by incrementally replacing functions of the monolithic application with new services on AWS, while the original monolith continues to operate. This minimizes downtime and risk during migration, ensuring business continuity as the database is migrated concurrently with DMS, making it suitable for a complex legacy system.
Why the other options are wrong
- A. Re-hosting the entire monolith to EC2 still involves a 'big bang' cutover for the application, which can lead to significant downtime and higher risk if issues arise during the switch. It doesn't allow for gradual cutover.
- B. Refactoring the entire application to a serverless architecture is a significant re-architecture effort that would involve extensive development, testing, and a potentially large cutover, which contradicts the goal of minimizing downtime and enabling a gradual transition for the existing system.
- D. Replatforming to Elastic Beanstalk is a good step but still involves migrating the entire application at once, which might not meet the 'minimize downtime and gradual cutover' requirement for a large, complex system.
Strangler Fig Pattern
A pattern for incrementally transforming a monolithic application into microservices by gradually replacing specific functionalities with new services, redirecting traffic to the new services over time.
- Reduces risk and downtime during modernization.
- Allows for gradual migration of complex applications.
- Enables new features to be built and deployed independently.
Memory trick: Strangler Fig: Slowly replace the old tree with new growth.