Table of Contents

A Word from Software Safety Nerds

来自软件安全书呆子的一句话

任何负责照顾和喂养即使是最不起眼的服务的 SRE 【1】都不可避免地会遇到 Bad Day™。在事件发生后,我们会发现自己成为了事后分析的一方。运维回顾——对我们软件开发人员和运营工程师来说,这是一个更准确的名称,除非你的故障导致了实际死亡——对你来说可能并不陌生。你可能对安全的概念感兴趣,对我们作为个人、团队和整个组织如何从软件事故中学习的机制感兴趣,这才是新闻。

以下是我们软件安全专家发现的一些见解,并正在积极研究,试图帮助我们从这些有影响的事件中学习更多:

倾心于复杂性
  在过去的15年里,网络规模的分布式系统的兴起,重新激发了人们对理解复杂性科学对我们领域的真正影响的兴趣。许多SRE在口头上谈论这个词,但正是Mark Burgess在《寻找确定性》中描述的配置管理工作,为我们考虑我们的系统,特别是在云中的系统,与量子物理学有更多的共同点,而不是与基于等价交换、因果反应的物理学。

量子的意义
  一旦我们接受了我们系统复杂性的真实性质,这就对我们传统上在事件分析中所依赖的一系列模型和方法提出了质疑;突然间,线性模型就非常不适合描述事件。一旦直线性下降,“根本原因”、“五个为什么(Five Whys)”和最佳实践也会随之下降。这可能会让人感到震惊,但我们所处的复杂世界对这些概念没有任何作用。

重新认识责任
  你的团队有多少事件是归咎于 “人为错误”?一个没有线性的复杂世界也要求我们放弃将人为错误的概念作为事件的解释。从根本上说,它是“我们决定停止提问的时间点”的代表。无责任回顾会议的增加是一种实施方式,但由于责备是人类对压力的一种根深蒂固的反应,重点正在从缺乏责备,一个不可能的秩序,转向责备意识,当我们承认责备的存在(通常是由工程师责备自己!),并在我们的事件分析中寻求以一种有效的方式超越它。

我们系统中的人
  在描述我们的复杂系统时,增加了 “社会技术(sociotechnical)” 的修饰语。它承认SRE的工作不仅仅是推送代码,管理数据,以及保持比特的快乐和机器的运转。这项工作是由人完成的,而且是由人直接对系统的成功和失败做出贡献的,我们长期以来一直忽视了这一点。如果我们真的想改善这些系统,我们需要改变这种状况。

专业知识的培养
  最后,这一运动正在挑战这样一种观念,即事故分析的唯一目的是集思广益、记录和制定补救项目。这些都很重要,但真正的改进价值在于培养我们自己和彼此之间的专业知识,而不是调整后的告警或额外的单元测试。后者解决了我们遇到的事件;前者将解决我们下一次遇到的事件。

安全科学在如何改善我们的工作和我们所关心的系统的可靠性方面有很多东西可以教给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系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢

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

延伸阅读

1.Site Reliability Engineering-中文
   Site Reliability Engineering-english