专业书籍精读 · SRE · 第 34 章

结语

Site Reliability Engineering · Ch 34 · Google · 2016

EN →

这一章讲什么?

你每天刷的那些 App 背后,都有一群人专门负责一件事:别挂。这一章是一本七百页厚书的最后两页,作者要干的事只有一件——把前面三十三章拧成一句话说完。

先说个怪事

这群人给自己定的目标,不是「永远不出故障」,而是「今年准许挂掉大约半小时」。更怪的是:如果到年底这半小时还没用完,他们会被提醒——你太保守了,去多冒点险。

听起来像在偷懒。其实这是全书最硬的一招:把「别出事」这件没法讨论的事,换成了一件能算账的事。

旧世界为什么难

老办法里,写功能的人和守稳定的人被摆成了对立面:一个想快点上线,一个想少变动。两边都真心觉得自己对,而且谁手上都没有数——于是「这个版本能不能发」就变成了一场比嗓门、比资历、比谁能拖的会。

更麻烦的是,出事之后的第一件事往往是找人。而你想知道故障到底怎么发生的,唯一的信息来源就是当事人的嘴;一开始罚,嘴就闭上了。

它是怎么做到的

三步,一步比一步反直觉。

第一步,把「好不好」变成一个能读的刻度。不再问「系统稳不稳」,改问「一百个人来用,有几个人用得顺」。这个数能读出来,就能被写进纸面:我们这个服务,做到多顺算合格。

第二步,把刻度剩下的那一截,变成一笔能花的钱。合格线定在「一百个人里失败不超过一个」,那「那一个」就是你的额度。它像家庭预算:有余额就敢花——多发版、多上新功能;花光了就停。

第三步,花光了自动踩刹车。注意「自动」两个字:刹车条件是出事之前大家一起写下来的,所以真到那天不用开会吵——规则替你说了。这是全书的枢轴:吵架变成了对账。

剩下两条是配套的:重复的活尽量交给机器,否则人会被日常杂事活埋,永远腾不出手做真正减少故障的事;出事只追「什么条件让这事成为可能」,不追谁干的,因为你要的是真相,而真相只能从人嘴里来。

带来了什么 / 该怎么选

结果是可靠性从一场嗓门比赛,变成了一次算账:多稳算够、还剩多少额度、这次发版值不值得花——三句话就能问完,而且谁都能对着数字回答。

代价只有一句,但很致命:这套东西成立的前提,是「额度花光了真的能把发布停下来」这件事被老板认过;没有这一条,额度就只是一张挂在墙上的装饰画。

一句话记住

可靠性不是靠更小心、更多人、更长的评审换来的,而是可以被定义、被测量、被预算、被自动执行的:先把「好不好」变成一个读数,再把读数剩下的那一截变成一笔能花的额度,花光就自动停。它要的不是英雄,是一把刻度尺和一条事先写好的规则。

想看 SLI/SLO/错误预算的具体机制、可用性档位的对照表和示意图? → 切到精读版