Table of Contents

When It Comes to Storage, Think Distributed

当涉及到存储时,请考虑分布式

几乎每一个应用程序,无论是在智能手机上还是在网络浏览器中运行,都会产生和存储数据。作为SRE,我们经常要负责管理大量的信息,这些信息为恒温器、交通路线、分享猫咪照片等广泛的应用提供指导和决策信息。分布式存储系统之所以受到欢迎,是因为它为数据管理提供了容错和可靠的方法,并为数据存储和检索提供了一种可扩展的方法。

分布式存储不同于存储设备、存储阵列和物理上连接到使用它的计算机上的存储,分布式存储系统将数据生产者与存储这些数据的物理介质解耦。通过将数据存储的风险分散到不同的物理介质上,系统提供了速度和可靠性,这两个特点是提供良好用户体验的基础,无论你的用户是一个兴奋地与世界各地的亲朋好友分享照片的人,还是另一台在流水线上处理数据的计算机。

分布式存储可以实现客户端的并发访问:由于系统将数据写入多个位置,因此没有单个磁头来阻塞所有读操作。如果数据变得非常热门,例如热门视频,可以异步地创建额外的数据副本,以支持客户端增加的读取需求。这是分布式系统使水平扩展成为可能的一个例子;虽然RAID(独立磁盘冗余阵列)系统保留了数据的多个副本,但它们不能以这种方式用于并发的客户端读取。

作为一个额外的好处,在分布式存储系统之上构建应用程序意味着,组织不必在运营商对存储设备应用内核补丁或其他关键升级时,发布 “我们的服务将在今晚3-4点不可用,进行定期维护”。没有单一的存储设备,有的只是一个存储系统,具有复制和冗余功能。

现代网络服务的承诺,一个全球一致的数据视图,无论是对单个用户还是对一个大型组织,如果没有分布式存储系统,几乎不可能实现。以前,这需要昂贵的设备到设备的同步,本质上是将磁盘或目录树从一台特定的计算机复制到另一台计算机;每一台计算机都是一个单点故障(single point of failure (SPOF))。

容错构成了可靠性的关键部分;通过在不同设备之间分担风险,分布式存储系统可以容忍存储设备无法容忍的故障。虽然存储设备可能有多个本地电源模块,但分布式存储系统也有类似的电源冗余加上机柜级电源多样性。这进一步稀释了风险,当分布式存储系统使用这种多样性来完善数据放置时,将导致数据存储对多级电源故障的弹性进一步增强。

与单个网络连接的存储设备相比,负责分布式存储系统的SREs需要关注不同的指标。例如,他们将监控离散数据块的计算可恢复性。这涉及到理解系统的实现: 存储系统如何布局数据,在哪里复制组成数据部分?系统多长时间需要重新复制一次数据以保持风险多样性,这是衡量系统检索数据准确性的指标?系统元数据多久出现一次缓存遗漏,从而更长的数据检索时间?

随着分布式存储系统实现了在全球范围内使用的应用和海量数据,它们为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系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