1.8 KiB
1.8 KiB
自指失效模式的奇特之美
- 期号: SRE Weekly Issue #290(2021-10-03)
- 作者: Lorin Hochstein
- 链接: https://surfingcomplexity.blog/2021/09/26/the-strange-beauty-of-strange-loop-failure-modes/
简介
部署工具由谁来部署?显然是部署工具自己——除非它宕机了。
正文
正如我之前写过的,我的日常工作围绕一个叫 Managed Delivery 的项目展开。刚加入团队时,我有点震惊地得知,支撑 Managed Delivery 的服务竟然是用 Managed Delivery 自己来部署的。
"这多危险啊!"我想。要是我们推出的变更把 Managed Delivery 搞挂了怎么办?我们该怎么恢复?不过,在团队待了一年多之后,我对这种做法有了全新的认识。
是的,有时候确实会发生故障,而且会让回滚变得更难,因为提供便捷回滚主要功能的恰恰是 Managed Delivery 自己。但这也意味着,当出问题时,团队在绕过 Managed Delivery 方面得到了大量练习。他们知道如何禁用 Managed Delivery,改用传统的 Spinnaker UI 部署旧版本;他们知道当 Managed Delivery 的 UI 响应异常时,该怎么去数据库里折腾排查。
这些自指失效模式(strange loop failure modes)是真实存在的:如果 Managed Delivery 挂了,我们可能失去借助 Managed Delivery 来恢复的能力。但这也意味着,当 Managed Delivery 出问题时,我们更有准备去应对。没错,Managed Delivery 依赖它自己,这确实有点怪。但我们对这种自指依赖引发问题时该如何处理是有经验的。而这是很有价值的。