BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Microsoft Introduces Modern Web App Pattern for .NET: Accelerating App Modernization to the Cloud

Microsoft Introduces Modern Web App Pattern for .NET: Accelerating App Modernization to the Cloud

Microsoft has announced the introduction of the Modern Web App (MWA) pattern for .NET, which is part of its Enterprise App Patterns (EAP) initiative aimed at accelerating application modernization to the cloud.

Modern Web App (MWA)  pattern offers developers prescriptive architecture, reference implementations, and infrastructure guidance aligned with the Azure Well-Architected Framework (WAF) principles and the 12-factor app methodologies.

The official Microsoft announcement states that the Modern Web App pattern represents a significant advancement in transforming monolithic web applications toward cloud-native architectures, emphasizing a refactoring modernization strategy.

It is built upon the Reliable Web App (RWA) pattern—which, as reported, facilitated organizations' transition to the cloud with minimal changes under a Replatform approach—the MWA pattern guides teams further by encouraging the decoupling and decomposition of key functions into microservices.

As explained, this decoupling enables high-demand application areas to be optimized for agility and scalability. By allocating dedicated resources to critical components, the MWA pattern enhances reliability and performance. It also allows for independent versioning and scaling of these components, offering cost efficiency and the flexibility to evolve individual parts of the application without impacting the entire system. With a goal to minimizes the risk of degradation in one part of the application affecting other areas.

(MWA is part of our Enterprise App Patterns (EAP), Source: Apps on Azure Blog)

Key features of the Modern Web App pattern include detailed guidance on decoupling critical parts of a web application, which facilitates independent scaling and greater agility while optimizing costs. Also, the pattern focuses on modernizing applications through refactoring, specifically targeting high-demand areas by decoupling essential components.

Furthermore, the MWA pattern adopts strategies such as incremental modernization using the strangler-fig pattern. This approach provides guidance for gradually refactoring monolithic applications into decoupled services, reducing risks during the modernization process and improving agility for introducing new features. It allows organizations to modernize incrementally without necessitating a complete overhaul of existing systems.

Embracing cloud-native architectures is another area of the MWA pattern. By leveraging Azure services—including Azure App Services, Azure Container Apps, Azure Container Registry, Azure Service Bus, and Azure Monitor—the pattern aids in building independently scalable and resilient cloud-native applications. These services, as explained, support the development of applications capable of efficient scaling and graceful handling of failures.

The MWA pattern also enables key parts of an application to scale independently using Azure Container Apps. This independent scaling optimizes resource usage and reduces operational costs. Additionally, the pattern enhances security and availability through the adoption of a hub-and-spoke architecture for production infrastructure, which improves security measures and isolates workloads. Also, Multi-region deployment is supported, aligning with a 99.9% business service-level objective.

(Essential architectural elements of the Modern Web App pattern, Source: Official Microsoft Documentation)

In addition to the announcement blog post, Microsoft provides a reference implementation for developers to learn more about MWA, stating the following:

In this context, we use a fictional company, Relecloud’s, evolving business needs to illustrate the Modern Web App (MWA) pattern, which takes scalability further through decoupling and refactoring of monolithic line-of-business web app. This architecture enables independent scaling via microservices for high demand, supporting Relecloud's growth while enhancing security, agility and reliability meeting the 99.9% business SLO uptime requirement.

Lastly, interested developers can explore more about MWA by reading the detailed documentation on Microsoft Learn or visiting the official GitHub repository project.

About the Author

Rate this Article

Adoption
Style

BT