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)

Security in monolithic applications


To understand microservice security, let's step back and recall how we used to secure .NET monolithic applications. This will help us better grasp why a microservice's authentication and authorization mechanism needs to be different.

The critical mechanism to secure applications has always been authentication and authorization. Authentication verifies the identity of a user. Authorization manages what a user can or cannot access, which is nothing but permissions. And encryption, well, that's the mechanism that helps you protect data as it passes between the client and server. We're not going to discuss a lot about encryption, though. Just ensure the data that goes over the wire is encrypted everywhere. This is very well achieved through the use of the HTTPS protocol.

The following diagram depicts the flow of a typical authentication and authorization mechanism in .NET monoliths:

In the preceding diagram, we can see that the user enters his or her username...