Table of Contents

Use Your Words

运用你的语言

谈到可靠性,我们习惯于讨论该领域的新进展,但可靠性最强大的力量之一也是最古老的力量之一:把事情写下来的古老艺术。记录我们想法的文化有助于我们设计、构建和维护可靠的系统。它可以让我们在误解导致错误之前发现误解,并且可以减少解决故障的关键时间。

代码是一种精确的沟通形式。一个PR reviewer可以在心理上对一个变化进行评估,并准确地评估它的作用。但他们不能说的是,它是否应该做那件事。这就是为什么彻底的PR描述如此重要。为了评估一个改动是否真的安全,代码审核人需要了解代码作者想要达到的目的。我们的文字也需要精确。

语言给我们一个共同的现实。它们迫使我们对自己诚实。一个在白板讨论中感觉相当合理的系统设计,一旦作者面对描述实际的迁移或部署计划,或者承认他们的安全策略是“希望没人注意到我们”,就可能有明显的漏洞。RFC或设计文档阐明了我们的假设。它们让我们读懂了对方的想法。

把事情写下来的文化可以减少歧义,帮助我们做出更好的决定。例如,只有当你知道服务的所有者认为 ”可用” 的含义时,99.9%的可用性SLO才能告诉你任何事情。如果有一个附带的SLO定义文档解释说,一秒钟的响应被认为是成功的,而你希望有10毫秒的延迟,你会重新评估这个后端是否适合你。

一旦做出决定,轻量级的架构决策记录就会留下痕迹,以解释做出决定的背景,团队考虑了哪些权衡,以及为什么他们选择了这样的路径。如果没有这些记录,未来的系统维护者可能会面对切斯特顿的大门(Chesterton’s gate):一个看似不必要的神秘组件,但它可能对可靠性至关重要。

写文档也能缩短事故时间。在服务中断期间,写好的游戏手册–为刚刚被通知到的压力过大的人阅读而优化的文档–可以提醒oncall人员系统是如何工作的,它的代码在哪里,它依赖什么,以及应该联系谁,从而节省脑力周期和宝贵的调试时间。

对于长时间的事故,事故状态文档可以记录谁参与了,正在探索哪些途径,哪些临时性的修复措施需要清理,当值班人员或事故负责人需要休息时,交接工作就容易多了。如果这些信息只储存在一个人的脑海里,他们会想要克服疲劳,继续参与事故处理,即使他们的感觉迟钝,他们的决定不再是最安全的。事故发生后,书面的回顾可以帮助我们从自己的错误中学习,也可以互相学习。

写文档在短期内需要更长的时间。在没有书面设计的情况下就开始编码,保证自己会记住事故中的收获,假设大家只是互相理解,肯定会比较容易。但如果你多花一点时间,用文字来描述发生的事情,你会帮助别人读懂你的心思,从而节省时间。即使是未来的自己,也可能会感激你现在写的笔记。

如果不投资于沟通文化,你是无法做好SRE的。写文档有利于提高可靠性,越精确越好。花点时间去做好它。

我们如何构建本书的结构

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系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢

延伸阅读

切斯特顿的篱笆墙(Chesterton’s fence)是一个原则,即在不了解现有事务状况背后的原因之前,不可以进行改革。引文摘自GK切斯特顿GK Chesterton)1929年的著作《事物》(The Thing),该书的标题为“The Drift from Domesticity”:

In the matter of reforming things, as distinct from deforming them, there is one plain and simple principle; a principle which will probably be called a paradox. There exists in such a case a certain institution or law; let us say, for the sake of simplicity, a fence or gate erected across a road. The more modern type of reformer goes gaily up to it and says, “I don’t see the use of this; let us clear it away.” To which the more intelligent type of reformer will do well to answer: “If you don’t see the use of it, I certainly won’t let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.”[[1]](

1.切斯特顿的篱笆墙(Chesterton’s fence)