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

消除琐务:会随规模一起长大的活,才是真正的敌人

Site Reliability Engineering · Ch 5 · Google(Vivek Rau)· 2016

EN →

这一章讲什么?

你手机上那些 App 背后,都有一群人负责「让它一直能用」。这一章讲的不是技术,而是这群人的时间该怎么花——它给了一条听上去很硬的规矩:至少一半的时间,必须留给「以后能少干活」的事。

先打个比方

一家面馆生意好起来,脏碗跟着变多,只能不停加洗碗工——客人翻一倍,洗碗的人也得翻一倍。而买一台洗碗机是另一种活:干一次,往后一直省。这一章要区分的就是这两种活。判据不在于活累不累、烦不烦,而在于客人翻倍的时候,它会不会跟着翻倍

先说个怪事

很多人以为这里说的「该消灭的活」就是「我讨厌干的活」。不是。开会、填报销、面试新人也讨厌,但它们不算——生意翻倍它们也不翻倍,而且本来就不该指望机器替你干。反过来,有些活干起来还挺舒服:点几下就完事、几乎不会出错、干完当天就有成就感——可只要客人一多它就跟着多,它正是这一章盯着的那种活。

核心的点子:给它划一条不许越的上限

Google 的做法很直接:这种活不许占掉超过一半的时间,剩下一半必须拿去做「让这种活以后变少」的事。为什么非得立成硬规矩?因为不划线的话,它会自己把时间吃干净——它总是急的、总有人在旁边等着,做完还有人道谢;而「把这套流程改造掉」要花两个月,期间没有任何人感谢你。急事永远赢过重要的事,除非你提前把重要的事的时间锁死。等回过神来,会发现整个团队都在做机器就能做的事:没人长本事,能干的人陆续走掉,剩下的人活更多。

怎么做到

第一步不是自动化,是记账:这个月这种活占了几成、集中在哪几件事上。绝大多数团队都高估了自己的自动化程度,一记账才发现八成时间耗在两三件小事上。然后只挑最大的那一两件下手——Google 有个团队专门把网络设备的换件流程自动化,做了大约一年,此后每个月省下几百小时。最好的结局甚至不是「让机器来做」,而是让这件事根本不必发生:与其写个机器人替人审批,不如把那道审批取消掉。诚实的代价:自动化本身也要养——写它要几个月,写完还得修 bug,还可能在半夜替你按错按钮;所以一件活一年只吃你十来个小时,就别自动化它,划不来。

一句话记住

判断一件活该不该被消灭,别问「我烦不烦」,问「客人翻十倍时,它会不会也翻十倍」。会的,就给它划上限、老实记账、挑最大的那件动手;不会的,那可能只是工作本身。

想进到具体机制、数字和示意图? → 切到精读版