你需要一只混沌猴

花火田丁 花火田丁 2020-02-08 15:02:36 +0000

题图来自于NextDay


前些天,小伙伴说,你也太紧张了叭,囤这囤那。比如说,面粉这种东西在 Ta 看来完全没有必要。想想也是,还没到那个程度。但今早看到群里小伙伴说家门口的超市里面粉、酵母都没货了,有货的也都涨价了。打开某东看了眼,我买的同款面粉涨价了,但也没货了。

民众哄抢可能是其中一个原因,但确实也是受到疫情影响,酵母粉的产地多在安徽、湖北,如今重灾区工厂无法开工,没有新货源,当库存消耗殆尽的时候就会造成一时的「一包难求」的局面。

而囤了面粉的我,在开封了这袋面粉之后,开启了「面粉天天见」的日子,变着法儿地“消耗”它,馒头、面条、鸡蛋饼、面包,未完待续中……过些日子大概可以撑起一个早点摊位了吧😂

我在 还是要保持微笑啊 中列举的囤货清单中,有一项是「医用一次性橡胶手套」,买面粉的时候,想到库存的手套所剩无几(平时会处理花草虫鱼和消毒液,手套也是常备用品之一),就补了些,滤芯也是如此,正好赶上要买。当时也没料到,第二天就全线断货了。

另一个紧缺物资 —— 紫外线消毒灯。我有好些个小伙伴,家里已经配了类似的设备(消毒柜、紫外线灯),消毒餐具的,日常消毒的(钥匙、手机等),给小孩用品进行消毒(奶瓶、玩具等)。防护措施中,明确指出75%的酒精和紫外线可以杀死病毒。在很多人看着「售罄」的紫外线消毒灯欲哭无泪的时候,这些小伙伴们只需要把消毒对象换下便可以了。

插播一句,鉴于各大品牌的整机紫外线灯基本都是下架状态,急需且有一定动手能力的小伙伴可以购买紫外线灯管(目前某宝还能找到货)自己 DIY 一下,不是很难。昨儿看到个帖,有人买了紫外线除臭器(核心部件是两个小灯泡)+ 一个厚实的纸箱子自己做了一个简易版消毒箱,消毒强度和安全性未经考证,但对于急需的小伙伴,也是一个可以尝试的思路,千万要注意安全第一。

说到口罩,有个小伙伴说,几年前买的口罩终于派上用场了,幸好那时候买了,还有纷纷从家里挖古董似的翻出被遗忘的口罩的,比中大奖还开心。家里时常有人感冒,为了防止交叉感染,日常就会备一些一次性口罩。酒精棉球、酒精棉片也是居家旅行必备良品,时不时地就会买一些,但那时,从未想过有一天,全网的酒精棉球都是「无货」的状态。

以上这些例子充分表明了「有备无患」这个词的意义。于是,我在想一个问题,究竟有没有什么攻略可以让我们面对突发事件时可以从容一点?

在回答这个问题之前,我想先说说「混沌工程」。

混沌工程是一门新兴的技术学科,他的初衷是通过实验性的方法,让人们建立对于复杂分布式系统在生产中抵御突发事件能力的信心。

——混沌工程原则

在 AWS1 上看到一幅小漫画,通俗地解释了混沌工程的作用。

混沌工程带来的变化,图片引自脚注1

“如果你不提早发现和解决问题(引入混沌工程实验),最后问题会来(周末/半夜)解决你”。

只要你有过在生产环境中实际运行过分布式系统的经历,你就应该清楚,各种不可预期的突发事件一定会发生。分布式系统天生包含大量的交互、依赖点,可以出错的地方数不胜数。硬盘故障、网络不通、流量激增压垮某些组件,我们可以一直列举下去。这都是每天要面临的常事儿,处理不好就会导致业务停滞,性能低下,或者是其他各种无法预期的异常行为。

在复杂的分布式系统中,人力并不能够阻止这些故障的发生,我们应该致力于在这些异常行为被触发之前,尽可能多地识别出会导致这些异常的,在系统中脆弱的,易出故障的环节。当我们识别出这些风险,我们就可以有针对性地进行加固,防范,从而避免故障发生时所带来的严重后果。我们能够在不断打造更具弹性(弹性:系统应对故障、从故障中恢复的能力)系统的同时,树立运行高可用分布式系统的信心。

混沌工程正是这样一套通过在系统基础设施上进行实验,主动找出系统中的脆弱环节的方法学。这种通过实证的验证方法显然可以为我们打造更具弹性的系统,同时让我们更透彻的掌握系统运行时的各种行为规律。

摘自 InfoQ, Netflix 混沌工程手册 Part 1:混沌工程简介

总结一下,混沌工程是一种拥抱失败的技术文化,一套抽象严谨的实践原则,一种主动防御的稳定性手段,一个高速发展的技术领域。

我们能从混沌工程中学习到的正是「拥抱失败」以及「主动防御」

混沌工程不是制造问题,是揭露问题。

