Evaluate strategies through the 6 Rs

The strategy you use to modernization your applications depends on many factors, such as potential architecture types and patterns, project dependencies, and level of effort. The 6 Rs of rationalization give you a lens to assess these factors and aid in decision-making.

For example, to modernize an enterprise resource planning (ERP) application, you might rehost it on large-memory virtual machines. Or you could take on code-level changes and refactor components. Or you might rebuild it completely using containers in a microservices-based architecture.

The following sections show how to use the 6 Rs to evaluate:

Project complexity and requirements

You can vet any scenario through the general criteria of time, cost, and complexity as the following table summarizes.

Criteria Rehost Replatform Refactor Rebuild
Application complexity Low. Minimal code changes required. Low. A little more code changes are required. Moderate. Code changes required. High. Significant redesign and code changes required.
Time and cost Generally quick and cost-effective with minimal disruption. Moderate. More labor-intensive than rehosting. Moderate. Some downtime required. High. Significant downtime and resource allocation.
Performance requirements Basic. Incorporate cloud-based tools such as Azure Monitor for tracking. Basic. Incorporate cloud-based tools such as Azure Monitor for tracking. Enhance using code optimization and PaaS, such as Azure Cache for Redis. Improve significantly by redesigning using PaaS, such as AKS.
Scalability Basic. Use IaaS, such as Azure Virtual Machines, or PaaS, such as Azure App Service. Basic. Use IaaS, such as Azure Virtual Machines, or PaaS, such as Azure App Service. Enhance using PaaS, such as Azure Functions, Azure Logic Apps, and Azure Service Bus. High. Use microservices and run using PaaS, such as AKS with Azure Cosmos DB.
Integration requirements Basic integration with existing systems using PaaS, such as Azure Logic Apps for simple workflows. Basic integration with existing systems using PaaS, such as Azure Logic Apps for simple workflows. Enhance using PaaS, such as Azure API Management, Azure Logic Apps, and Azure Service Bus. Advanced. Redesign architecture around PaaS, such as Azure API Management, Azure Logic Apps, and Azure Event Grid.

Mission-critical requirements

When modernizing mission-critical services, greater effort usually yields greater business value. The following table can help you make decisions about PaaS options for identity management, security, compliance, and governance.

The suggested tools and services are not meant to be prescriptive but rather to summarize some high-level options to consider in your modernization journey.

For details, see Identity, security, and compliance best practices.

Criteria Rehost Replatform Refactor Rebuild
Identity management Minimize changes. Consider Microsoft Entra ID for seamless integration. Minimize changes. Consider Microsoft Entra ID for seamless integration. Enhance through integration with Microsoft Entra ID. Enable single sign-on (SSO). Redesign to take full advantage of advanced identity features in Microsoft Entra ID and Microsoft Entra External ID.
Security Provide basic security measures. Consider Microsoft Defender for Cloud for monitoring. Enhance using additional security measures, such as Microsoft Defender for Cloud. Improve security by integrating more PaaS, such as Azure Key Vault, more Microsoft Defender for Cloud features, or Microsoft Sentinel. Implement advanced security features such as Zero Trust architecture and AI-based threat detection.
Compliance Minimize change while ensuring compliance using PaaS options such as Azure Policy for governance. Minimize change while ensuring compliance using PaaS options such as Azure Policy for governance. Enhance compliance through deeper PaaS integration, such as Azure Policy, Azure Blueprints, and Microsoft Defender for Cloud. Redesign for compliance with industry standards using PaaS for advanced auditing, such as using Azure Policy and Azure Blueprints.
Governance Provide basic governance through PaaS options such as Azure Policy and Microsoft Cost Management. Provide basic governance through PaaS options such as Azure Policy and Microsoft Cost Management. Improve governance by implementing PaaS tools such as Azure Policy, Azure Blueprints, and Microsoft Cost Management. Redesign governance framework by implementing advanced monitoring through PaaS tools such as Azure Policy, Azure Blueprints, Microsoft Cost Management.

Common modernization patterns

Application modernization gives you the opportunity to adopt new, more efficient architectural patterns. The following table lists popular patterns and indicates steps you can take depending on your starting point in the application modernization life cycle.

