A manufacturing company plans to migrate its legacy on-premises ERP system, which runs on Windows Server 2012 R2 and SQL Server 2014, to Azure. The company requires minimal code changes and needs to maintain full control over the operating system for specific legacy software dependencies. Which migration strategy and target services are most suitable?
- ARefactor to Azure App Service and Azure Cosmos DB
- BRehost to Azure Virtual Machines and Azure SQL Database
- CRearchitect to Azure Functions and Azure Database for PostgreSQL
- DRehost to Azure Virtual Machines and Azure SQL Managed Instance
Show answer & explanationAnswer & explanation
Correct answer: D. Rehost to Azure Virtual Machines and Azure SQL Managed Instance
The requirement for 'minimal code changes' and 'full control over the operating system' strongly suggests a Rehost (Lift-and-Shift) strategy. Azure Virtual Machines provide full OS control for the application servers. Azure SQL Managed Instance is a PaaS offering that provides near 100% compatibility with on-premises SQL Server, minimizing code changes while reducing administrative overhead compared to SQL Server on a VM.
Why the other options are wrong
- A. Refactoring to Azure App Service and Cosmos DB would involve significant code changes and is not a 'minimal code changes' strategy.
- B. Azure SQL Database might require more code changes due to compatibility differences compared to Managed Instance, especially for legacy applications.
- C. Rearchitecting to Azure Functions and PostgreSQL involves extensive code changes and is not suitable for 'minimal code changes'.
Azure Migration Strategies (6 Rs)
The '6 Rs' (Rehost, Refactor, Rearchitect, Rebuild, Replace, Retire) are common strategies for migrating applications to the cloud, each with different levels of effort and cloud optimization.
- Rehost (Lift-and-Shift): Minimal changes, move to IaaS.
- Refactor: Some code changes for PaaS benefits.
- Rearchitect: Significant changes for cloud-native benefits.
- Rebuild/Replace/Retire: More drastic changes or removal.
Memory trick: Minimal changes? Just Rehost and pick compatible services.