在事情真正发生到我们身上之前,我们总是乐观自信地认为离自己很遥远。有时候,甚至只需要多想一步,就能超前很多步。

不记得是从哪里看到这句话:做最坏的打算,用最好的心态。

就像是混沌工程的工程师们千万百计地设计出「混沌猴」(Chaos Monkey),是丢进目标系统的“破坏分子”,目的是发现系统的临界点和弱点,以便让系统变得更强健,在面临突发事件时降低掉链子的概率。

在疫情还在继续的当下,我们每个人都应该想一想,如果时光倒退到12月份,我们会做些什么,或者无风无浪的日常生活中,我们又可以做些什么。

我们可以为自己设计哪些「混沌猴」。

在12月网上流传不明肺炎的截图时,证实是否是谣言之前,我下意识地做了一件事 —— 买口罩。但因为当时无法判断信息真伪,只买了一盒 N95 的口罩,当时还想着要不要买点维C泡腾片,但因为不久后看到“辟谣”的消息,又被其他事情耽搁,也就不了了之。

如今很庆幸我当时的「下意识」,至少让我多了一点点可以“保命”的资本。这种「下意识」就是拜平日里的「混沌猴」所赐。

  • 如果流感肆虐,外出需要戴口罩

  • 如果公众场所的物体表面有细菌,需要勤洗手

  • 如果同桌人有肠胃疾病,需要公筷分食、餐具消毒

  • 如果短时间内不能出门,一瓶盐可以用多久,一瓶油可以用多久

  • ……

这些看起来都是很普通的道理是不是?但好像,在这场疫情发生之前,说起这些甚至都会被人嗤之以鼻「有洁癖啊?真是讲究」,这样的场景我也碰到过无数次,我就大大方方地承认自己「很惜命」。家里老人一开始也有点不情愿,好在最终还是接受了,习惯已然养成。

在突发事件发生时,应急预案的确是关键,比如国家启动一级响应,“小汤山”医院的建造过程,这都体现了应急处置的能力。但对于普通人来说,如果能在平日里就重视起来,形成「下意识」的条件反射,在灾难来临之时,至少可以减轻一些负担,专心于那些真正需要去「应急处理」的事项,比如「如何更有效率地远程办公」。远比“摊上事儿”以后,心情忐忑地去搜索,要有效且客观得多,要知道,焦虑的情绪在很多时候会影响人的正常判断。

说到这,很多人会想到保险,保险的意义就在于,在无风无浪的时候,为将来可能发生的重大变故做一点点准备,很多人排斥保险,与其让精算师坑了去,不如自己打理,如果你可以做到始终有足够的资金去应对这些变故,那也 OK。但至少要让自己有这个危机意识,「变故」的确有可能发生,不要总觉得新闻离我们很远。

这些有关生活习惯的「混沌猴」只是初级阶段,如果想要更周全,你需要把工作生活的方方面面都考虑进去。比如,前几天,看到有位群友在群里求助,之前一直住员工宿舍,但是返工后公司要求隔离2周,但不能进员工宿舍,求助是否有价格实惠的半月租推荐。这种需求,平日里谁能想到。可如果你的「混沌猴」告诉你「公司和家你都回不去,但还是要坚持工作,你有什么办法来解决这个问题」,你或许就会去考虑,是不是在郊区或者远离城区的地方可以找到一个住所呆上一段日子,有网有电。或者去网上研究一下各种短租平台。

无论是 IT 系统,还是我们日常的工作生活,如果你静下心来去想一想,很多时候只是因为我们不够重视,不够重视之后带来的盲目乐观让我们觉得灾难离自己很远,这大概是人类的天性吧。比起「被迫害妄想症」,有时候这种盲目乐观也会带来致命的打击。

有人说生活已经如此艰难,还要给自己搞这样一批听上去奇奇怪怪的「混沌猴」,可是想想看,正是因为艰难,我们才需要格外小心不是吗,那样才有“出头天”啊。

当然,切记,别丢了猴子进去,忘记收拾猴子留下的“残局”,要知道最终目的是根据实验得出结论。比如,如果停水了,你只停留在「需要买矿泉水」,而不知道「一箱24瓶500ML的矿泉水,你可以用多久」这个问题,那么猴子的目的就还没达到。认识到风险,并且有切实可行的应对措施,才是完整的「混沌工程」。

最后,附上「混沌工程」一张广泛传播的图供参考。

图片来自网络,版权归原作者所有

搜集资料的时候,文章中看到一句话我很喜欢,以此结尾。

元宵节快乐,保护好自己,保护好家人!

不是你选择那一刻,是那一刻选择你,而你唯一能选择的就是做好准备。

You don’t choose the moment, the moment chooses you. You only choose how prepared you are when it does.

—— 消防队长 Mike Burtch



  1. AWS云上混沌工程实践之对照实验设计篇 https://aws.amazon.com/cn/blogs/china/aws-cloud-chaos-engineering-experiment-designs-contract/ ↩︎




撒欢吧
谈理想
聊人生
讲故事
相对论
花火田丁
微信号:huahuoding
花火田丁
不折腾不人生