部署 SMARS 的工程师并不是此事唯一的责任人,Knight 设置的流程和他们所面临的风险并不匹配。此外,他们的流程天生就容易出错。任何时候,如果你的部署过程依赖于人主动阅读和遵循说明,那么都将面临风险。人是会犯错的。错误可能出现在指令中,也可能出现在指令的解释中,或出现在指令的执行中。
部署需要自动化,并且可重复,尽可能避免潜在的人为错误。如果 Knight 实现了自动化部署系统,将配置、部署和测试全部自动化,那么这次错误本可以避免。
即使没有实施完整的连续交付过程,你仍然需要遵守的几个连续交付原则:
软件发布应该是一个可重复、可靠的过程。
尽可能地自动化。
via:https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/
雷锋网(公众号:雷锋网)雷锋网雷锋网
本文标题:程序员的一次失误,在 45 分钟里搞垮了一家上市公司(3)