网易首页 > 网易号 > 正文 申请入驻

架构师困境:选择已被验证的道路,还是自行开辟一条新路?

0
分享至


作者 | Pierre Pureur, Kurt Bittner

译者 | 张卫滨

开发软件就像一次旅行,在这个过程中,团队需要不断做出决策,既包括他们所构建产品的功能(即 MVP,最小可行产品),也包括支撑该 MVP 所需的架构(即 MVA,最小可行架构)。

采用这种方法的主要挑战在于,我们必须足够快速地构建出可发布的产品,以便团队能尽快获得关键反馈。

当团队寻求更快捷的获取反馈的方式时,他们必须决定,是选择一条他人已经走过的路径,还是另辟蹊径、自行探索。

有一种重用架构的方式,那就是使用其他团队已经采用的相同的平台或框架。一个优秀的平台或框架能让每个团队专注于自身独有的“增值部分”。重复造轮子毫无价值,因此忽视现有的平台和框架团队,实际上就是在浪费精力,未能聚焦于只有他们自己才能完成的事情。

平台和框架就像已经铺设好的道路,它们能够帮助团队在开发旅程中更快地前进,并提供定义明确的“出口匝道”或扩展点,让团队可以在需要时对平台进行扩展以满足自身的需求。但它们也附带一些副作用,可能使其变得不够理想。

团队需要针对如下问题做出判断,即何时(如果有的话)应当离开他人铺设的道路,通过扩展平台 / 框架,甚至开发全新的平台 / 框架,走出自己的路。

当团队以平台或框架作为其软件架构的基础时,所面临的挑战在于,选择一条最接近其目标目的地的“铺好的路”(即平台或框架),同时尽量减少绕行或新建工程。但是,MVP 的问题是这个“目的地”在项目初期往往是未知的。

1 平台和框架会替你做出许多决策,但其中有些是你根本不需要的

平台和框架通常具有一定的倾向性,这意味着在构建 MVA 时,团队需要做的架构决策更少。关键问题在于,团队能否接受平台开发者所做的那些决策?理想情况下,团队应审视自身所需的架构决策,并与平台已做出的决策进行对比。

这带来了两个重要的挑战:

  1. 团队往往会在实验获得的经验反馈中,逐步发现他们真正需要做哪些决策;

  2. 平台开发者所做的决策并不总是明确或最终的,尤其当平台提供了扩展点,要求使用团队自行填充代码时更是如此。在“铺好的路”这一隐喻中,这些扩展点正是团队可以偏离主路、走上自己方向的地方。

许多平台的决策是无害的,只要不影响团队必须满足的质量属性需求(QAR),就可以接受甚至忽略。判断这些决策是否会造成损害的唯一方法,就是通过实验暴露平台在哪些方面未能达成系统的目标。由于平台开发者所做的决策常常未被记录,甚至是未知的,所以团队必须要测试他们的系统(包括所依赖的平台),以确保架构目标(即 QAR)得以实现。

即使技术上可行,扩展平台或框架也可能非常复杂。其他使用该平台或框架的人可能不同意你所提出的决策及相关变更,或者他们可能更偏好其他方案,而这些方案又无法满足某些团队的实际需求。这也是为什么存在如此多功能相似的平台和框架的原因之一。

此外,当团队决定扩展某个平台或框架时,他们实际上做出了一个隐含承诺,也就是长期维护这些扩展。他们必须将这种成本和所需的时间 / 精力纳入决策考量。这包括未来升级应用以适配平台 / 框架新版本的成本和工作量;若不及时升级,可能导致应用崩溃、安全漏洞无法修复,也无法利用新版本在性能和可扩展性方面的改进。

2 平台和框架能节省时间,直到它们无法做到这一点为止

在我们的简化视角中,平台是指应用程序运行所使用的软件环境(以及提供支撑的基础设施),平台的一个样例就是 Amazon Web Services(AWS)。框架则是应用程序(或其一部分)部分完成的“骨架”,团队在它的基础上添加自身特定的业务逻辑,例如 Java Spring UI 框架。大语言模型(LLM)也可被视为一种平台,团队通过提示词(prompt)对其进行扩展。平台和框架通过提供大量现成的能力,简化了应用程序的开发。

但有时候,团队需要的功能与平台或框架所提供的有所差异,举例来说,LLM 可能无法处理团队所需输入类型,比如,需要处理电话通话的音频并响应指令。LLM 在录音室环境下表现良好,但面对在嘈杂的机场录制的语音时,可能就无法工作。团队需要先构建音频降噪过滤器,但随后可能发现这些过滤器仍不足以解决问题。此时,他们就不得不训练自己的 LLM,以便使用包含“噪声”的对话数据。

