赢得自定义新的遗物弹球机!只需将数据书呆子提交以注册Futureestack。 现在注册

两个SRE之间:谷歌的Liz Fong-Jones和新瑞典的马修火焰

8分钟阅读

经过凯文凯西

如果您想了解网站可靠性工程的INS和OUT,则从实际完成工作的人们学习是有意义的。这正是这篇文章的全部:花费时间利兹福琼斯,谷歌的工作人员和新的遗物自己软件工程副总裁,马修火焰

自2008年加入谷歌以来,Liz一直在工作,在可靠性实践方面有着惊人的知识源泉蓬勃发展的sre角色。Matthew开始在姓名之前做广弃,目前从技术和文化角度都侧重于可靠性。

不要错过:定义现代软件角色:New Relic的SREs

两个专家分享舞台Futureestack:纽约,他们讨论了SRE角色和一堆相关主题,包括SRE与可扩展性之间的关键关系,测量可靠性的许多方式,建立SRE功能的最佳实践等等。

站点可靠性工程的重要性

新的遗物非常专注于SRE练习,Matthew Notes,“因为我们觉得可以将Devops原则的最纯粹的蒸馏变成特定作用。这是我们在组织和客户内部努力努力努力授权。“

与此同时,Liz解释了谷歌在SREs和其他软件工程师之间的区别每个人对其编码和生产系统的可靠性负责,SRE被指控开发特别专业的对不同系统如何工作的理解深度,如何使它们失败,如何改进,如何最好地设计和监控它们 -然后,他们必须与他们的同行分享,他们必须更专注于产品开发。

你可以在这篇文章的结尾观看整个视频,或者继续阅读一些最有用的亮点。

两个缩放轴

根据Matthew,公司必须计划的规模有两种类型或“轴”。第一轴是工作负载 - 物理主机或虚拟机的数量以及必须能够与在它们上运行的服务中有效地生长的其他资源。在服务依赖性的数量和组织本身的增长方面,第二轴是复杂性的。从根本上,网站可靠性工程是关于启用两种形式的可扩展性。

Liz支持这个想法,这是基于她在谷歌的早期经验,大约在2009年,她在谷歌工作Bigtable数据库服务。然后回到了很多手动努力,涉及在整个公司的共享服务中运行Bigtable。足迹仍然相对较小,但它很快就会显而易见的是,它会产生难题。随着Liz笔记,非SRE-或非Devops解决方案让我们雇用更多的系统管理员来帮助处理这种传入门票的洪流。但这种方法只是在一个问题上抛出更多人,实际上没有解决长期可扩展性。

Liz说,Liz说,通常归结为自动化:“超过10年的演变'我们如何从处理数十个脚印到数百或数千个足迹?”让我们自动化。“

资源管理,自助服务供应和其他领域对扩展非常重要,过于优化的自动化是SRE纪律的关键部分。利希兹说,凭借Bigtable,这涉及将基础设施拥有返回团队,以便他们对其工作量的可见性,并可以更有效地分配和管理自己的资源,而不是仅向OPS团队解雇请求。转变也使那些客户团队更幸福,因为他们更有赋权自治他们的基础设施。

Matthew flaming和Liz fong-jones
Matthew Flaming和Liz Fong-Jones在FutureStack舞台上

小团队+大规模=自动化

在许多情况下,相对较小的SRE团队必须支持巨额规模。(这应该特别感兴趣,没有谷歌资源的团队。)幸运的是,Liz和Matthew表示您不需要谷歌尺寸,从SRE练习中受益。事实上,谷歌本身就是一个有意识的选择,以维持一个相对较小的中央圣人团队,可以支持整个公司的数十个软件工程团队。

如上所述,实现所有工作的关键在于自动化。正如Liz所说的,我们的目标不是通过向他们扔更多的人来解决问题,“而是确保我们有足够的能力,这样我们就不会一直忙于处理罚单……而是为自动化腾出时间。”然后设计出我们的解决方案,即使自动化看起来很脆弱,也会产生问题。”

