Book Image

Building Microservices with .NET Core 2.0 - Second Edition

By : Gaurav Aroraa
Book Image

Building Microservices with .NET Core 2.0 - Second Edition

By: Gaurav Aroraa

Overview of this book

The microservices architectural style 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 your business. We'll start by looking at what microservices are and their main characteristics. Moving forward, you will be introduced to real-life application scenarios; after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices using C# 7.0 with .NET Core 2.0. You will identify service boundaries, split the application into multiple microservices, and define 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 reactive microservices, you’ll strategically gain further value to keep your code base simple, focusing on what is more important rather than on messy asynchronous calls.
Table of Contents (11 chapters)

What this book covers

Chapter 1, An Introduction to Microservices, gets you familiar with microservice architectural styles, history, and how it differs from its predecessors: monolithic architecture and service-oriented architecture (SOA).

Chapter 2, Implementing Microservices, discusses the different factors that can be used to identify and isolate microservices at a high level, what the characteristics of a good service are, and how to achieve the vertical isolation of microservices.

Chapter 3, Integration Techniques and Microservices, gets you familiar with synchronous and asynchronous communication, types of collaborations, and the API gateway.

Chapter 4, Testing Microservices, explains how the testing of microservices is different from the testing of a normal .NET application. It gets you acquainted with the testing pyramid.

Chapter 5, Deploying Microservices, covers how to deploy microservices and best practices. It also takes into account the isolation factor, which is a key success factor, along with setting up continuous integration and continuous delivery to deliver business change at a rapid pace.

Chapter 6, Securing Microservices, explains how to make microservices secure with OAuth and takes you through container security and best practices in general.

Chapter 7, Monitoring Microservices, covers the debugging and monitoring of microservices, which is not a trivial problem but quite a challenging one, as there is no single tool in the .NET ecosystem that is, by design, made for microservices. However, Azure monitoring and troubleshooting is the most promising one.

Chapter 8, Scaling Microservices, explores scalability, which is one of the most critical advantages of pursuing the microservice architectural style. This chapter will explain scalability by design and by infrastructure with respect to the microservice architecture.

Chapter 9, Introduction to Reactive Microservices, gets you familiar with the concept of reactive microservices. You will learn how to build reactive microservices with the use of a reactive extension. It will help you focus on your main task and free you from the chores of communicating across services.

Chapter 10, Creating a Complete Microservice Solution, walks you through all the concepts of microservices that you have learned so far. Then, we will develop an application from scratch while putting all the skills you have learned to use.