Learn the essential concepts, techniques, and design patterns that will help you build scalable and maintainable distributed systems
Key Features
- Learn to design, implement, test, and deploy your microservices
- Understand the challenges and complexities of testing and monitoring distributed services
- Build modular and robust microservice architectures with the latest features of C# 8 and .NET Core 3.1
Book Description
The microservice architectural style promotes the development of complex applications as a suite of small services based on specific business capabilities. With this book, you'll take a hands-on approach to build microservices and deploy them using ASP .NET Core and Microsoft Azure.
You'll start by understanding the concept of microservices and their fundamental characteristics. This microservices book will then introduce a real-world app built as a monolith, currently struggling under increased demand and complexity, and guide you in its transition to microservices using the latest features of C# 8 and .NET Core 3. You'll identify service boundaries, split the application into multiple microservices, and define service contracts. You'll also explore how to configure, deploy, and monitor microservices using Docker and Kubernetes, and implement autoscaling in a microservices architecture for enhanced productivity. Once you've got to grips with reactive microservices, you'll discover how keeping your code base simple enables you to focus on what's important rather than on messy asynchronous calls. Finally, you'll delve into various design patterns and best practices for creating enterprise-ready microservice applications.
By the end of this book, you'll be able to deconstruct a monolith successfully to create well-defined microservices.
What you will learn
- Package, deploy, and manage microservices and containers with Azure Service Fabric
- Use REST APIs to integrate services using a synchronous approach
- Protect public APIs using Azure Active Directory and OAuth 2.0
- Understand the operation and scaling of microservices using Docker and Kubernetes
- Implement reactive microservices with Reactive Extensions
- Discover design patterns and best practices for building enterprise-ready apps
Who this book is for
This book is for C# and .NET Core developers who want to understand microservices architecture and implement it in their .NET Core applications. If you're new to building microservices or have theoretical knowledge of the architectural approach, this book will help you gain a practical perspective to manage application complexity efficiently.
Table of Contents
- An Introduction to Microservices
- Refactoring the monolith
- Effective communication between services
- Testing Microservices with Microsoft Unit Testing Framework
- Deploying microservices with Docker
- Securing Microservices using Azure Active Directory
- Monitoring microservices
- Scaling microservices with Azure
- Introduction to Reactive Microservices
- Design Patterns and Best Practices
- Building Microservice Application
- Microservices Architecture Summary
- Appendix