Book
Release It!, 2nd Edition
Design and Deploy Production-Ready Software
Michael T. Nygard
Summary
Names the failure modes that take production systems down and the patterns that contain them: circuit breakers, bulkheads, timeouts, and steady-state design. Nygard opens with a case study of a single exception that grounded an airline, then works outward from processes on a machine to interconnects, control planes, and deployment. The second edition includes chapters on chaos engineering and design for deployment. This is a book about what happens after the code passes its tests.
Target Readers
- Engineers on call for production systems who keep meeting the same failure modes
- Developers designing services that need to degrade rather than collapse under load
Tags
Colophon
- Publisher
- Pragmatic Bookshelf
- ISBN
- 978-1680502398
- Published
- Feb 2018
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
マイクロサービスパターン
Microservices Patterns
Chris Richardson
Reason: Once you can implement distributed systems, designing 'how they behave when they break' becomes essential. Release It! provides stability patterns like circuit breakers and bulkheads, teaching you to design systems where failures don't cascade.
- Related
Concurrency in Go
Concurrency in Go
Katherine Cox-Buday
Reason: Once you can write concurrent code, you face 'concurrency-born' failures—timeouts, retries, resource exhaustion. Release It! provides stability patterns that assume such failures, teaching designs that let concurrent code survive in production.
- Related
Kubernetes in Action
Marko Lukša
Reason: Operating distributed systems on Kubernetes, you face cascading failures where one fault drags down the whole. Nygard's 'Release It!' systematizes stability patterns—circuit breakers, bulkheads—that contain failures, bringing 'keep running even when it breaks' design into K8s operation.
- Related
Practical Monitoring
Mike Julian
Reason: After setting up failure detection with 'Practical Monitoring', advance to designing how the system itself absorbs the detected failures. The stability patterns in Nygard's 'Release It!'—circuit breakers, timeouts—become an implementation toolkit for automatically containing the failures monitoring surfaces.
Next Books
- Recommended
Observability Engineering
Charity Majors, Liz Fong-Jones, George Miranda
Reason: After implementing stability patterns like circuit breakers from Nygard's 'Release It!', you must observe whether they actually work in production. 'Observability Engineering' makes the activation of those patterns and the system's internal behavior visible, making it verifiable that the 'unbreakable design' is functioning.
- Related
ドラゴンクエストXを支える技術
青山公士
Reason: After learning the design principles of robust systems through stability patterns, you learn from a case that practiced them in long-term operation. The continuous operation of a large-scale online game is a living lesson in how theoretical stability design is tested by real-world load and failures.
Sources
- Related
Site Reliability Engineering
Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
Reason: The stability patterns in 'Release It!' make individual services harder to break, but how to set targets for whole-system reliability and operate it organizationally is a separate question. Google's 'Site Reliability Engineering' integrates individual fault-tolerant design into organizational reliability management through error budgets and incident-response structures.