Pattern Activity
API-first design Expand: Rearchitect using an API wrapper
Optimize: Refactor B2B applications using API-first design principles
Containerization Foundation: Azure App Service vs. Azure services for container apps
Expand: Rearchitect monolithic applications using microservices
Data modernization Expand: Replatform data during application modernization
Event-driven architecture Expand: Replace enterprise messaging and routing apps with serverless platforms
Legacy wrapping Expand: Rearchitect using an API wrapper
Optimize: Retire and decommission applications
Microservices Foundation: Refactor .NET applications or Replatform Java applications onto Azure
Expand: Rearchitect monolithic applications using microservices
Retrieval-Augmented Generation (RAG) Innovate: Innovate and automate using AI services
Serverless architecture Expand: Replace enterprise messaging and routing apps with serverless platforms

Architecture types

The following table lists common workloads and suggests incremental paths to modernization based on the 6 Rs. The suggestions are not meant to be prescriptive but rather to show how a modernization journey can evolve.

Type Rehost or Replatform Refactor Rebuild
Business intelligence (BI) Migrate to cloud-based BI tools such as Power BI or Tableau Online. Enhance data pipelines for real-time analytics using PaaS such as Azure App Service or Microsoft Fabric. Implement data lakes and machine learning models using PaaS such as Azure Machine Learning.
Communication and collaboration Migrate to cloud-based tools such as Microsoft Teams or Slack. Improve security and compliance features, incorporating more PaaS, such as Azure App Service, Azure Blob Storage, and Azure Content Delivery Network (CDN). Integrate with other enterprise applications for seamless communication.
Content management system (CMS) Move to a cloud-based CMS such as WordPress or SharePoint Online. Improve content delivery networks (CDNs) for faster access. Use headless CMS for better flexibility and performance.
Customer relationship management (CRM) Migrate to cloud-based CRM platforms such as Salesforce or Dynamics 365. Enhance integration with other cloud services using PaaS such as Azure App Service. Use APIs for better data exchange and automation. Consider Azure API Management, Azure Logic Apps, or Azure Functions.
E-commerce Move to cloud-based e-commerce platforms such as Shopify or Magento. Enhance user experience and payment gateways using PaaS, such as Azure App Service, Azure Functions, or Azure Cosmos DB. Implement microservices for scalability and flexibility. Consider Azure Container Apps, AKS, or Azure Red Hat OpenShift.
ERP Move to cloud-based ERP solutions such as SAP S/4HANA, Oracle ERP Cloud, or Azure Virtual Machines. Update custom modules to take advantage of cloud-native features. Consider Azure SQL Database or Azure Logic Apps. Implement microservices for custom modules using PaaS such as AKS to host.
Human resources management system (HRMS) Move to a cloud-based HRMS such as Workday or ADP Workforce Now. Update user interfaces and workflows using PaaS, such as Azure App Service or Azure Logic Apps. Integrate AI for talent management and predictive analytics using PaaS, such as Azure Cognitive Services or Azure Machine Learning.
Project and portfolio management (PPM) Shift to a cloud-based PPM tools, such as Microsoft Project Online or Jira Cloud. Enhance integration with other project tools using PaaS connectors, such as Azure Logic Apps Implement agile methodologies and DevOps practices using tools such as Azure DevOps, Azure Boards, or Azure Pipelines.
Security and compliance Shift to cloud-based security solutions such as Symantec or McAfee. Update security protocols and compliance checks using PaaS, such as Microsoft Sentinel or Microsoft Entra ID. Use AI and machine learning for threat detection and response using PaaS, such as Microsoft Defender for Cloud and Azure Machine Learning.
Supply chain management (SCM) Shift to a cloud-based SCM solution such as SAP SCM or Oracle SCM Cloud. Optimize workflows for cloud environments using PaaS, such as Azure Logic Apps or Azure Functions. Implement IoT for real-time tracking and analytics, using PaaS such as Azure IoT Hub, Microsoft Fabric, or Azure Data Factory.

Next steps

Get started with the next phase and launch your application modernization strategy.