第 9 章 创建前瞻性
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
为了确定和设想如何实现客户和企业满意的可靠性和复原力,组织必须能够不受后见之明偏见的影响而回顾过去。具有复原力的组织不会把过去的成功作为自信的理由。相反,它们将其作为深入挖掘、发现潜在风险和完善系统成败心智模型的机会。
除了建立可靠性测试平台和开展 "游戏日 "活动外,"混沌工程 "还有一些关键的组成部分。了解每个人的关注点、想法和系统结构的心智模型,了解你的组织在技术和人力应变能力方面的优势所在,这些都是代码无法自动消除的。本章将讨论混沌工程的三个不同阶段,以及每个阶段的隐藏目标,这可能是最大的好处:利用 混沌工程提炼专业知识。
在我们的行业中,混沌工程长期投入不足的阶段是之前 和之后阶段--这些阶段往往由一个人完成,通常是主持人。这个人可以在实验过程中充当第三方,但在此之前,他要了解团队正在经历什么、他们的系统以及这一切是如何运作的。如果我们只是在问题演变成事件之前发现问题,那么我们就无法实现混沌工程的主要目标,即完善系统的心智模型。
在本章中,我们将重点讨论混沌工程实验(无论是 "游戏日 "还是软件驱动)的 "实验前 "和 "实验后 "阶段,并针对每个阶段提出重要问题。我们还将深入探讨当今混沌工程中存在的一些 "自动化的讽刺"。1当今混沌工程中存在的一些 "自动化的讽刺"。
作为一个行业,我们一直过于关注如何让事情失败和破坏它们,而忽略了 设置(前阶段)和 传播学习成果(后阶段)能给我们带来的价值。我将借鉴其他行业模拟演练的研究成果,以及在业务目标大相径庭的多家公司开展混沌实验时取得(或未取得)成效的个人经验。值得注意的是,要取得最大成功,周期的每个阶段都需要不同的技能组合和不同类型的角色。我们将通过这些技能组合和心态(两者都可以训练和辅助)来使这些作品发挥最大功效。
混沌工程与复原力
在回顾混沌工程周期的各个阶段之前,我们先来了解一下该实践的目标。正如前几章已经讨论过的,混沌工程的 目标不是破坏东西。混沌工程的目标也不是利用工具来阻止问题或发现漏洞。让我们在这里停顿一下,因为我想让大家明白这一点--混沌工程不是为了发现或揭示漏洞。
因为混沌工程是新事物,令人兴奋,所以很多人都在关注混沌工程工具,而不是我们做混沌工程的其他原因。我们为什么要做混沌工程?混沌工程的目的是什么?
混沌工程 ,是为了在出现意外系统结果的情况下,建立一种弹性文化。如果工具可以帮助实现这一目标,那就再好不过了,但它们只是达到目的的一种可能手段。
复原力工程是指识别并增强人员和组织的积极能力,使其能够在不同情况下有效、安全地适应环境。复原力并不是要减少负面因素[错误]。
西德尼-德克2
混沌工程只是帮助我们提高这些适应能力的手段之一。
混沌工程循环的步骤
在本节中,我们将重点讨论混沌工程的不同阶段(实验前、实验中和实验后)。我们将特别关注实验前和实验后阶段。为什么呢?因为实验过程中的阶段备受关注;而实验前和实验后的阶段则有同样多(如果不是更多)有价值的数据和片段可供探索。
混沌实验前阶段的 目标是让队友们讨论他们对相关系统的不同心智模型。其次,我们还需要制定一些策略,以便在执行失败之前,有条不紊地设计失败,而不是临时抱佛脚。在本节中,我们将讨论各种设计技术以及这些心智模型是如何产生的。
设计实验
所有的[心智]模型都是错误的,但有些是有用的。
乔治-博克斯3
事故 是一个机会,让我们坐下来,看看一个团队成员对系统工作原理的心智模型与另一个成员对系统工作原理的理解有何不同。事件之所以能给我们提供这样的机会,是因为在某种程度上,它们推翻了我们对系统运行和风险处理方式的假设。 ...