Share via


The 6 Rs of application modernization

To help you assess the best path forward, this guide uses the following strategies, known as the 6 Rs:

  • Rehost. Often referred to as lift and shift, this strategy is a cost-effective way to take advantage of a modern cloud infrastructure without modifying an application’s code.
  • Replatform. Sometimes called lift, tinker, and shift, this strategy goes beyond rehosting, moving the application to a new runtime platform with minimal code changes.
  • Refactor. This strategy involves changes to existing code without major changes to an application’s external behavior.
  • Rebuild. Starting over is the right strategy when the cost of replatforming or refactoring outweighs the benefits. Rebuilding may be the only way to address legacy issues and incorporate new functionalities.
  • Retire. This strategy means decommissioning or shutting down applications.
  • Retain. This strategy applies when your organization isn’t ready to modernize an application because of cost, dependencies, risks, or other factors.

These strategies build on the popular 5 Rs used to rationalize cloud migration. The following sections focus when to use rehosting, replatforming, refactoring, and rebuilding.

When to rehost or replatform

The value of rehosting and replatforming comes as you optimize business-critical applications and workloads and build organization muscle. By moving to PaaS, you begin to shift high capital expenditures (CapEx) to an operational expenditure (OpEx) model, paying only for the resources you use.

This guide associates rehosting and replatforming primarily with the Foundation cycle of activity. Organizations in the early stages of cloud adoption, including those in the Traditional Foundation stage, begin rehosting and replatforming key solutions as they lay the foundation for PaaS.

Rehost or replatform when you:

  • Want to start introducing PaaS.
  • Require rapid cloud uptake with minimal changes for business-critical legacy apps.
  • Have a less complex application that doesn’t require significant performance improvements.
  • Must maintain existing identity management, security, and compliance frameworks with minimal disruption.
  • Need better performance and scalability without changing the core architecture.

Common use cases

Rehosting and replatforming can help with future-proofing your organization while expanding and optimizing your digital estate. The folllowing areas are common modernization targets:

  • Mission-critical applications. Critical applications that require high availability can be rehosted or replatformed to improve application scalability and security. A datacenter move can also help lower total cost of ownership by shifting CapEx to OpEx.
  • Simple analytics workloads. By rehosting, you can create new solutions and adopt AI features in existing apps. For example, you can use a PaaS platform like Microsoft Fabric, then take advantage of Azure AI services to enhance predictive analytics and other AI capabilities.
  • IoT devices. Devices that need better integration and scalability can be replatformed using PaaS, such as Azure IoT Hub. You benefit from advanced analytics and real-time insights.
  • Mainframe interfaces. Retaining stable mainframe systems may be the best option for supporting critical operations, but you can also modernize interfaces and workflows. This approach can limit costs and risk while improving integration across systems or regulatory compliance.

Common scenarios for rehosting or replatforming

For more information, see the following sections:

When to refactor

Refactoring is a high impact, high effort activity. It’s typically undertaken by organizations with greater business readiness and cloud-native maturity, such as Emerging Pioneers. The effort pays off in higher ROI as you roll out production workloads using pay-per-use PaaS, enabling you to scale your cloud operations and practices. Cost savings accrue as you reduce upfront costs and lower operational expenses.

Refactor when you:

  • Need to improve performance, scalability, and integration of existing monolithic application architectures without a complete redesign.
  • Want to improve features and have the resources for a significant upgrade.
  • Want to enhance security, compliance, and governance features.
  • Have a moderately complex application that can benefit from code optimizations.

Common use cases

Refactoring applications helps you lay the foundation for PaaS. In later cycles, this strategy can help you expand your use of cloud-native services and optimize your applications and data.

The following are common targets for modernization:

  • Enterprise messaging systems. Refactoring enables you to support scalable integrations. For example, you can use Azure Service Bus for reliable message queuing and Azure Event Hubs for high-throughput event streaming.
  • Legacy web apps. You can refactor to add business value, boost scale, and improve deployment cycles. For example, you might start by decomposing key components without rebuilding the entire app.
  • Mainframe systems. Depending on how portable your existing applications are, you can refactor components using IaaS or PaaS options. Refactoring can speed up the move into Azure by automatically converting code to Java or .NET and converting prerelational to relational databases.

Common scenarios for refactoring

For more information, see the following sections:

When to rebuild

The effort of rebuilding pays off with quantifiable results, such as lower costs, faster performance, stronger security, and better compliance. You can fully innovate and optimize—activities that typically require a high level of business agility and organizational maturity.

This guide associates rebuilding primarily with later cycles of activity—Expand, Innovate, and Optimize. Experienced organizations, such as Agile Innovators and Digital Champions, adopt a cloud-first mindset to optimize operations and build new revenue streams. They rebuild critical solutions using cloud-native platforms, advanced technologies, and automation.

Rebuild when you:

  • Have a highly complex application that requires significant performance, scalability, and integration improvements.
  • Must implement advanced security, compliance, and governance frameworks.
  • Prefer to decompose monolithic architectures into microservices.
  • Plan to redesign an application architecture for future growth based on containers, serverless options, or other cloud-native patterns.

Common use cases

The following are common modernization targets for rebuilding:

  • Data warehousing. Rebuilding supports data transformation, orchestration solutions, and historical data archival. For example, you can support big data processing and machine learning integration using Microsoft Fabric.
  • Frontline applications. Replacing outdated business process management tools enables you adopt modern tools for collaboration and workflow automation. For example, you might use Microsoft Copilot Studio to streamlining business processes or integrate Microsoft Power Platform and Microsoft Teams. In addition, the latest low-code solutions can accelerate development and deployment.
  • Line-of-business (LoB) applications. Complex, code-heavy business processes used by internal stakeholders can be replaced with automated, low-code, streamlined workflows. This approach works for rapid prototyping. For example, you can use Azure Logic Apps.
  • SQL Server databases. You can rebuild databases using Azure SQL Database to gain PaaS benefits such as automated backups and global scalability.

Common scenarios for rebuilding

For more information, see the following sections:

Next steps

Continue planning and evaluate strategies through the 6 Rs.