Table of Contents

Site Reliability Engineering in Six Words

网站可靠性工程师的六字诀

当刚认识的人问我是做什么工作的时候,我一般都会回话说:“我是网站可靠性工程师。我们保持大规模(可能上万台服务器的规模)计算机服务的可靠性。” 对于很多人来说,这已经足够无聊了,一般来说我们还在继续寒暄。不过偶尔,我也会碰到比这更好奇的人。“哦,这听起来很有趣!你是怎么做到的?”

这是一个很难回答的问题! SRE到底能做什么?许多年来,我只是依靠列出各种各样的东西–其中一些已经被写进了这本书的文章里。虽然这样的答案并不完全是错误的,但也从未感到真正的满足。必须有一个更有凝聚力的答案,当我反思我从事这项工作的十年,我想我终于想明白了。实际上,SRE所做的每一件事都依赖于我们做六件事的能力:测量、分析、决定、行动、反思、重复。

测量并不只是指收集数据。要测量某样东西,你心中要有某种目标。你收集面粉不是为了烤蛋糕,而是为了测量面粉,否则,事情最终会变得一团糟。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系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