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)

Revisiting the FlixOne case study

In the preceding chapter, we looked at an example of an imaginary company, FlixOne Inc., which operates in the e-commerce domain and has its own .NET monolithic application: the FlixOne bookstore.

We have already discussed the following:

  • How to segregate the code
  • How to segregate the database
  • How to denormalize the database
  • How to begin transitioning
  • The available refactoring approaches 

The preceding points are important, as we are transitioning our monolithic application to a microservices-based application. In Chapter 1An Introduction to Microservices, we already discussed why we want to build microservices-based applications. The demand of the application, frequent updates, and 100% uptime (the availability of the application) are required to compete in the existing e-commerce market.

In the next sections, we will start...