根据Liz的说法,要做到这一点,需要对流程和工具进行标准化:“如果一个SRE团队要支持50个不同的软件工程团队,如果他们各自做各自的事情,并且各自使用各自的工具,那么他们将非常困难。我们所依赖的方法是尝试形式化最佳实践是什么。我们如何使用这些最佳实践接触到尽可能多的产品开发软件工程同事?”

SLOS,SLIS和测量可靠性的重要性

服务级别目标或SLOS,对现场可靠性工程成功同样重要。随着Liz所说,SLO基本上是特定服务适当的可靠性水平的表示;它将因应用程序而异。没有斯洛斯,SRE团队基本上扔在没有目标的董事会的飞镖。

但是Liz指出,SLO本身并不能定义什么什么可靠性是。这是服务级别的地方指标(图书馆)。这些是代表业务某些方面的性能指标。例如,这可以是类似于“在200毫秒内成功完成且没有错误的用户查询的一部分”。

定义这两个对于每个系统组件都至关重要。“SLO是我们谈论九个数量的部分,如99.9%的可用性,”Liz说。“但是SLI是指在这个单一的一分钟或在这个月的这个数月中,有多少查询成功送达了?”

度量可靠性的必要性和内在挑战,包括像这样的度量MTBF,MTTR., 和MTTD.。最终,对组织来说,最关键的是开发他们自己的“风险矩阵”,它定义了诸如此类问题的答案,事件发生的频率是多少?它会影响多少用户?那么根据MTTD和MTTR,停机时间是多长?“你把这些数字相乘,”Liz说,“然后你就会看到你已经看到或预计看到的所有可能的中断类型。”

这将成为一个对问题和风险进行优先排序的强大工具,这将对您的sslos产生可量化的影响,同时降低可能不是特别紧急的问题。

如果你还在纠结从哪里开始,Liz建议看看你的可靠性目标(SLO)。其他的东西都是从那里生长出来的。Liz解释道:“如果你的头脑中没有一个企业和你的工程师都同意的可靠性目标,你就无法对这些东西进行推理。”“你要么做出决定,‘好吧,这将是一个短期问题。我们知道我们需要做什么,一个月后就会修好。(或者)让我们忽略任何事情,除非是灾难性的失败。或者,如果用户很高兴,你的服务99%的可用性而不是99.9%,也许这就是你应该设置SLO的地方。”

组织如何让SRES成功

SRE功能通常看起来与组织不同——例如,在一个公司中它可能是自己的部门和管理链,而在另一个公司中是分布式团队和报告结构——这很好。

无论如何,Liz强调了实施正确的激励措施和奖励,以追求可靠性促进卓越的重要性。If you say you value simplicity but your goals and incentives are actually rewarding people for writing huge, complex systems that are a pain to maintain, you’re doing it wrong and you’re likely to end up with a huge complex system that is a pain to maintain.

“确保您有一名工作阶梯,真正奖励思考,从可靠性角度来看,这些产品使产品具有优异的产品,”她指出。对于拥有社区的练习,非常关心的人来说是至关重要的,这些人在深深地关心可靠性并互相分享最佳实践 - 这就是真正创造了可靠性文化的原因。

沟通、谦逊和信任

通常,一旦合适的组织结构和激励措施就到位,这一切都归结为执行。作为SRE的成功取决于各种技能和特质 - 请务必退房或相关帖子非常成功的站点可靠性工程师的7个习惯欲了解更多。

与此同时,Liz和Matthew挖掘到SRE成功的根本基本要重要的东西:您可以始终教授技术技能,但您不一定必然会赋予同情和好奇心等同样的基本品质。“提出了工作的基本要素,”利兹说,“这是跨越多个团队工作的能力,无论是纯粹的SRE团队还是与产品开发和软件工程团队。”简单地说,“这真的是关于沟通,谦卑和信任。”