Building Microservices
616 pages
English
PDF
4.5

Building Microservices

Building Microservices

Author:

Year:

Summary:

Introduction

The book "Building Microservices" by Sam Newman is arguably the most authoritative and comprehensive work on designing and implementing microservice architecture. The second edition, published in 2021, was completely revised to reflect modern realities: containerization, orchestration, serverless, and the evolution of cloud technologies. Despite the examples in the book being written in Java, the concepts and patterns are universal and applicable to any language, including Python.

What the book is about

Newman systematically covers the journey from monolith to microservices, not shying away from complex topics: how to decompose a system, organize inter-service communication (synchronous via REST/gRPC and asynchronous via queues), ensure observability (logging, metrics, tracing), security, and testing. Separate chapters are dedicated to CI/CD, containerization (Docker) and orchestration (Kubernetes), as well as migration strategies. The book contains numerous real-world cases and antipatterns that will help avoid common mistakes.

Who this book is for

The book will be useful for:

  • Software architects who want to design a scalable and fault-tolerant system.
  • Backend developers (Java, Python, Go, etc.) looking to master the microservice approach.
  • DevOps engineers responsible for deploying and operating distributed systems.
  • Team leads and tech leads making decisions about transitioning from a monolith to microservices.

What the reader will learn

  • How to properly split a monolithic application into microservices.
  • Which protocols and data formats to choose for inter-service communication.
  • How to organize distributed tracing and monitoring.
  • How to test microservices (integration, contract, end-to-end testing).
  • How to set up a CI/CD pipeline for frequent and safe releases.
  • How to use Docker and Kubernetes for container management.
  • What migration strategies exist from monolith to microservices (Strangler Fig, Branch by Abstraction).
  • How to ensure security in a distributed environment (OAuth2, JWT, API Gateway).

Strengths

The main advantage of the book is its practical focus. Newman doesn't just list patterns; he explains in which situations they are appropriate and in which they are not. The book is written in a lively language, with complex concepts illustrated by diagrams and code examples. It is especially valuable that the author pays attention not only to technical aspects but also to organizational ones (Conway's Law, DevOps culture). The second edition includes new chapters on serverless, dependency graphs, and architecture evolution.

Who it is recommended for

The book is a must-read for anyone working with distributed systems or planning a transition to microservices. It is suitable for both beginners (thanks to a gentle introduction) and experienced professionals (in-depth chapters on observability and CI/CD). If you use Python, the Java examples will not be a hindrance — all concepts are easily transferable to FastAPI, Flask, Celery, and Kubernetes. We recommend keeping "Building Microservices" handy as a desktop reference book.

Recommendations