第14章 开放的思想、开放的科学和开放的混沌
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
混沌工程 是科学。你要寻找隐藏在快速发展的现代系统的基本复杂性中的系统弱点的证据。这是通过经验实验来实现的,实验将受控但动荡的条件注入到基础设施、平台、应用程序,甚至人员、流程和实践的组合中。
与所有科学一样,混沌工程在高度协作的情况下最有价值:每个人都能看到正在进行的实验、实验的时间以及实验结果。但是,与科学一样,如果合作性受到任何阻碍,这一切都会像纸牌搭的房子一样倒塌。
协作心态
想象一下 两种思维模式。在第一种思维模式中,工程师的思路如下:"我就是喜欢找弱点。我迫不及待地想把大家的系统拿过来,给它们注入各种有趣的危害,让大家知道为什么要改进他们的系统"。
拥有这种心态的团队专注于给别人的系统制造混乱。我们的目标仍然是学习,但当 "混乱团队 "开始对他人的系统进行实验时,就很容易在冲突式的关系中迷失方向。这就是关键问题所在--它是针对别人的系统进行的。这个团队的任务往往以 "问题在这里!"而告终,即使它深入到 "这里有一些潜在的解决方案",它仍然会遇到真正拥有这些系统的团队的强烈抵制。1你能听到 "但是混乱团队拖了我们的后腿...... "吗?如图 14-1 所示,在这种关系模式下,事情会迅速恶化,以至于混沌工程被视为另一种需要规避的东西,最终甚至可能遭到拒绝。
图 14-1. 有毒的 "混沌工程师与我们 "关系
与之形成鲜明对比的是以下心态:"我迫不及待地想帮助团队改进他们的系统。运行他们的系统很困难,所以我很期待帮助他们找到系统中的弱点,这样他们就能从这些证据中吸取教训,并有机会建立更有弹性的系统,这可能会让他们的生活变得更轻松一些。"
在第二个例子中,混沌工程师正在与工程团队合作。他们正在探索自己系统的弱点,而混沌工程则通过帮助和工具提供支持。如图 14-2 所示,当每个人都参与揭露 "黑账",并参与解决方案时,"他们对我们 "的恶性关系就会大大减少。
图 14-2. 混沌工程能力与团队之间的支持性关系,团队负责发现系统弱点并应对挑战
这是两种截然不同的方法,乍一看,你可能会觉得这两种方法的区别很主观。你希望哪种方法在你的公司启动 "混沌工程 "计划?事实上,其中一个团队很容易导致混沌工程无法在贵公司取得成功,而另一个团队则能让您获得成功。一个健康的混沌工程计划需要合作和共同拥有。
开放科学;开放源代码
合作 ,也超出了共同拥有的范围。即使你设法收集到了系统弱点的证据,但如果这些信息被锁在专有系统、专有协议中,或以专有格式存储,那么它的真正价值就会被削弱。为了让混沌工程学在企业中蓬勃发展,乃至让科学本身在社会中蓬勃发展,仅仅确保任何人都有能力进行混沌工程学研究是不够的。
混沌工程需要开放,才有可能发挥其真正的潜力。混沌工程的全部价值有赖于对人们设计和选择执行的实验的开放式学习;有赖于在一个团队、一个部门、一个组织,甚至有可能在公众面前分享这些实验的发现。