Table of Contents

Four Engineers of an SRE Seder

四位工程师的SRE家宴

在逾越节期间,家庭背诵一段经文,以解决人们可能提出的关于逾越节的问题。这些问题从四个孩子的角度提出,有助于将节日的重要性代代相传。在这里,我介绍了四个软件工程师询问可靠性的重要性。

自私的工程师问:“为什么你们的可靠性这么差?” 通过使用你的而不是我们的这个词,自私的工程师放弃了对可靠性的责任。当可靠性是你的工作,而不是我们的工作时,生活当然会更轻松–但可靠性越来越多地成为一种集体责任。

对他来说,我们必须向他解释在生产中拥有自己的代码对他自己和团队的重要性。当他决定在他的功能中添加什么样的可观察性,对数据存储进行哪些查询,或者是否要回绝一个资源密集型的功能请求时,这位工程师就像其他工程师一样,影响着生产的行为和可靠性。我们任何人都无法避免这种对生产的权力,如果我们逃避责任,我们就会把这种负担隐含在别人身上。鉴于这种责任的重要性和不可避免性,我们请他考虑一下,他是否可以在拥抱责任的过程中找到比推卸责任更多的职业发展和成功。

初级工程师问:“在我的机器上可以启动并使用。为什么这还不够?” 如果在开发环境中的成功意味着在生产环境中的成功就好了! 对他来说,我们勾勒出了开发和生产之间的巨大差异。我们可能会将生产中数据的规模和复杂性与为开发优化的有限的、经过策划的快照进行对比。或者,我们可能会将生产中配置的复杂的网络拓扑与开发中帮助他快速测试和迭代的本地和存根服务进行对比。

我们建议这位工程师回顾一下我们档案中的一些最尖锐或最令人头疼的事件报告。在产生这些事件的因素中,有一些肯定不会出现在开发环境中(更不用说重复出现了!)。

聪明的工程师在应对了许多事件并广泛阅读之后,会问:“错误预算如何防止我的下一次严重事件?” 哦,不幸的事实是,错误预算是回顾性的,不能预测–更不用说预防事故了。

对她来说,我们注意到尽管错误预算无法预测或预防事件,但它们为事件的准备奠定了基础。定义错误预算的过程为可靠性意味着什么,不仅对工程师和用户,而且对高管,销售和市场营销,一线支持以及整个组织都产生了一致性,透明度和共识。

我们要求她对她的错误预算充满好奇,并反思她所了解到的用户对我们系统的渴望。她是否发现错误预算有助于引起对生产行为的积极和持续的讨论?从长远来看,这有助于降低事故发生的可能性和影响。

最后,不确定如何构思问题的工程师会问,“为什么可靠性重要?” 我们为什么要对它感到好奇和热情呢? 对他们来说,我们认为可靠性是指系统按照预期运行,而用户希望软件是可靠的! 可用性——对请求快速、正确地响应,或者通俗地说,不发生故障——是一个常见的例子。用户还希望软件能够改变和改进,通常是以新特性、更好的性能或降低成本的形式出现。

这些愿望经常是相互矛盾的,他应该将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系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢

延伸阅读

Seder

a Jewish ceremonial service and dinner on the first night or first two nights of Passover 逾越节家宴(犹太教逾越节第一夜或第一第二两夜举行)