演进式架构(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

作为一种修辞手法,比喻试图描述两个互不相关的事物之间的相似度,以阐明它们的本质元素。软件架构就是一个很好的例子。我们通常会用建筑物的结构来比喻软件架构。构成建筑物的元素(外墙、内墙、屋顶、房间大小、层数,甚至建筑物的位置)都可以和软件架构里的元素[数据库、服务、通信协议、接口、部署方式(云、企业内部)等]关联起来。传统观点认为,在两种情形下,这些都是一旦落地就难以变动的东西,而这恰恰是建筑物的比喻不再适用之处。

如今,对软件架构来说建筑物的比喻已经不再适用。虽然向非技术人员解释软件架构是什么的时候,这个比喻尚可一用,但如今的软件架构必须具备足够的延展性才能应对快速的变化,这和物理的建筑物已经逐渐拉开了距离。为什么软件架构必须如此灵活?因为业务的常态就是快速变化,包括进行中的并购、收购,新业务线的创建,削减成本的措施,组织结构等。技术也是如此,框架、技术环境、平台和产品日新月异。为了更好地适应业务和技术环境,软件架构必须能够以同样的速度改变。大型公司的收购就是一个很好的例子。除了无数的业务问题和变化之外,支持主要业务应用程序的软件架构必须能够扩展,以满足另外的客户群体,并且必须具有适应性和可扩展性,以适应新的业务功能和实践。

许多公司已经知道了这一点,但仍为一件事而苦恼:如何使软件架构具有足够的延展性,以应对快速的业务和技术变化?答案就在这本书中。这本书建立在第1版所介绍的引导式变更和增量变更的概念之上,为大家提供了关于适应度函数、自动化架构治理和演进式数据的最新技术、知识和技巧,以确保大家的软件架构足够敏捷,能够跟上我们当下正在经历的瞬息万变的环境。

——Mark Richards

developertoarchitect.com

2022年10月