Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Sam Newman

Rating No ratings yet

Struggling with system failures despite multiple safeguards? In the world of software development, distributed systems have proven essential yet remain complex. In this insightful guide, author Sam Newman offers more than just technical solutions. By combining wisdom from human factors and system safety with proven stability patterns, you'll uncover a clear pathway to truly enhance resilience.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A practical guide to making distributed systems survive failure by pairing stability patterns (timeouts, retries, idempotency) with hard-won lessons from human factors and system safety. Best for developers, architects, SREs, and operations folks who already run distributed systems and want resilience to be more than a checklist. 【Book Arc】 - **Opening (~0%–10%)**: Frames the problem — distributed systems are now essential yet fragile, and the book promises a dual lens of technical stability patterns plus human/organizational factors. It also lays out the two-part structure (technical first, sociotechnical second). - **Early (~10%–30%)**: Defines resilience as the ability to withstand problems, recover, and keep evolving; explains why software failures matter more as systems spread; defines a distributed system and introduces the "two golden rules" (no instantaneous transmission; sometimes you can't reach the thing you want to talk to). - **Middle (~30%–50%)**: Deepens the failure model — latency, unreachable services, DNS and network failures — then pivots to the human factor via Three Mile Island and Challenger, introducing human factors/ergonomics and "normalization of deviance." - **Late (~50%–70%)**: Builds the sociotechnical view: humans are part of the system, not outside it; introduces models (e.g., a hexagonal sociotechnical model) to structure people, culture, and organizational context. - **Ending (~70%–100%)**: Moves into operational practice — incident management (alerts, rotas, operator burnout) and constant learning (post-mortems, culture, game days) — though the excerpts note several of these chapters are still "to follow" in this early release. 【Key Takeaways】 - **Resilience is more than "don't crash"** (Early): it means withstanding problems, recovering, and adapting as context changes — a definition that spans software, hardware, and the people around them. - **Two golden rules govern every distributed system** (Early): information cannot travel instantaneously, and sometimes the thing you want to talk to is unreachable. These two facts drive most resilience design decisions. - **Abstractions hide failure** (Middle): HTTP clients, RPC frameworks, and cloud services hide packetization, latency, and unreachability — so engineers forget what can go wrong behind the API. - **Humans are part of the system, not outside it** (Middle): Three Mile Island and Challenger show that confusing alarms and "normalization of deviance" cause outages as surely as bad code does. - **Sociotechnical thinking is required** (Late): culture, organization, and even political context (e.g., a government agency avoiding cloud-vendor lock-in) shape whether a system can be resilient. - **Incident response is a resilience feature** (Late): good alerts, sustainable rotas, and avoiding operator burnout matter as much as retry logic. - **Learning must be institutionalized** (Late): post-mortems translated into action, the right culture, and game days turn incidents into improvement rather than repetition. - **Technical patterns are named but not fully detailed in these excerpts** (Early): timeouts (including randomness), retries, and idempotency are introduced as chapter topics; the excerpts do not cover their full mechanics. 【Reading Tips】 - Read Part 1 (technical) as the foundation, but don't skip Chapter 1 — the definitions of resilience and the two golden rules anchor everything later. - Treat the human-factors chapters as core, not optional: the Three Mile Island and Challenger cases are the book's argument for why technical fixes alone fail. - Skim the chapter roadmap early to see what is still "to follow" in this early release; expect gaps in incident management and constant learning. - When you reach timeouts, retries, and idempotency, read deeply — these are the most actionable stability patterns, even though the excerpts only preview them. - Keep a notebook of your own system's failure modes as you read; map each chapter's concepts to real incidents you've seen. 【Coverage Limits】 This guide is based on stratified excerpts from a third early release; several chapters (fundamental concepts, incident management, constant learning) are marked "to follow," so detailed mechanics of timeouts, retries, idempotency, and consensus are not covered here.
Excerpt 1
27: Third Release See http://oreilly.com/catalog/errata.csp?isbn=9781098163549 for release details. The O’Reilly logo is a registered trademark of O’Reilly M...
View in text
Excerpt 2
This chapter covers the fundamental concepts of resiliency. I’ll define what resiliency is, and discuss the challenges of resiliency in the context of distri...
View in text
Excerpt 3
ines But distributed systems can get more complex than that. Consider a microservice architecture, as shown in Figure 1-2 . The arrows between the microservi...
View in text
Excerpt 4
fused and unable to carry out the right mitigating behavior. In the case of Challenger, what occurred became known as “Normalization Of Deviance” 11 . Despit...
View in text
Excerpt 5
d a model for resilience that focuses on four core concepts. Briefly, these concepts are: Robustness The ability to absorb expected issues, such as handling...
View in text
Excerpt 6
a a load balancer) that isn’t suffering from these problems. Finally, waiting forever (or too long for that matter), will mean you’ll hold on to more computi...
View in text
Excerpt 7
and what you can do to reduce the frequency that they occur. Tight Latency Bounds Although in general setting a timeout based on a percentile response time i...
View in text
Excerpt 8
arts its work, it knows that it only has 475ms left at most. It might under other circumstances be happy to wait up to 750ms for Media Library , but in this...
View in text
Tags
AI categories
Distributed SystemsSoftwareDevOps
Publish Year: 2025
Language: English
File Format: EPUB
File Size: 3.6 MB