

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 停机成本和混沌工程的出现
<a name="chaos-engineering-emergence"></a>

[信息技术情报咨询 (ITIC)](https://itic-corp.com/itic-2024-hourly-cost-of-downtime-report/) 估计，90% 的企业面临的停机成本超过每小时30万美元，[41% 的企业每小时的停机成本超过100万至500万美元](https://itic-corp.com/itic-2024-hourly-cost-of-downtime-part-2/)。除了立即损失收入外，停机还可能导致长期问题，包括合规失败、股价下跌、高昂的缓解成本，甚至品牌受损。

虽然停机通常与创收的在线系统有关，但负面影响远不止于此。所有大型企业和组织，无论其主要收入模式如何，都严重依赖其内部系统的可用性，例如人力资源和薪资。

影响这些核心内部服务的停机可能会抑制公司的运作能力，从而导致严重的运营中断和财务影响。由此产生的问题可能包括以下几点：
+ 延迟向员工和供应商支付工资
+ 无法处理买家的订单或交易
+ 受损的安全系统允许泄露敏感数据
+ 生产力和收入机会的损失
+ 对违规行为的监管处罚
+ 损害品牌声誉

混沌工程有意引入受控的干扰。使用混沌工程来了解或验证系统对损伤的反应已成为提高系统弹性的关键实践。混沌工程使您的组织能够主动发现问题，验证弹性机制，并最终降低计划外停机的风险及其相关成本。混沌工程的好处包括：
+ 暴露技术债务
+ 锻炼操作肌肉
+ 建立对系统的信心
+ 识别故障点
+ 改善监测和可观察性
+ 支持基于实验的学习
+ 提高弹性以减少停机时间

随着系统变得越来越复杂和客户期望值的提高，混沌工程的重要性与日俱增。[Gartner 建议将混沌工程](https://www.gartner.com/smarterwithgartner/the-io-leaders-guide-to-chaos-engineering)作为组织减少计划外停机时间和提高弹性的关键实践。

## 混沌工程的采用挑战
<a name="adoption-challenges"></a>

尽管混沌工程是提高系统弹性的越来越重要的实践，但其采用可能会面临以下障碍：
+ 对@@ **风险的误解** ― 一个常见的误解是，混沌工程仅在生产环境中进行，这会导致人们对风险过大的担忧。这种看法源于对混沌工程实践的系统性和可控性缺乏了解。如[AWS Well-Architected 框架](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_testing_resiliency_failure_injection_resiliency.html)中所述，首先在非生产环境中进行故障模拟。
+ **从长远来看，商业价值** ——Chaos engineering的收益是逐渐累积的，因此很难量化业务价值和证明初始投资的合理性。较慢的投资回报率使组织难以确定优先顺序并坚持混乱工程。
+ **技能和专业知识差距** − 混沌工程需要一套独特的技能和专业知识，而这些技能和专业知识在您的组织中可能不容易获得。积累或获得这种专业知识可能是一个重大障碍，特别是对于刚接触该业务和资源有限的组织而言。

本战略文件的其余部分将主要关注第二个挑战，即展示混沌工程的商业价值。

## 混沌工程的累积效应
<a name="positive-effects"></a>

与具有明确开始和结束日期的传统技术项目不同，混沌工程是一种持续学习和持续改进系统弹性的实践。随着时间的推移，混沌工程化合物的好处。

随着系统的发展和变得越来越复杂，出现了新的故障模式。需要进行更多的混沌实验来识别潜在的问题。修复问题可能需要几个月的时间，尤其是在系统和流程错综复杂的大型企业中，或者故障归外部服务提供商所有。

随着时间的推移，将失败当作学习和进步机会的文化转变不断发展，并在组织中根深蒂固。在混沌工程实验自动化和开发辅助工具方面的投资继续简化和增强混沌工程实践。建立这种机构知识和对系统弹性的理解是一个渐进的过程，会随着时间的推移而积累。随着实践的成熟，随着系统的不断发展，通过混沌工程开发的知识、流程和工具的价值也随之增加。

下图显示了随着混沌采用的过程进入以下阶段，价值如何随着时间的推移而增加：
+ 首次采用
+ 学习
+ Failure-mode 分析
+ One-time 实验
+ 定期 GameDays
+ 持续实验



![起初价值会逐渐增加，经过一次性实验后更快地上升。](https://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/strategy-chaos-engineering-journey/images/chaos-engineering-benefits-over-time.png)


如图所示，混沌工程的好处通常是在任何故障注入系统之前就开始了。计划和设计混沌实验的过程本身提供了立竿见影的价值。识别潜在的故障情景、单点故障和系统中的不确定性区域可以带来改进。

例如，写下故障情景并讨论潜在的级联效应，即称为*故障模式和影响分析（FMEA）的过程，*有助于发现可能被忽视的明显弱点或差距。您的组织甚至可以在系统遭受任何故意中断之前主动解决这些问题。有关更多信息，请参阅[弹性分析框架](https://docs.aws.amazon.com/pdfs/prescriptive-guidance/latest/resilience-analysis-framework/resilience-analysis-framework.pdf)。

此外，混沌工程计划通常伴随着对系统可观察性和监控的日益关注，这立即开始带来好处。提高对系统行为和故障模式的可见性有助于团队更好地了解系统的正常运行条件。更高的可见性还有助于团队了解运营条件在达到极限时是如何恶化、适应和失败的。

与连续实验 GameDay 模式相比，一次性实验和周期模式都是更手动的方法。它们需要一个更加亲身实践和探索性的过程，在这个过程中，工程师通过观察和实验积极塑造和完善假设。

另一方面，连续实验模式本质上更加自动化。此模式侧重于以受控和迭代的方式运行经批准和验证的假设。它[通过专用的混沌管道](https://adhorn.substack.com/p/decoupling-chaos-and-delivery)在开发过程中使用自动化和集成，以帮助确保实验的一致性和可重复性。