用“铺好的路”作比喻,LLM 提供了一条已被验证的路径,但它无法带领团队抵达真正想去的地方。一旦发生这种情况,团队别无选择,只能在如下三种方案中做出选择:尝试扩展该平台(如果可行)、寻找另一个平台,或者从头构建自己的平台。

他们的挑战在于,需要花费一定的时间才能判断,究竟是基于现有平台继续开发更高效,还是必须为自己的场景构建独特的方案。他们的选择受限于平台开发者所做的决策。如果能接受这些决策,那么基于平台开发可能是最佳选择;但如果不能接受,那么在此基础上开发就是在浪费时间,而时间,恰恰是他们最宝贵的资产。

3 帮助厘清替代方案的三个关键问题

MVP 和 MVA 本质上是对潜在解决方案的“下注”。它们可能正确,也可能错误,而评估这些“赌注”是否成功的唯一方式就是实验。以下 三个关于 MVP 的核心问题,有助于判断平台是否满足你的需求:这个产品值得构建吗?它能否在预期负载下实现可扩展性和性能? 它是否具备长期可维护性?


图 1:帮助确定架构决策的三个问题

团队在评估某个平台时,应结合这三个问题进行思考:

  1. 该平台有助于 MVP 的开发,还是阻碍 MVP 的开发?

    平台可能提供面向用户的功能,简化 MVP 的开发,但也可能附带团队无法接受的架构决策。借用道路的隐喻来说,唯一的方法是先沿着这条路走一小段,通过架构实验,检验平台所做的决策是否契合团队对 MVA 的需求。

  2. 该平台能否在预期的负载下实现可扩展性和性能?

    这里的难点在于,通常只有通过实验,你才能真正了解自己的可扩展性需求。借用道路的隐喻来说,你往往并不清楚自己需要的是一条车流稀少的双车道乡间小路,还是一条能够承载海量车流的高速公路。

  3. 基于该平台构建的架构是否具备长期可维护性?

    平台的演进速度通常比具体的业务系统更慢,因为它们的变更往往需要社区共识。当平台无法快速调整以满足需求时,团队就需要有明确的机制来扩展平台,直到平台本身能够做出相应修改。

这些问题不应该仅仅停留在激发思考和讨论的层面,必须通过实验进行实证评估。在实践中,这些实验体现为可执行的测试,可以在系统构建过程中持续运行。频繁对系统进行测试,以评估当前架构是否仍然适合目标用途,有助于避免后期出现不可控的大规模返工。

尽管上述三个问题看似按线性顺序展开,但实际上它们构成了一个循环(如图 1 所示):针对性能 / 可扩展性和模块化所做的调整,不应危及整体解决方案的有效性。

4 结论

平台就像一条现成的道路,可以让团队在交付 MVP 的旅程中更加轻松,但前提是,这条路确实通往他们想去的地方。团队在使用平台时面临的核心挑战在于,至少在项目初期,他们并不完全清楚自己的目的地,因此也无法确定平台所提供的“铺好的路”是否能带领他们抵达那里。

判断这条道路是否适合其 MVP 的一个重要方法,就是先走一小段,看看方向是否仍然正确,而这个“正确的方向”,正是由团队的质量属性需求(QAR)所定义的。

最终,团队不可避免地会在某个时刻离开平台所提供的“铺好的路”,走出自己的路径。通过实验,他们可以判断何时、何地需要这样做,是扩展平台以满足自身需求,还是开发平台完全未提供的全新解决方案,甚至彻底替换掉原有的平台。

