Featured image of post Google SRE 白皮书: 《事故管理剖析》第二章 实战演习事故响应准备

Google SRE 白皮书: 《事故管理剖析》第二章 实战演习事故响应准备

Google 的生产服务事故管理方法,Google 编写这份报告(白皮书)是为了分享&总结一份:技术事故响应实践的指南。

我们已经讨论了管理事故的三个阶段和事故管理生命周期。现在,让我们讨论如何实战演习事故管理,以便在实际事故发生时,确保我们已经做好了准备。

灾难角色扮演和事故响应演习

为了增强恢复力,测试和演练事故响应准备是非常有价值的。我们建议在团队中进行灾难角色扮演来训练事故响应的全过程。在谷歌,我们通常称之为“厄运之轮 (Wheel of Misfortune)”。这是一种重现过去在生产环境中曾经遇到的真实事故场景的一种方法。

定期进行事故响应演习有许多现实的好处。在谷歌灾难恢复测试 (DiRT) 计划的早期,有些测试被认为风险过高而无法执行。然而,多年来,通过专注于这些由高风险测试所暴露出来的领域,许多暴露出来的风险已经得到了彻底解决,以至于这些测试现在是自动化执行的,并且被认为是无聊的测试。

如果想要实现这一点,效果既非立竿见影,过程也不会轻松愉快——这需要投入时间,需要多个团队付出巨大的协同努力;但我们已经能够极大的降低全球系统中的重大风险,以至于“风险只是另一个定期运行的自动化测试”。

定期测试 (Regular Testing)

执行定期的测试具有很多显著的好处。多年来,谷歌一直在进行 DiRT 测试,以发现并修复生产系统中的问题。随着团队不断测试他们的服务,高风险测试的数量减少了。这实际上是个好迹象——团队已经使系统更加具有恢复力,以至于发现暴露系统的弱点,也变得越来越难。

测试失败——由于某种原因导致的测试失败——也变得更加罕见。即使发生,这些系统也往往能以预期的方式失败,并因此能得到迅速缓解。故障响应者现在更加自如地启动故障应急预案,能够在压力下保持头脑冷静,并且由于这些测试,撰写事后复盘报告的次数也减少了。谷歌多年的努力已经得到了回报——大家的心态已经从“灾难测试是对我个人的挑战”转变为“灾难测试是大家共同的任务”。

细化的测试和自动化

测试正在逐渐从解决纯粹的技术问题(例如“我们是否知道如何从完全损坏的数据库中恢复?”)转向更细化的“修复流程”的一系列挑战。

技术测试较易讨论和自动化:基本上就是编写一些代码来执行一系列命令,并检查预期的响应。而想要找到有问题的流程,则更加困难——例如“只有一个人有权批准这个,但他们并不回复电话/邮件”——尤其是对于那些那么不经常执行的陌生流程。

准备响应者 (Preparing Responders)

进行事故响应测试——即使只是理论测试——也可以帮助我们识别出有问题的流程,评估其概率和风险因素,并增强响应者的信心。即使测试未按计划进行,你也能更好地发现事故响应流程中的弱点。事故响应者也将会更好地做好在技术、心理和情感上的准备,以应对未来会发生的实际事故。

情感上的准备并不可低估。如前所述,事故管理会给响应者带来巨大压力,导致疏忽大意、反应变慢和判断力模糊。压力还可能引起焦虑、疲劳、高血压和睡眠质量差等健康问题。

进行事故响应测试不仅可以减少这些不良影响,更重要的是识别暴露出这些问题,以便采取纠正措施——如请求帮助、休息,甚至完全移交事故的处理。管理人员和领导也应该:时刻关注响应者的压力、疲劳和倦怠的迹象,并尽可能的提供必要的帮助。

编写事故响应测试

编写事故响应测试(Writing Incident Response Tests)的一个良好起点是:查看并回顾最近发生的事故。在谷歌,我们在每次事后复盘分析中都会问这些标准问题:

  • 出了什么问题?
  • 哪些方面做得好?
  • 我们在哪里是凭运气?

首先查看出了什么问题,因为这是需要改进的地方。这些往往是容易解决的具体问题——例如,监控发现了问题但并没有通知任何人。一旦识别并修复了问题,就需要测试这个修复结果。这一点不能忽视:仅仅修复问题是不够的;修复可能不完整,或在其他地方又引起了回归。

在测试正确性时,从小而简单的测试案例开始。随着对响应过程信心逐步增加,就可以开始研究更复杂的问题,包括那些不完全是技术性的(如人员流程方面)。

当这些小范围测试进行了一段时间后,开始查看“我们在哪里是凭运气?”的那些方面。通常,这些问题更微妙,解决它们可能也不会容易。再次,从小处着手,将问题分解成更小、更易解决的部分。

这些测试应保持缓慢的进行,但要保证稳定的节奏——既不想让团队淹没在测试工作中,也不想失去进度。举例来说,每四周进行一次一小时的测试,要比花费 10% 的运营预算在这些测试上更容易被接受。随着这些程序的发展和测试价值的显现,你会找到适合的测试频率和深度。

来源: https://sre.google ;本白皮书一共有 7 章,后续章节将陆续发布。完整中文版白皮书即将发布,敬请期待。

cover

❤️ Photo by Pixabay: https://www.pexels.com/photo/photo-of-a-2-fireman-killing-a-huge-fire-69934/

comments powered by Disqus
本博客始于 2007 年
Built with Hugo
主题 StackJimmy 设计