您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[中国信通院]:互联网行业:混沌工程实践指南(2021年) - 发现报告
当前位置:首页/行业研究/报告详情/

互联网行业:混沌工程实践指南(2021年)

互联网行业:混沌工程实践指南(2021年)

混沌工程实践指南 (2021年) 中国信息通信研究院云计算与大数据研究所 2021年12月 版权声明 本报告版权属于中国信息通信研究院,并受法律保护。转载、摘编或利用其它方式使用本报告文字或者观点的,应注明“来源:中国信息通信研究院”。违反上述声明者,本院将追究其相关法律责任。 pOpQrRmNoPmRvMtNuMmNmQ8OdNaQnPpPtRoPfQnMoMiNoMtP8OnMrRNZpOrNxNqRsR 前 言 随着各行业数字化转型的快速推进,软件系统呈现出规模愈发庞大、结构更加复杂,风险点数量增多、不可预见性增强等特征。现有软件稳定性保障措施侧重于防范可预见的风险,难以适应数字化深入发展的新要求。 为探索新发展阶段下软件系统的稳定性保障手段,国外公司率先提出混沌工程理念,按照主动攻击、提前预防的思想,消除复杂系统中难以预见的风险隐患,迅速成为业内关注的焦点。我国产业界也迅速跟进混沌工程技术发展,相关工具和平台层出不穷,开源社区加快完善。 然而,目前混沌工程总体上仍处于发展初期,理论体系尚未成熟,技术工具良莠不齐,落地实践仍集中于少数头部企业。在此背景下,中国信息通信研究院云计算与大数据研究所牵头,联合业内头部企业编写本指南,梳理混沌工程的相关背景、技术要求、实践配套措施和未来的发展趋势,希望借此推动混沌工程落地实践,帮助各行业完善软件系统稳定性保障体系。由于时间仓促,水平所限,本指南仍有不足之处,欢迎联系wangchaolun@caict.ac.cn交流探讨。 目 录 一、混沌工程概述 ........................................................................................................ 1 (一)混沌工程旨在主动防范软件系统的稳定性风险 .......................................... 1 (二)混沌工程的发展历程:国外先行、国内繁荣............................................... 5 (三)混沌工程实践是系统性工作,亟需建立方法论 .......................................... 7 二、 一个核心工作:混沌工程实验 .......................................................................... 9 (一)混沌工程实验设计................................................................................................. 9 (二)混沌工程实验实施............................................................................................... 14 (三)混沌工程实验结果分析 ..................................................................................... 16 三、 五个配套措施:战略、人员、文化、风险防范、评估体系 ........................ 19 (一)混沌工程实践的战略规划 ................................................................................. 19 (二)混沌工程实践的人员培养 ................................................................................. 21 (三)混沌工程文化的形成 .......................................................................................... 22 (四)混沌工程实践的潜在风险及应对措施 .......................................................... 23 (五)混沌工程实践的评估体系建立 ........................................................................ 25 四、 两个延伸保障:加强架构和制度保障 ............................................................ 28 (一)提升系统架构的韧性 .......................................................................................... 28 (二)加强研发运维过程中的制度保障 ................................................................... 29 五、 混沌工程发展趋势 ............................................................................................ 30 (一)产业环境和政策导向加速混沌工程实践落地............................................. 31 (二)智能技术推动混沌工程实践更加自动化 ...................................................... 31 (三)数字技术的推广应用将带动混沌工程推广落地 ........................................ 32 附录 .............................................................................................................................. 35 (一)业内混沌工程工具一览 ..................................................................................... 35 (二)混沌工程平台简要介绍 ..................................................................................... 36 (三)混沌工程实践案例............................................................................................... 37 图 目 录 图 1 系统稳定性危机与对策发展时间线 .................................................................. 2 图 2 企业服务中断每小时造成的损失统计 .............................................................. 4 图 3 混沌工程发展时间线 .......................................................................................... 6 图 4 混沌工程实践体系以及其和传统研发运维的联系 .......................................... 8 图 5 参与中国信通院产品评测的分布式数据库在不同扰动下的相对性能 ........ 18 图 6 混沌工程平台架构 ............................................................................................ 37 图 7 腾讯区块链团队混沌工程实施框架 ................................................................ 38 图 8 华为云故障模式库内容概览 ............................................................................ 40 表 目 录 表 1 2020年9月至2021年9月影响严重的系统失效事故汇总 ........................... 3 表 2 混沌工程和现阶段稳定性保障措施的对比 ..................................................... 4 表 3 混沌工程对系统研发运维团队不同人员的意义 ............................................. 5 表 4 混沌工程实验系统指标类别 ........................................................................... 11 表 5 混沌工程实验扰动类别 ................................................................................... 11 表 6 混沌工程接纳程度评估参考框架 ................................................................... 25 表 7 混沌工程能力评估参考框架 ........................................................................... 26 表 8 混沌工程价值收益评估参考框架 ................................................................... 27 表 9 基于混沌工程实验的系统架构优化方向 ....................................................... 28 表 10 混沌工程工具总结 ......................................................................................... 35 混沌工程实践指南(2021年) 1 一、混沌工程概述 混沌工程(Chaos Engineering)是通过主动向系统中引入软件或硬件的异常状态(扰动),制造故障场景并根据系统在各种压力下的行为表现确定优化策略的一种系统稳定性保障手段。应用混沌工程可以对系统抵抗扰动并保持正常运作的能力(稳定性)进行校验和评估,提前识别未知隐患并进行修复,进而保障系统更好地抵御生产环境中的失控条件,提升整体稳定性。本章梳理了系统稳定性保障体系和混沌工程的发展历程,并给出了混沌工程实践体系框架。 (一)混沌工程旨在主动防范软件系统的稳定性风险 自开展软件相关工作以来,从业人员和系统稳定性缺陷的斗争从未停止。随着软件系统规模扩大、复杂度增长以及开发周期缩短,历史上曾爆发多次软件危机,推动着软件从业人员不断完善系统稳定性保障措施。随着分布式系统的广泛应用以及敏捷开发、DevOps