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

Introduction to containerization and container orchestration

Containers provide processes isolation, meaning they run in an isolated space. They also provide effective control of I/O resources in a manner that is kind of like a sub-operating system hosted by an existing operating system with virtual boundaries.

The operating system that is hosting the container(s) can either be running on a physical machine or itself inside a virtual machine.

A container is an isolated place that is virtually boundary-walled using the process and namespace isolation technology provided by the host operating system so that an application running inside the container runs without affecting the rest of the system outside the container boundary.

The idea behind this kind of virtual environment was initially proposed by a MIPT professor in 1999. This was basically an improvement on the chroot model having three main components:

  • Groups of processes isolated by namespaces
  • A filesystem...