Book Image

Building Microservices with .NET Core

By : Gaurav Aroraa, Lalit Kale, Manish Kanwar
Book Image

Building Microservices with .NET Core

By: Gaurav Aroraa, Lalit Kale, Manish Kanwar

Overview of this book

Microservices is an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within the business. We'll start by looking at what microservices are, and what the main characteristics are. Moving forward, you will be introduced to real-life application scenarios, and after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices. You will identify the service boundaries, split the application into multiple microservices, and define the service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future. With an introduction to the reactive microservices, you strategically gain further value to keep your code base simple, focusing on what is more important rather than the messy asynchronous calls.
Table of Contents (10 chapters)

Understanding the deployment terminology


It is important that we understand the terminologies around microservices. This will help us navigate through much jargon and buzzwords. This sets our microservice journey on the right track:

  • Build: In the build stage, the service source gets compiled without any errors along with the passing of all corresponding unit tests. This stage produces build artifacts.
  • Continuous Integration (CI): CI forces the entire application to build again every time a developer commits any change--the application code gets compiled and a comprehensive set of automated tests run against it. This practice emerged out of the problems of frequent integration of code in large teams. The basic idea is to keep the delta or change of the software small. This provides the required confidence of having software in a workable state. Even if a check-in made by a developer breaks the system, it is easy to fix it this way.
  • Deployment: Hardware provisioning and installing the base OS...