问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

混沌工程:提高系统弹性的主动方法

创作时间:
作者:
@小白创作中心

混沌工程:提高系统弹性的主动方法

引用
CSDN
1.
https://blog.csdn.net/weixin_46812959/article/details/144592194

在当今复杂多变的软件工程领域,混沌工程作为一种主动提高系统弹性的方法应运而生。通过故意在系统中注入故障,组织可以主动识别系统弹性的薄弱环节,提升运营卓越性,并增强事故响应能力。本文将通过亚马逊云科技和宝马集团的实际案例,深入探讨混沌工程的原理、实践和价值。

混沌工程概述

混沌工程是一种实验学科,通过在系统中注入故障来增强系统从动荡环境中恢复的能力。亚马逊云科技首席工程师Adrian Holsby将混沌工程定义为一种验证假设的方法,因为人为偏见往往影响系统设计和运营决策。

以Python的requests库为例,该库没有默认超时设置,导致潜在的问题是打开的连接可能会无限期保持打开状态。即使.NET的WebRequest方法中默认的100秒超时时间也可能过长,从而导致重试风暴和大规模系统故障。

混沌工程的商业价值

研究表明,90%的企业中断成本约为30万美元,而令人震惊的是,41%的企业每小时停机成本在100万至500万美元之间。值得注意的是,实践恢复的公司每小时中断成本比不实践的公司低16倍,这是组织优先考虑弹性的有力动机。

混沌工程的实践方法

亚马逊云科技故障注入服务(FIS)是实施混沌工程的重要工具。通过FIS,组织可以模拟各种故障场景,如可用区断电、网络延迟等,从而验证系统的弹性和恢复能力。

在宝马集团的案例中,他们通过FIS成功进行了11次混沌工程实验,并计划在2025年通过自动化流程和允许服务所有者通过门户选择和执行实验,将实验次数增加十倍。这些实验帮助宝马识别了系统中的潜在风险点,如EBS卷作为区域服务的已知限制,以及MQTT服务在高流量条件下的潜在问题。

混沌工程的关键经验

  1. 跨团队协作和知识共享:通过定期的研讨会和知识分享,可以提高混沌工程项目的成功率。
  2. 领导层支持:在生产环境中执行混沌工程实验需要高层管理者的支持。
  3. 心理安全:营造一种将失败视为学习和改进机会的环境,是混沌工程成功的关键。

结语

混沌工程是一个需要长期坚持不断实验和学习的学科,随着时间的推移会产生复合效应。它有力地提醒我们,弹性不是一个终点,而是一个旅程,一个需要不懈追求卓越、在每一个转折处挑战假设的旅程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号