Software Architecture: The Hard Parts

Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani

出版时间

2021-11-16

ISBN

9781492086895

评分

★★★★★
书籍介绍
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 to succeed. 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--the authors 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 discoverand weigh the trade-offs as you confront the issues you face as an architect. You will: 🞄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
AI导读
核心看点
  • 聚焦分布式架构中的艰难权衡与妥协
  • 通过Sysops小队故事解析架构决策
  • 深入探讨服务粒度与耦合度管理
适合谁读
  • 面临单体转微服务挑战的架构师
  • 希望提升架构决策能力的开发者
  • 对分布式系统设计感兴趣的工程师
读前提醒
  • 需具备一定分布式系统理论基础
  • 关注书中提出的架构量子概念
  • 结合ADR记录实际工作中的决策
读者共识
  • 实用性强,方法论可落地到日常
  • 故事叙述风趣,可读性优于理论书
  • 部分读者认为缺乏深层痛点解决

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "These three progressions toward modularity demonstrate that as the level of architectural modularity increases, so does maintainability, making it easier to add, change, or remove functionality."
  • "How do architects determine the size and communication styles for microservices? Determining the proper size for microservices seems a pervasive problem—too small services create transactional and orchestration issues, and too-large services create scale and distribution issues."
  • "We start with our first great untangling of forces in distributed architectures: defining architecture quantum along with the two types of coupling, static and dynamic"
  • "Static coupling Represents how static dependencies resolve within the architecture via contracts. These dependencies include operating system, frameworks, and/or libraries delivered via transitive dependency management, and any other operational requirement to allow the quantum to operate."
  • "Dynamic coupling Represents how quanta communicate at runtime, either synchronously or asyn‐chronously."
  • "Independently deployable implies several aspects of an architecture quantum—each quantum represents a separately deployable unit within a particular architecture..... Making each architecture quantum represent a deployable asset within the architecture serves several useful purposes. First, the boun"
  • "The question answered by the static analysis for an architecture quantum is, “Is this dependent of the architecture necessary to bootstrap this service?”"
  • "High static coupling implies that the elements inside the architecture quantum are tightly wired together, which is really an aspect of contracts"
作者简介
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, Nealford.com. 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.
用户评论
非常实用的一本了,里面的方法基本都可以在日常项目上用到。作者也很风趣,可读性很强。
看的生无可恋,但是大核心跟想的很一致。有个特别奇葩的假设在脑子里。。。。
monolith to microservices 的方法论
Part I 读毕,非常精彩。虽然讲的是构建微服务系统,但有很多思维的“闪光之处”。所有的 trade off 应该建立在数据基础上,并通过检测程序变成开发流程的一部分内置特性,👏。第二部分未读,暂且留痕。
年度最佳
架构师进阶好书
收藏