在过去几年中,新的遗物在尺寸和复杂性的尺寸和复杂性具有显着的增长。每分钟,新的遗物系统处理超过3000万的HTTP请求,6亿新数据点,验证了超过50亿的事件。我们拥有超过40名工程团队运营的200多项独特服务,处理超过4个存储数据的千份。

扩大我们的可靠性实践来匹配这种增长已经证明了挑战。“可靠性”可以定义多种方式,但广泛地说,可靠的系统是稳定,可预测和高度可用的系统。不断发展的有效的可靠性实践需要迭代和适应作为一个组织,共同讨论了什么作品和没有什么。

回到2014年10月,新遗物经历了高度严重性,长期运行的事件,显示了我们公司的增长超过了现有的过程。我们努力解决事件,内部和外部沟通,并在后方申请经验教训。这对我们来说是一个叫醒的呼唤。

仅仅一年后,该公司又经历了一次严重的事故,但我们的反应非常不同。我们的客户知道发生了什么,我们的反应是冷静和有组织的,我们能够迅速解决事件。现在我们可能会发生严重事件,并为我们作为一个组织的反应感到骄傲。

那十四个月内发生了什么变化?

上个月,我有机会在我们的新遗物工程VP Matthew Flaming队讲述我们的可靠性故事Futureestack:伦敦活动,并分享七节课我们学习了大规模系统中可靠性重要性的艰难方式。

七(不是)的可靠性容易课程

第1课:不要等待完美的答案。

2014年10月发生在2014年10月发生的事件后,我们实施了新系统,以帮助将命令达到混乱。在一个月内,我们推出了电子邮件分发列表,更改验收板(CAB)和新事件管理工具。

如果导管磁带是您所拥有的,请从管道磁带开始并从那里迭代。

第2课:手动启动,然后自动化。

一些快速的转变过程并不完全起作用。我们的驾驶室与我们的工程师不受欢迎,并最终提高了释放的摩擦力,导致更大,频繁的部署较大。具有讽刺意味的是增加泄露会引发事故的风险。

因此,我们自动为低风险释放的驾驶室过程导致更快乐的工程师和更好的结果。我们还创建了Gatekeeper,即甚至进一步自动释放过程的“飞行前检查器”。我们而不是创造任意规则,我们转移到鼓励工程师明智地思考风险。

专注于澄清您试图解决的实际问题,然后逐步删除逐步自动化尽可能多的摩擦。

第3课:MTTR是(主要是)关于过程和人。

我们推出的第一轮工具有助于让我们更加了解事件,但是在单独的情况下没有替代方案,并提醒整个组织。因此,我们介绍了宣布严重性级别的过程,以区分“我们遇到一些滞后”和“整个网站已经下降!”我们还将我们的高级员工添加到呼叫旋转和工程师。现在我们可以更具选择性,以及当我们发出警报时的选择性。
在FutureStack的渴望

然后我们创建了新的遗物紧急响应力,以便在最糟糕的事件期间进入,并确保事情顺利运行。

在您的平均分辨率(MTTR)的平均时间需要炼制您的流程,以便事件变得可管理,并且当事情侧向时,您的流程本无法跟上正确的人。

第4课:定义可靠性的现实,具体度量。

有一段时间,我们试图实现100%的可靠性。那可不太顺利。

我们弄清楚了“我们的可靠性有多好?”是错误的问题,因为“可靠性”对不同的人意味着不同的东西。相反,您需要一个常见的经验语言:什么构成您服务的可用性?不同服务的可用性级别满足您的客户?定义混凝土指标,一如既往地迭代!

第五课:每次都让正确的答案简单。

首先,我们专注于解决速度更快,并奏效。然后,我们意识到我们一遍又一遍地回收同样的问题。

这是我们的“不要重复事件”过程的成因,这解锁了一个新的稳定时代(休息良好的工程师):

对于导致SLA违规的所有事件,除了与修复事件的根本原因直接相关的变化之外,所有与该团队的掌握都会停止。

当然,常识适用:如果修复是不可行的,减少重复事件的可能性的合理步骤,或者如果问题发生重复,则会足够的措施。

获得正确的答案是不够的。创建流程,以便正确的答案变得不可避免。

第6课:不要等待事件来揭示你的问题。

我们介绍了一个服务成熟度模型,给了我们一个接近可靠性的框架:

  • 确定风险矩阵中的已知风险,分配可能性严重程度每个风险。
  • 监控和警报,从高似然/高度严重风险开始,从那里工作。
  • 减轻已知的风险,尽可能远离高似然性/高度严重的物品。

一旦你减轻了已知的风险,进行游戏日和混乱测试将有助于发现新的问题,在它们令你吃惊之前。

第七课:自主≠单干

我们的网站可靠性工程师(SRES)嵌入团队中,致力于为其服务的可靠性挑战。

我们的可靠性工程团队优化可靠性工具和流程,并在整个组织中传播最佳实践。

现场可靠性冠军在交叉团队边界的可靠性问题上工作。

我们的文化奖项自治,但这并不意味着我们可以让团队自己解决可靠性。团队(和个人SRES)需要组织支持和投资来茁壮成长。

下一步是什么?

我们已经尝试了各种各样的事情,或者根本不合适,并且在我们从错误中吸取的每一步。在复杂系统中弄清楚可靠性不是一个优雅,有序的过程,而是一个迭代,进化的一个。

自2014年10月以来,我们已经改变了很多,并且由于我们继续增长和发展,期望更改一大堆。

想听到更多吗?加入我们即将到来的未来事件 -柏林是在6月23日,与纽约市在9月13日和14日之后。我们将更详细地分享我们的可靠性故事,我们很乐意听到您的声音。

伦敦活动售罄,我们在柏林看到了类似的需求,所以一定要这样做今天注册拯救你的地方。

跟随@FutuRestack.#futurestack.Twitter上的Hashtag保持更新。

Futureestack柏林

注意:活动日期,发言者和时间表可能会有所改变,恕不另行通知。

Beth Adele Long是一个软件工程师,其中俄勒冈州波特兰的新遗物可靠性工程团队。查看帖子

对新遗物博客的写作有兴趣吗?亚搏体育登入网送我们一个球场!!