Table of Contents

If You’re Doing Runbooks, Do Them Well

如果你在做运行手册,那么就好好做

运行手册(也称为剧本)并不是灵丹妙药(什么都不是),但是事件发生后的一个常见操作项目是“更新运行手册/添加缺少的运行手册”。那么我们为什么要坚持呢?

运行手册通常关注的是已知的未知数,而我们无法预测每一个问题。它们有着所有文档的缺陷:准确性、质量、可维护性、漂移(drift)。它们在时间紧迫、压力巨大的情况下被依赖。它们有时会成为可靠性问题上的脆弱绷带:团队不是投资于修复根本问题,而是过度投资于运行手册,创造新的劳作来源。他们可以被视为培训和经验的直接替代品,导致新的或经验不足的团队成员被派去处理他们还不了解的系统,仅仅是因为 “有运行手册”。不准确的或过时的运行手册有时比没有运行手册更危险。

从这个简短的列表中,你可能会认为我非常反对运行手册–恰恰相反。与任何系统一样,了解缺点意味着我们可以努力减轻或解决这些缺点,并从优点中更好地受益。

运行手册的创建、维护和审查应该是一个全团队的活动。认识到运行手册是解决知识分配问题(而不是技术问题),可以促进编写运行手册,特别是在以协作的方式进行时。运行手册记录了一个知道如何解决问题的团队成员的思维过程和决策。对该团队成员来说,一些可能的问题是:你用什么来确定是否有问题?你会使用什么工具?在你的决策过程中,有哪些信息?有什么行动是危险的或有风险的?在此过程的哪些部分使您感到震惊,并且建议您格外小心?作为一个团队定期审查运行手册,也可以对这些知识进行审查和质疑,特别是在系统发展的时候。

运行手册是技术债务。它们通常是一个系统的技术债务和劳作的唯一有用的文件。(在待办事项的底部徘徊的卡片不算。)在审查现有的运行手册时,团队应该质疑它为什么存在,以及它是否可以被消除。根据这个逻辑,有太多的运行手册是一种反模式。将运行手册视为跨系统编排(以人为控制器)可能还有助于了解哪些可以轻松实现自动化,哪些不容易实现,或者是否缺少控制系统。

第一次阅读或运行运行手册的最糟糕的时间是在事件发生时的半夜。想想灭火器或烟雾报警器:它们需要定期测试,以确保它们在紧急情况下需要时能够发挥作用。这包括检查链接和代码片断是否真的有效。记录运行手册最后一次使用或测试的时间,并对陈旧的运行手册进行检查,这也提供了一个机会来不断评估该运行手册是否仍然需要。

运行手册不能也不会解决每一个事件。但这很好;随着系统复杂性的增加,团队的成熟,以及事件变得更加新颖,对运行手册的投资开始出现收益递减的情况。在短期内,这可能意味着运行手册的重点的演变,要么是向有用的资源和诊断技术的方向发展,要么是向更简约的方法发展:隔离/终止/循环故障,如果这不起作用,则逐步升级。

从长远来看,围绕运行手册创造一种健康的文化和流程–换句话说,一种基于知识共享、协作、水平提升和准备的文化–甚至比运行手册本身有更好的回报。如果你在做运行手册,就好好做。

我们如何构建本书的结构

SRE虽然涉及复杂的技术系统,但归根结底是一种文化实践。文化是人的产物,这启发我们根据你在组织中的SRE数量来组织本书的各个部分–你具体处理什么,你的一天是怎样的,取决于有多少个SRE工程师。我们将本书的文章分为 “SRE新手” 、0-1个SRE、1-10个SRE、10-100个SRE和 “SRE的未来 ”。

读者如果想找寻先从哪里开始的指导,可以直接跳到最适用于自己的部分;但是,你仍然会发现阅读那些目前并不适用于你日常的部分的文章的价值。

在0到1个SRE时,还没有人被指定为SRE,或者你已经找到了你的第一个SRE,这个角色看起来几乎是孤独的。

在1到10名SRE时,你正在组建一个团队,有知识共享和分工的能力。

在10到100个SRE时,你已经成为一个组织,你需要思考的不仅仅是你所从事的系统,还需要思考如何组织这么多SRE。

“SRE新手” 涵盖了基础性的话题(尽管并不详尽!),对于那些刚刚开始SRE之旅的人来说是很有帮助的,即使是最有经验的SRE,也是一种复习。 “SRE的未来” 包含了一些文章,这些文章探讨了SRE潜在的发展方向,或者是(目前)坐拥时代潮流。

没有必要按照任何特定的顺序阅读本书。你可以从头到尾读一遍。或者,如果你对某个特定的主题感到好奇,可以翻到索引,在那里你可以找到关于该主题的所有文章。把它作为参考指南,或者是灵感的来源–可以在需要的时候提供一个震撼。或者,也许可以建立一个阅读俱乐部,每周一次挑选一篇文章与同事讨论。这就是散文集的魅力所在。我们希望你和我们一样喜欢阅读它们。

结语

SRE系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢

翻译不易,转载时请注明原文链接,谢谢