Question #1219
A company is migrating a legacy on-premises application to AWS. The company aims to leverage serverless architectures to improve scalability and reduce operational costs. This requires significant modifications to the application's codebase to integrate with AWS Lambda and Amazon API Gateway. Which migration strategy should the company use?
Rehost
Repurchase
Replatform
Refactor
Explanation
The correct answer is D. Refactor.
Why Refactor?
Refactoring (or re-architecting) involves modifying the application's codebase to optimize it for cloud-native services. In this scenario, the company is migrating to serverless architectures (AWS Lambda and API Gateway), which requires significant code changes to integrate with these services. Refactoring allows the application to fully leverage serverless benefits like scalability, cost-efficiency, and reduced operational overhead.
Why Other Options Are Incorrect:
- A. Rehost (lift-and-shift): This strategy involves moving applications to the cloud without code changes. It does not apply here because the question specifies significant code modifications.
- B. Repurchase: This refers to switching to a different product (e.g., SaaS). The question focuses on migrating an existing application, not replacing it.
- C. Replatform: This involves minor optimizations (e.g., moving a database to Amazon RDS) but does not require major code changes. The need for significant codebase modifications rules this out.
Key Points to Remember:
- Refactoring is required when adopting serverless architectures (Lambda, API Gateway) that demand code changes.
- Rehosting is for minimal changes, Replatforming for partial optimizations, and Repurchasing for replacing the application entirely.
Answer
The correct answer is: D