AI guide
# Building Microservices: Designing Fine-Grained Systems — Reading Guide
## 【One-Line Pitch】
A comprehensive, vendor-neutral field guide for architects, developers, testers, and IT operators who want to understand when microservices make sense, how to model and build them, and how to manage the organizational and technical complexity they introduce. If you're considering microservices or already struggling with them, this book gives you the balanced, practical grounding you need.
## 【Book Arc】
- **Opening (~0%–9%)**: Sam Newman sets the stage by explaining why he wrote this second edition — not to sell microservices, but to present them honestly. He covers what changed since the first edition (2015), including the mainstream adoption of microservices and new technologies like containers, Kubernetes, and serverless. This section frames the book's neutral, evidence-based tone.
- **Early (~9%–19%)**: The book's structure is laid out in three parts — Foundation, Implementation, and People. The Foundation chapters (1–4) introduce core concepts: what microservices are, how to model them using information hiding and domain-driven design, how to split a monolith, and the different communication styles (sync vs. async, request-response vs. event-driven).
- **Early (~19%–28%)**: The Implementation part (chapters 5–13) is previewed: communication technologies, sagas vs. distributed transactions, build and deployment options (containers, Kubernetes, FaaS), testing challenges, observability, security, resiliency, and scaling. This is where the book moves from theory to concrete techniques.
- **Middle (~28%–47%)**: Newman dives deep into the foundational idea of microservices as black boxes with stable, networked interfaces. He contrasts microservices with SOA, explains why independent deployability is the key forcing function, and argues for modeling services around business domains rather than technical layers. He also stresses that each microservice should own its own data — no shared databases.
- **Middle (~47%–53%)**: The discussion continues on how to find the right service boundaries, emphasizing that cross-service changes are expensive and should be minimized. Newman introduces the idea of prioritizing business cohesion over technical cohesion, and touches on how organizational design interacts with service boundaries.
- **Late (~53%–end)**: The People part (chapters 14–15) covers how user interfaces (BFFs, GraphQL) and organizational structures (stream-aligned, enabling teams) fit into microservice architectures. The book closes with practical guidance on making microservices work in real organizations.
## 【Key Takeaways】
- **Independent deployability is the core principle** (Middle): If you can't deploy a service independently, you don't have microservices. This forces you to get loose coupling, stable contracts, and clear boundaries right — and brings many ancillary benefits along the way.
- **Microservices are black boxes with networked interfaces** (Middle): Internal implementation details (technology, data storage) are hidden from consumers. This enables information hiding and lets you change internals freely as long as the external contract stays backward-compatible.
- **Model services around business domains, not technical layers** (Middle): Layered architectures (e.g., three-tier) cause changes to span multiple services. By making services end-to-end slices of business functionality, you minimize cross-service changes and make feature delivery more efficient.
- **Avoid shared databases** (Middle): Each microservice should own its own state. If a service needs data from another, it should ask that service via its API — not reach into its database. This preserves the ability to change internals without breaking consumers.
- **Microservices are not the default choice** (Opening): Newman explicitly states the book is neither pro- nor anti-microservices. He wants readers to understand the context in which microservices work well and the problems they can cause — a refreshingly balanced take.
- **SOA and microservices share DNA but differ in execution** (Middle): SOA's core idea is sound, but the industry failed to provide good guidance on granularity and communication protocols. Microservices learn from those mistakes by emphasizing business-domain modeling and pragmatic technology choices.
- **Cross-service changes are expensive — design to avoid them** (Middle): Rolling out a feature that touches multiple services requires coordination across teams and careful deployment ordering. Good boundary design makes such changes rare.
## 【Reading Tips】
- **Skim the acknowledgments and preface** (~0%–9%): These are mostly personal and historical context. Read the "What's Changed" section to understand the book's scope, then jump to Chapter 1.
- **Deep-read the Foundation chapters (1–4)** (~9%–28%): This is where the conceptual groundwork lives. Pay special attention to Chapter 2 (modeling with domain-driven design) and Chapter 4 (communication styles) — these are the ideas you'll apply every day.
- **Use the Implementation chapters (5–13) as a reference** (~28%–53%): You don't need to read these linearly. When you're facing a specific problem (deployment, testing, security), jump to the relevant chapter. The book is structured to support this.
- **Don't skip the People part (14–15)** (~53%–end): Many microservices failures are organizational, not technical. The chapters on user interfaces and team structures are shorter but crucial for real-world success.
- **Watch for the "forcing function" argument** (Middle): Newman's insight that independent deployability drives other good practices is the book's intellectual core. If you remember one idea, make it this one.
## 【Coverage Limits】
This guide is based on excerpts covering roughly the first half of the book (through ~53%). The later chapters on workflow, build, deployment, testing, observability, security, resiliency, scaling, user interfaces, and organizational structures are previewed but not deeply summarized here.
##
Passage locations
Excerpt 1
al sales department: 800-998-9938 or corporate@oreilly.com . Acquisitions Editor: Melissa Duffield Indexer: Judith McConville Development Editor: Nicole Tach...
View in text
Excerpt 2
nologies used to implement inter-microservice communication. Chapter 6, Workflow This chapter offers a comparison of sagas and distributed transactions and d...
View in text
Excerpt 3
OmniGraffle was used to create all the diagrams in the book. AsciiDoc was used to format the book and on the whole was excellent, with O’Reilly’s Atlas toolc...
View in text
Excerpt 4
ays to make cross-service changes as infrequent as possible. I often see layered architectures, as typified by the three-tiered architecture in Figure 1-2 ....
View in text