Table of Contents

The Importance of a Management Interface

管理接口的重要性

在中断期间,你更关心的是能不能控制系统,而不是系统能不能响应所有面向用户的请求。通过从网络硬件中改编控制平面的概念,工程师可以将数据传输的责任与控制消息分开。控制平面为管理和操作任务提供了一个统一的入口点,与发送用户数据本身不同。出于可靠性的目的,这种分离为操作人员提供了一种方法,即使系统没有按照预期的功能运行,也可以对其进行管理。让我们来看看为什么这一点很重要,以及如何知道何时分离系统的这些部分。

在GFS(Google文件系统)的早期版本中,有一个指定的节点负责所有的数据查询:成千上万的客户端中的每一个客户端都是通过向这个单一节点询问规范的位置来开始请求数据的。这个单一节点还负责响应管理请求,比如:”现在队列中的数据请求有多少?” 同一个进程负责这两组请求–一个是面向用户的关键请求,另一个是严格意义上的内部请求,也是关键请求,而且这个进程从同一个线程池中为这两个请求提供响应。这就意味着,当服务器超载,无法处理传入的请求时,负责系统的SRE就无法发送管理请求来减轻负载了!这就意味着,当服务器超载,无法处理传入的请求时,负责系统的SRE就无法发送管理请求来减轻负载了。

之前的GFS版本从来没有因为客户端的需求而出现过这样的超载现象,这也是为什么请求争夺现象一直不明显的原因。在下一个版本中,我们用控制平面将关键路径中负责操作的资源和用于管理操作的资源分开,GFS的生产质量得以大幅提升。

通过将这一概念扩展到多个服务上,(single)独立管理编程接口的好处就显而易见了:自动化的软件可以向一组异构的服务器发送 “更新到新版本 “的指令,它们可以对其进行解释并采取相应的行动。通过删除网络术语(By dropping the networking nomenclature ),我们将我们的请求分为管理层和数据层,并看到对于任何关键路径上的服务来说,将两者分开的重要性。通过在面向用户的操作之间划定边界,我们也可以对我们应用于数据测量的工具(instrumentation )更有信心;数据层的操作会使用和测量该层的资源,而不会与管理层的操作混为一谈。这反过来又会使面向用户的业务测量方法更加成功,这是服务水平目标的有用指标。

如何知道什么时候你已经正确地将管理请求与用户请求隔离开来?OpenTracing等工具可能会显示管理调用以及用户请求的完整路径,可能会暴露出非预期的交互。事实上,您的系统很可能会有一些连接点,比如管理界面实际影响用户路径的地方。虽然这种分离并不是完全和绝对的,但SRE应该能够识别他们构建和操作的系统的这些部分之间的界限。

为了实现这种分离,对于已经构建好的软件,比如第三方应用程序,你可能需要添加一个单独的服务,它就像一个sidecar一样,附着在核心软件上,通过一个通用的接口,比如HTTP服务器,为管理API提供一个端点。这个胶着的管理层可能是最终与核心软件集成的前奏,也可能是一个长期的解决方案。这种系统设计方法将服务于面向用户的请求路径与提供管理责任的请求分开。

我们如何构建本书的结构

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