Book
Software Architecture: The Hard Parts
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Summary
Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani start from the premise that architecture's hardest problems have no best practice to fall back on, only tradeoffs to weigh explicitly, and they use a fictional team, the Sysops Squad, to walk through those tradeoffs as a running story rather than isolated examples. The book covers determining service granularity, decomposing a monolith and its database, managing distributed workflows and sagas, decoupling contracts between services, and handling distributed transactions, before closing with a framework readers can apply to their own tradeoff analysis. Its recurring argument is that in distributed architecture nearly every decision trades one operational characteristic, like scalability or consistency, against another, and pretending otherwise is how bad architecture happens.
Target Readers
- Architects who have read Fundamentals of Software Architecture and now face specific, thorny distributed-system decisions it doesn't resolve
- Engineers determining service boundaries or splitting a shared database who need a framework for weighing tradeoffs, not a single right answer
- Teams managing distributed transactions or sagas across services who need worked examples of the failure modes involved
Tags
Colophon
- Publisher
- オライリー・ジャパン
- ISBN
- 978-4814400065
- Published
- Oct 2022
- List price
- ¥4,180incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Fundamentals of Software Architecture, 2nd Edition
Mark Richards, Neal Ford
Reason: After grasping the fundamental characteristics, you advance to trade-off analysis in the hard parts that have no single right answer—service granularity, data ownership, distributed transactions. The same authors show not the answer but how to decide.
- Recommended
Building Evolutionary Architectures
Neal Ford, Rebecca Parsons, Patrick Kua
Reason: Once you have the idea of guiding evolution with fitness functions, you advance to concrete analysis of the hard parts of distributed architecture—granularity, data ownership, and communication trade-offs—from the same authors.
Next Books
- Recommended
Designing Data-Intensive Applications
Martin Kleppmann
Reason: When the hard parts of distributed architecture force decisions about decomposing data, you descend to the underlying theory of distributed data. The principles of consistency, replication, and storage engines become the grounds for your design decisions.