去哪儿网-高级技术总监:
简单分享一下我们的落地经验。企业混沌工程去落地的时候,在系统上确实需要有一些有效的基础设施作为支撑。
第一个阶段是基础设施演练,是我们最开始构建混沌工程平台的阶段。这个阶段,我们在功能建设上,基本上是又要做控制面,又要去做生效面的API对接。当时大概花了2个人,前后花了2个月左右建设完成。真正去做1~2次大规模关机演练的时候,这时候需要投入的人就会比较多。因为你要真正地去关各业务的机器,就是刚才说的是真实关机,而且是非常大规模的。比如说对酒店业务的某个机房大规模进行关机的时候,那酒店对应的几大主要模块都需要有人跟进着。他们并不需要主动去做什么,但在演练过程里要不断去跟进。从我们公司的情况来看,需要差不多十个人左右,在前期需要一直跟进这些演练的过程,而且演练完之后还会有问题排查。所以在前几次的落地里面,需要问题修完,然后再去迭代它,前前后后花了1~2个月的时间,才把基础设施演练落地得比较好。
第二个阶段就是应用演练,从平台主要功能建设上来看的话,第一阶段里已经做得差不多了,这个阶段只需要让它的策略更丰富,比如前面说的引入了 chaosblade 去做很多演练策略的支持。所以这个阶段的平台建设相对来说会比较快一点,当时应该是投入一个多一点的人力,耗时的话在一个月左右,就基本搞定了。不过从落地角度上来看,演练是一直持续的。前面也提到了我们并不是集中式地做大规模的应用演练,而是慢慢地从各个业务线持续性地去进行演练,这个阶段的演练落地基本上是半年到 8 个月的耗时。
第三部分就是大规模自动化的依赖演练,这个机制是比较难的,而且也是依靠其他基础设施比较多的阶段。这个阶段其实从2021年3月份开始,一直断断续续地持续到今年 9 月份,才基本上把各种问题都解决了(比如分享里面提到的命中率问题),并且大规模落地产生效果了。虽然这整个周期比较长,但从功能建设上来说的话,它不会花这么长时间。落地时间长主要是因为我们落地覆盖了全司50 多个核心入口,并且达到全司 80% 以上的应用覆盖。因为需要应对不同场景里面的很多特殊情况。
第四个阶段是攻防演练,构建这个演练过程其实是非常简单的,也就花了两三周。真正去落地实践的话,也就花了两周在业务团队里面去执行,我们是选择在公司最核心的机票业务去落地,并且这块也取得比较好的效果,排查耗时从30分钟降低到3分钟。所以说这个阶段的落地耗时是比较短的,前前后后不到两个月。
基本情况是这样,供同行们参考。
本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。

微信扫一扫