The Architect’s Dilemma: Choose a Proven Path or Pave Your Own Way?(https://www.infoq.com/articles/architects-dilemma/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
48小时不到涨粉超100万!呆呆双手插兜、眼神呆滞,有点不知所措

48小时不到涨粉超100万!呆呆双手插兜、眼神呆滞,有点不知所措

甜柠聊史
2026-01-12 17:39:40
辞去央视工作,嫁大18岁李铁为妻,如今52岁张泉灵已走上另一条路

辞去央视工作,嫁大18岁李铁为妻,如今52岁张泉灵已走上另一条路

触摸史迹
2026-01-08 17:30:40
2026年慢病报销巨变!6种病免办卡直接省一半钱,大多数还不知情

2026年慢病报销巨变!6种病免办卡直接省一半钱,大多数还不知情

复转这些年
2026-01-11 23:32:18
“世界真奇妙,退休才知道”,副部级徐宪平1月12日晚将在中纪委专题片出镜

“世界真奇妙,退休才知道”,副部级徐宪平1月12日晚将在中纪委专题片出镜

澎湃新闻
2026-01-12 08:02:28
贡萨洛告别阿隆索:感谢您为我所做的一切,给了我宝贵的机会

贡萨洛告别阿隆索:感谢您为我所做的一切,给了我宝贵的机会

懂球帝
2026-01-13 07:00:11
热搜爆了!iOS微信通知能显头像,你更新体验了吗

热搜爆了!iOS微信通知能显头像,你更新体验了吗

雷科技
2026-01-12 22:44:52
跳水奥运冠军张家齐回应直播带货:接受大家批判,但我也要生活

跳水奥运冠军张家齐回应直播带货:接受大家批判,但我也要生活

懂球帝
2026-01-12 11:45:40
外交部介绍加拿大总理卡尼访华有关安排

外交部介绍加拿大总理卡尼访华有关安排

新华社
2026-01-12 16:46:03
降温10℃!江苏发布最新下雪预报

降温10℃!江苏发布最新下雪预报

荔枝新闻
2026-01-12 11:03:07
吉林一市委原常委,主动向组织交代问题!

吉林一市委原常委,主动向组织交代问题!

中国青年报
2026-01-12 20:57:06
当美国“不演了”,世界将面临什么

当美国“不演了”,世界将面临什么

上观新闻
2026-01-12 06:30:31
1950年新疆平叛,解放军血战孤城40天,战后军区下令此马永不退役

1950年新疆平叛,解放军血战孤城40天,战后军区下令此马永不退役

干史人
2026-01-10 08:30:08
长腿:一道被误读的地平线

长腿:一道被误读的地平线

疾跑的小蜗牛
2026-01-12 23:24:34
2轮4分!亚洲冠军比中国队还危险:打平韩国=可能出局 3队同积5分

2轮4分!亚洲冠军比中国队还危险:打平韩国=可能出局 3队同积5分

侃球熊弟
2026-01-12 22:14:21
特朗普准备打世界大战?美国人先发出警告,日本要有思想准备

特朗普准备打世界大战?美国人先发出警告,日本要有思想准备

兴史兴谈
2026-01-13 06:42:41
蔡依林演唱会被举报!几百封举报信至各地文旅,斯利亚发视频挑衅

蔡依林演唱会被举报!几百封举报信至各地文旅,斯利亚发视频挑衅

照亮你的前行之路
2026-01-12 23:43:30
金球奖来啦!甜茶击败小李拿影帝,事业爱情双丰收!但表情包这块,还是小李权威啊...

金球奖来啦!甜茶击败小李拿影帝,事业爱情双丰收!但表情包这块,还是小李权威啊...

英国那些事儿
2026-01-12 23:23:57
合川千人刨猪汤后续:母亲独自打扫,本人哭求帮忙,粉丝擅自乱闯

合川千人刨猪汤后续:母亲独自打扫,本人哭求帮忙,粉丝擅自乱闯

丁丁鲤史纪
2026-01-12 15:59:20
开年A股风格分化:沪指跑输个股均值,超级大盘超八成收跌,中小盘股扛旗领跑

开年A股风格分化:沪指跑输个股均值,超级大盘超八成收跌,中小盘股扛旗领跑

财联社
2026-01-12 18:36:06
78年,我和弟弟去大伯家借10斤大米,回家后母亲敞开米袋子哭了

78年,我和弟弟去大伯家借10斤大米,回家后母亲敞开米袋子哭了

小月文史
2024-08-30 15:32:41
2026-01-13 07:19:00
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
11932文章数 51695关注度
往期回顾 全部

科技要闻

面对SpaceX疯狂“下饺子” 中国正面接招

头条要闻

"摇人杀猪"女孩一天涨粉150万:我捅了大娄子

头条要闻

"摇人杀猪"女孩一天涨粉150万:我捅了大娄子

体育要闻

一场安东尼奥式胜利,给中国足球带来惊喜

娱乐要闻

蔡少芬结婚18周年,与张晋过二人世界

财经要闻

倍轻松信披迷雾 实控人占用资金金额存疑

汽车要闻

增配不加价 北京现代 第五代 胜达2026款上市

态度原创

健康
房产
旅游
家居
时尚

血常规3项异常,是身体警报!

房产要闻

重磅调规!417亩商改住+教育地块!海口西海岸又要爆发!

旅游要闻

走进布哈拉古城

家居要闻

包络石木为生 野性舒适

看了日本主妇的搭配才明白,年纪大了这么穿,优雅又不油腻

无障碍浏览 进入关怀版