Some applications are ready to modernize; some may require minor changes in code; and still others may need a complete redesign to make them cloud-ready. Choosing the right migration approach for different applications in your portfolio can help you extract maximum value from cloud-enabled and innovative technologies. Traditional enterprises, including Microsoft, align and execute application portfolios using the migration framework below.
Rehosting is also referred to as a “lift-and-shift” migration. The application is moved into the infrastructure as a service (IaaS) environment of a cloud provider while avoiding as many modifications to the system as possible
Refactoring, often referred to as “repackage”, is to minimally alter application code or configuration changes necessary to connect the application to a provider’s PaaS (Platform as a Service) and take better advantage of cloud.
Rearchitecting is to modify or extend the existing application’s code base to optimize it for a cloud platform and for better scalability. For example: you can decompose a monolithic application into microservices that work together and readily scale on Azure. Moreover, you can rearchitect your SQL Server database to a full managed Azure SQL Database
Redevelop the application from scratch on a provider’s PaaS platform. With rebuilding, you completely build your application to make it cloud-ready. Although rebuilding requires losing the familiarity of existing code and frameworks, the advantage is that you gain access to innovative features in the provider’s PaaS platform. Replace With replacing, you move your existing application directly to a software as a service (SaaS) offering. With this approach, you can avoid mobilizing a development team when requirements for a business function change quickly