▶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
▶Key Features
- 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.