阿里巴巴的混沌工程实践
极客时间编辑部
讲述:丁婵大小:2.09M时长:04:34
众所周知,阿里巴巴技术团队对混沌工程的研发迭代持续了数年,对于这一技术,阿里为什么如此坚持呢?在上一篇文章中,阿里高级技术专家周洋简单概括了混沌工程的概念,本文就来分享一下阿里巴巴混沌工程的实践经验。
早在 2011 年,阿里巴巴就开始尝试通过故障注入技术去解决微服务的依赖问题,并从注入实现、实验效率、业务影响等多个方面进行演进。2012 年,阿里推出同城容灾,进行断网演练。到 2015 年,上线了异地多活,再到 2016 年,MonkeyKing 被用于故障演练。知道今年,阿里开源混沌工程工具混沌之刀(ChaosBlade)。
据周洋介绍,阿里之所以下定决定做这件事情,源自大促备战的反思,虽然内部有完善的体系和流程,但真实情况下的系统稳定性是未知的。因此,阿里决定手段与技术并行,通过混沌工程解决技术和组织层面的问题。
在实践早期,阿里的微服务拆分还不是特别彻底,团队就希望通过引入混沌工程解决微服务依赖治理的问题,优化整个流程。
一些基础技术团队也尝试通过混沌工程解决容器相关的问题。周洋介绍,作为云服务,容器平台本身属于 PaaS 层,通过实施混沌工程可以保证系统本身没有问题。其次,传统企业上云时,面临着应用向容器转换的过程,设计模式等都需要进行改变,如果对业务稳态具有要求,混沌工程的引入可以解决这一阶段出现的问题。
目前,集团安全生产团队开始牵头运作 " 突袭演练 " 这种跨公司的稳定性战役。在一个可控的环境下,通过有计划的打擂和无计划的突袭,让安全生产蓝军和业务红军进行对抗,通过实战演练的方式验收稳定性措施的全面性和有效性。
回顾整个发展过程,周洋认为,比较难的事情,一是让团队意识到可以通过混沌工程技术趋同整个稳定性链条,更自动化、智能化得提升平台稳定性。因为,平台能力越差,支持各个团队的人力成本就越高,平台能力越高,防御相应就越差。再者,让更多人接受并实施该理念,无论是内部还是云上的客户,都可以了解平台的问题,阿里团队也希望将内部稳定性的经验通过平台化的方式对外输出,混沌之刀便由此开源。
目前,混沌工程领域已经出现不少优秀的开源工具,比如 kube-monkey、ChaosIQ 等,但很多开源工具的功能存在高度重叠,或者难以满足实际诉求。阿里希望可以同用一套工具体系,解决所有故障场景问题,未来通过开源社区的力量完善实验场景,共同推进混沌工程领域的发展。
周洋强调,阿里云应用高可用服务(AHAS)是面向业务稳定性的云服务,这对企业而言非常重要。企业上云,并不仅仅是为了享受稳定的基础设施,也需要保证业务稳定性,而目前很少有厂商注意到这一点,AHAS 的出现不是为了拉动营收,而是帮助云上用户更好得搭建云原生系统。
目前,混沌之刀已经可用并处于快速演进阶段,团队大概每周都会发版,按照微服务、容器和云原生的路线迭代。近期,该项目会增强 JVM 演练场景,支持更多 Java 主流产品,增强 Kubernetes 演练场景以及对 C++、Node.js 等应用的支持。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论