.NET 6 and ASP.NET Core offer several advantages over traditional .NET development. You should use .NET 6 for your server applications if some or all of the following are important to your application’s success:
- Cross-platform support.
- Use of microservices.
- Use of Docker containers.
- High performance and scalability requirements.
- Side-by-side versioning of .NET versions by application on the same server.
Traditional .NET 4.x apps can and do support many of these requirements, but ASP.NET Core and .NET 6 have been optimized to offer improved support for the above scenarios.
More and more organizations are choosing to host their web applications in the cloud using services like Microsoft Azure. You should consider hosting your application in the cloud if the following are important to your application or organization:
- Reduced investment in data center costs (hardware, software, space, utilities, server management, etc.)
- Flexible pricing (pay based on usage, not for idle capacity).
- Extreme reliability.
- Improved app mobility; easily change where and how your app is deployed.
- Flexible capacity; scale up or down based on actual needs.
Building web applications with ASP.NET Core, hosted in Azure, offers many competitive advantages over traditional alternatives. ASP.NET Core is optimized for modern web application development practices and cloud hosting scenarios. In this guide, you’ll learn how to architect your ASP.NET Core applications to best take advantage of these capabilities.
Version
This guide has been revised to cover .NET 6.0 version along with many additional updates related to the same “wave” of technologies (that is, Azure and additional third-party technologies) coinciding in time with the .NET 6.0 release. That’s why the book version has also been updated to version 6.0.
Purpose
This guide provides end-to-end guidance on building monolithic web applications using ASP.NET Core and Azure. In this context, “monolithic” refers to the fact that these applications are deployed as a single unit, not as a collection of interacting services and applications. In some contexts, the term monolith may be used as a pejorative, but in the vast majority of situations a single application is much easier to build, deploy, and debug than an app composed of many different services, while still achieving the business requirements.
This guide is complementary to “.NET Microservices. Architecture for Containerized .NET Applications“, which focuses more on Docker, microservices, and deployment of containers to host enterprise applications.