混沌工程实现复杂系统的柔韧性

混沌工程是对质量内建的补充。故事始于网飞,首次在实践中发现了混沌工程真正的商业价值。


网飞倡导管理理念即代码: 只聘任有过岗位经验的高级工程师;给所有工程师充分的自由去做任何必要的事情来完成工作,以及承担相应后果的责任;至关重要的信任一线工程师,并由他们来决定工作的完成方式;管理层不会告诉工程师该怎么做,而是确保工程师了解需要解决的问题,然后工程师告诉管理层他们计划如何解决这些问题,并着手解决;高绩效团队之间认同一致,松散耦合,这意味着,如果不同团队都拥有相同的目标,则在过程、沟通和管理上就无需花费太多精力。这是混沌工程的管理文化基础。


混沌猴可以测试每个人是否对故障具有韧性。将频率设为每天一次,确保人们对故障模式的韧性不会退步。而问题一旦就在眼前,工程师就会做他们最擅长的事情----解决问题。为解决问题,他们增加了冗余,做了自动化的容量伸缩,使用了架构层面的设计模式。问题都以某种方式得到了快速解决,并获得了可观的成效。混沌猴使每个人都一致认同提升系统的健壮性以应对无故消失的实例,同时又在如何解决问题上表现得松耦合。混沌猴将管理理念通过运行的代码体现出来。


混沌工程的正式定义是: 混沌工程是在分布式系统上进行实验的学科,目的是建立对该系统能够承受生产环境的动荡条件的决心。该定义确定混沌工程是一种实验形式,与测试并不相同。


混沌工程的意义首先是建立信心。混沌工程并不是制造混沌,而是将系统固有的混沌进行可视化。混沌工程原则的5项高级实践,为混沌工程设立了黄金标准: 建立关于稳态行为的假说;多样化地引入现实世界的事件;在生产环境中进行实验;持续运行自动化实验;最小化爆炸半径。混沌工程是一种务实的方法,是在高性能环境中面临大规模的特定问题的背景下开创出来的。


混沌工程是专门为主动理解并应对复杂系统而创造的学科。在复杂系统中,必须承认,一个人无法将所有东西装进大脑里。我们将注意力转向以系统化的方法来应对复杂性。促进实验,以发现系统弱点。


复杂系统是非线性和不可预测的,并且会导致不良结果。简单系统是线性的,输入发生变化,输出就会相应发生变化。非线性系统的输出会随着其组成部分的变化而急剧变化。系统内的部件所发生的变化会导致系统输出发生指数级的变化。输入变化还会导致输出发生跳跃式的量子变化。输入的变化还可能导致看似随机的输出。复杂系统要么具有非常多的活动部件,要么部件的变化非常快,以至于一个人的大脑无法承载其思维模型。对于非线性系统,输出很难模拟,也很难精确建模。人们无法在思维中为其建模。


组件之间的交互作用超出了人类将复杂系统的所有组件都掌握在自己脑海中的能力。这不可避免地导致了团队中每个人对产品的假设存在差异。复杂系统的不良输出是一个异常情况,是由若干非线性因素共同导致的。在负责复杂系统的相关人员中指望有人预料到最终可能导致不良结果的交互作用是不合理的。


偶然复杂性是在资源有限的环境下编写软件的结果。面对交付速度、测试覆盖率、经济性、工作量、安全性等优先级的冲突,不可避免地产生妥协。软件的妥协可能表现为次优的代码片段、契约背后的含糊意图、模棱两可的变量名等。这些代码片段就像地板上的灰尘一样不断堆积。灰尘只是生活的副产品而已。累计的次优代码再也不能凭直觉理解,偶然复杂性就出现了。


软件的本质复杂性体现在所编写的代码中,这些代码有意增加了更多维护成本。只要增加新功能,就会增加本质复杂性。

第一步是接纳复杂性。第二步是应对复杂性。混沌工程可能是应对系统复杂性的最可行和最有效的方法。

ec3cbbe0203dc3160dd161a15f392c14.jpeg

封面动物∶普通狨

《山海经》里的“人面兽”——普通狨

ba1ede5a7af3c954c7e242e8c2cc8f45.png

508729c84f3d28fe3a35d7920a06759f.png

普通狨的体长19-25厘米,尾长27-35厘米,雌性体重260-350克,雄性约450克。平均寿命10年。主要特征是有爪子,腕部带有绒毛,没有智齿,大脑比较原始,体温也不稳定。毛色呈灰色。耳边有一簇白色长发,所以也叫绒耳狨,前额有一大块白色印记,脸部没有毛,身体是斑驳的灰棕色,背后部有灰色、橘黄色或黑色细条纹。尾巴为灰色,有环状的白圈。

《山海经》中记载的陆吾是人面虎身虎爪还有九条尾巴的生物,虽然南美洲狨有着人面虎身虎爪,但是却没有九尾。是的,我们普通人所认为的九尾就是九条尾巴的意思,相信大家在看过许多魔幻小说和电视剧后,就形成了这一固定认知。但曾有学者指出,九尾或可能并不是指九条尾巴,而是九节尾巴的意思。而普通狨,正拥有着像小熊猫一样多节的尾巴。

5ab941bb95bcd65c457feb5ae2410d6e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值