Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures (Paperback)

Ford, Neal, Richards, Mark, Sadalage, Pramod



There are no easy decisions in software architecture. Instead, there are many hard parts--difficult problems or issues with no best practices--that force you to choose among various compromises. With this book, you'll learn how to think critically about the trade-offs involved with distributed architectures.

Architecture veterans and practicing consultants Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani discuss strategies for choosing an appropriate architecture. By interweaving a story about a fictional group of technology professionals--the Sysops Squad--they examine everything from how to determine service granularity, manage workflows and orchestration, manage and decouple contracts, and manage distributed transactions to how to optimize operational characteristics, such as scalability, elasticity, and performance.

By focusing on commonly asked questions, this book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect.

  • Analyze trade-offs and effectively document your decisions
  • Make better decisions regarding service granularity
  • Understand the complexities of breaking apart monolithic applications
  • Manage and decouple contracts between services
  • Handle data in a highly distributed architecture
  • Learn patterns to manage workflow and transactions when breaking apart applications



架構老手和實踐顧問 Neal Ford、Mark Richards、Pramod Sadalage 和 Zhamak Dehghani 討論了選擇適當架構的策略。通過交織一個關於虛構的技術專業人員團隊──Sysops小組──的故事,他們從如何確定服務粒度、管理工作流程和協調、管理和解耦合約、管理分散式交易,到如何優化可操作特性,如可擴展性、彈性和性能,進行了探討。


- 分析權衡並有效地記錄你的決策
- 在服務粒度方面做出更好的決策
- 理解拆分巨集應用程序的複雜性
- 管理和解耦合服務之間的合約
- 在高度分散式架構中處理數據
- 學習在拆分應用程序時管理工作流程和交易的模式


Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He's an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored seven books (and counting), a number of magazine articles, and dozens of video presentations and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting-edge software innovations, and a business-focused book and video on improving technical presentations. Check out his website,

Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark served as the president of the New England Java Users Group from 1999 through 2003. He is the author of numerous technical books and videos, including the Fundamentals of Software Architecture, Software Architecture Fundamentals Video Series, and several books and videos on microservices as well as enterprise messaging. Mark is also a conference speaker and trainer and has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.


Neal Ford是ThoughtWorks的導演、軟體架構師和梗圖管理員。ThoughtWorks是一家軟體公司,由一群充滿熱情和目標導向的人組成,他們以打破傳統思維來解決最棘手的技術挑戰,同時致力於革新IT行業並創造積極的社會變革。Neal是國際公認的軟體開發和交付專家,尤其在敏捷工程技術和軟體架構的交叉領域上。他已經撰寫了七本書(還在持續撰寫中),發表了許多雜誌文章,並在全球數百個開發者大會上發表了數十場視頻演講。他的主題包括軟體架構、持續交付、函數式編程、尖端軟體創新,以及一本關於改善技術演示的商業書籍和視頻。請查看他的網站。

Mark Richards是一位經驗豐富的實踐型軟體架構師,涉足於微服務架構、服務導向架構和分散式系統的架構、設計和實現。他從1983年開始從事軟體行業,對應用、整合和企業架構具有豐富的經驗和專業知識。Mark曾在1999年至2003年擔任新英格蘭Java使用者組的主席。他是許多技術書籍和視頻的作者,包括《軟體架構基礎》、《軟體架構基礎視頻系列》以及幾本關於微服務和企業消息傳遞的書籍和視頻。Mark還是一位會議演講者和培訓師,曾在世界各地的數百個會議和使用者組上就各種與企業相關的技術主題發表演講。