Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.
- Common modernization patterns.
- Architecture types.
- Mission-critical requirements.
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.