<Building Microservices with .NET Core 2.0 Second Edition> ▶Book Description
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.
▶What You Will Learn
- Get acquainted with Microsoft Azure Service Fabric
- Compare microservices with monolithic applications and SOA
- Learn Docker and Azure API management
- Define a service interface and implement APIs using ASP.NET Core 2.0
- Integrate services using a synchronous approach via RESTful APIs with ASP.NET Core 2.0
- Implement microservices security using Azure Active Directory, OpenID Connect, and OAuth 2.0
- Understand the operation and scaling of microservices in .NET Core 2.0
- Understand the key features of reactive microservices and implement them using reactive extensions
- Start your microservices journey and get a broader perspective on microservices development using C# 7.0 with .NET Core 2.0
- Build, deploy, and test microservices using ASP.Net Core, ASP.NET Core API, and Microsoft Azure Cloud
- Understand the basics of reactive microservices
▶Who This Book Is For
This book is for .NET Core developers who want to learn and understand the microservices architecture and implement it in their .NET Core applications. It's ideal for developers who are completely new to microservices or just have a theoretical understanding of this architectural approach and want to gain a practical perspective in order to better manage application complexities.
▶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 serviceoriented 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.
Distributed systems are always hard to get complete success with. Lately, microservices are getting a considerable amount of attention. With Netflix and Spotify, microservice implementations have the become the biggest success stories in the industry. On the other hand, there are people who are of the opinion that microservices are nothing new or that they are only a rebranding of SOA.
In any case, microservice architecture does have critical advantages—.particularly with regard to empowering the agile improvement and conveyance of complex venture applications.
However, there is no clear practical advice on how to implement microservices in the Microsoft ecosystem and, especially, by taking advantage of Azure and the .NET Core framework. This book tries to fill that void.
It explores the concepts, challenges, and strengths around planning, constructing, and operating microservice architectures built with .NET Core 2.0. This book discusses all crosscutting concerns along with the microservices design. It also highlights some important aspects to consider while building and operating microservices through practical How Tos and best practices for security, monitoring, and scalability.
- Gaurav Aroraa
Gaurav Aroraa is a Microsoft Most Valuable Professional [MVP] and has a degree of MPhil in computer science. His 19 years of experience in software development and application support using Microsoft Technologies spans across domains, such as aeronautics, finance, insurance, healthcare, construction, and media. He is a Scrum Certified Trainer/Coach, Microsoft Certified Technology Specialist, XEN certified for ITIL-F, and APMG certified for PRINCE-F and PRINCE-P. Gaurav likes to learn new processes and technologies and sharing his experiences with people.
He is a founder of InnatusCuro Software LLC, and his present responsibilities include application architecture, defining strategy for continuous integration, and deployment. Gaurav also plays a vital community role through the IndiaMentor platform. He is also managing DotNetSpider as a Webmaster.
▶TABLE of CONTENTS
1: AN INTRODUCTION TO MICROSERVICES
2: IMPLEMENTING MICROSERVICES
3: INTEGRATION TECHNIQUES AND MICROSERVICES
4: TESTING MICROSERVICES
5: DEPLOYING MICROSERVICES
6: SECURING MICROSERVICES
7: MONITORING MICROSERVICES
8: SCALING MICROSERVICES
9: INTRODUCTION TO REACTIVE MICROSERVICES
10: CREATING A COMPLETE MICROSERVICE SOLUTION