Book Image

Adopting .NET 5

By : Hammad Arif, Habib Qureshi
Book Image

Adopting .NET 5

By: Hammad Arif, Habib Qureshi

Overview of this book

.NET 5 is the unification of all .NET technologies in a single framework that can run on all platforms and provide a consistent experience to developers, regardless of the device, operating system (OS), or cloud platform they choose. By updating to .NET 5, you can build software that can quickly adapt to the rapidly changing demands of modern consumers and stay up to date on the latest technology trends in .NET. This book provides a comprehensive overview of all the technologies that will form the future landscape of .NET using practical examples based on real-world scenarios, along with best practices to help you migrate from legacy platforms. You’ll start by learning about Microsoft’s vision and rationale for the unification of the platforms. Then, you’ll cover all the new language enhancements in C# 9. As you advance, you’ll find out how you can align yourself with modern technology trends, focusing on everything from microservices to orchestrated containerized deployments. Finally, you’ll learn how to effectively integrate machine learning in .NET code. By the end of this .NET book, you’ll have gained a thorough understanding of the .NET 5 platform, together with a readiness to adapt to future .NET release cycles, and you’ll be able to make architectural decisions about porting legacy systems and code bases to a newer platform.
Table of Contents (13 chapters)
1
Section 1: Features and Capabilities
4
Section 2: Design and Architecture
7
Section 3: Migration
10
Section 4: Bonus

Deploying .NET 5 applications to containers

Azure App Service and Azure Functions are both great options when we purely want to focus on application logic and don't want to worry about the OS, web server, patching, and so on. Sometimes, we do need some control over these parts of the infrastructure. Some example requirements are as follows:

  • We might want a .NET Framework assembly deployed to the Global Assembly Cache (GAC). This is not allowed in Azure App Service.
  • We might want to run the application on a specific flavor of Linux.
  • We might want to deploy related microservices on the same physical node to reduce latency.
  • We might to control the life cycle of multiple microservices as a single unit for ease of management.

For all of these scenarios, running applications on containers could address these requirements. Let's briefly talk about two widely used container orchestration options for Azure.

Azure Container Instances

Azure has a number...