Preface
This book covers the most common design patterns and frameworks involved in modern cloud-based and distributed software architectures. It discusses when and how to use each pattern by providing you with practical real-world scenarios.
This book also presents techniques and processes such as DevOps, microservices, Kubernetes, continuous integration, and cloud computing, so that you can have a best-in-class software solution developed and delivered for your customers. This book will help you to understand the product that your customer wants from you. It will guide you to deliver and solve the biggest problems you can face during development. It also covers the do’s and don’ts that you need to follow when you manage your application in a cloud-based environment. You will learn about different architectural approaches, such as layered architecture, onion architecture, service-oriented architecture, microservices, single-page applications, and cloud architecture, and understand how to apply them to specific business requirements.
Finally, you will deploy code in remote environments or on the cloud using Azure. All the concepts in this book will be explained with the help of real-world practical use cases where design principles make the difference when creating safe and robust applications. By the end of the book, you will be able to develop and deliver highly scalable and secure enterprise-ready applications that meet the end customers’ business needs.
It is worth mentioning that this book will not only cover the best practices that a software architect should follow for developing C# and .NET solutions, but it will also discuss all the environments that you need to master to develop a software product according to the latest trends, such as Kubernetes, ASP.NET Core, and Blazor.
This third edition was improved in terms of code and explanations, and was adapted to the new opportunities offered by C# 10 and .Net 6.
Moreover, we also added a lot of completely new content, including a complete description of gRPC usage in .NET projects, more focus on portable microservices with a chapter dedicated to the .NET implementation of worker microservices, and another one dedicated to the ASP.NET core implementation of frontend microservices. We also explained how to interact with the RabbitMQ message broker form .NET.
We also added a short introduction to artificial intelligence and machine learning using ML.NET, and a chapter on native clients that also includes a preliminary description of .NET MAUI preview.