Book Image

Hands-On Microservices with C# 8 and .NET Core 3 - Third Edition

By : Gaurav Aroraa, Ed Price
Book Image

Hands-On Microservices with C# 8 and .NET Core 3 - Third Edition

By: Gaurav Aroraa, Ed Price

Overview of this book

<p>The microservice architectural style promotes the development of complex applications as a suite of small services based on specific business capabilities. With this book, you'll take a hands-on approach to build microservices and deploy them using ASP .NET Core and Microsoft Azure. </p><p>You'll start by understanding the concept of microservices and their fundamental characteristics. This microservices book will then introduce a real-world app built as a monolith, currently struggling under increased demand and complexity, and guide you in its transition to microservices using the latest features of C# 8 and .NET Core 3. You'll identify service boundaries, split the application into multiple microservices, and define service contracts. You'll also explore how to configure, deploy, and monitor microservices using Docker and Kubernetes, and implement autoscaling in a microservices architecture for enhanced productivity. Once you've got to grips with reactive microservices, you'll discover how keeping your code base simple enables you to focus on what's important rather than on messy asynchronous calls. Finally, you'll delve into various design patterns and best practices for creating enterprise-ready microservice applications. </p><p>By the end of this book, you'll be able to deconstruct a monolith successfully to create well-defined microservices.</p>
Table of Contents (16 chapters)

Summary

In this chapter, we discussed the microservice architectural style in detail, its history, and how it differs from its predecessors, monolithic architecture, and SOA. We further defined the various challenges that monolithic architecture faces when dealing with large systems. Scalability and reusability are some definite advantages that SOA provides over monolithic architecture.

We also discussed the limitations of monolithic architecture, including scaling problems by implementing a real-life monolithic application. The microservice architecture style resolves all of these issues by reducing code interdependency and isolating the dataset size that any one of the microservices work upon. We utilized dependency injection and database refactoring for this. We also further explored automation, CI, and deployment. These easily allow the development team to let the business sponsor choose which industry trends to respond to first. This results in cost benefits, better business response, timely technology adoption, effective scaling, and the removal of human dependency. Finally, we discussed Azure Service Fabric and got an idea about Service Fabric and its different programming models.

In the next chapter, we will go ahead and transition our existing application to microservice-style architecture and put our knowledge to the test. We will transition our monolithic application to microservices by discussing the new technology stack (C#, EF, and so on). We will also cover the concept of seam and discuss microservice communication.