日前,知名二次元聚集地B站(哔哩哔哩,bilibili)出现服务器故障崩溃,持续3.5个小时的故障事件冲上了多个网络热榜,同时也给B站及相关用户造成了巨大的直接、间接损失。类似的事件也屡见不鲜,每隔一段时间,我们就能听说某个云服务中断的消息,其中不乏包括亚马逊云、谷歌云等赫赫有名的云巨头。
云计算产业飞速发展的今天,几乎所有与网络、数字化相关的技术都离不开云计算的支持。因此,当云服务出现故障,造成的损失往往是巨大的且难以挽回的。因此,研究机构、行业企业、产业精英等纷纷开始进行云服务稳定性的研究,以尽量避免云服务故障的产生。
7月27日,2021可信云大会将在北京召开。会上,由信通院牵头,阿里云计算有限公司、华泰证券股份有限公司、工行软件开发中心云计算实验室、中移信息、中兴通讯股份有限公司、深圳市腾讯计算机系统有限公司、华为、天翼云科技有限公司、PingCAP共同发起的“混沌工程实验室”将正式宣布成立。该实验室的成立,是我国云计算产业发展历程中的一个里程碑,将为我国云计算技术、云原生产业的健康、高质量发展提供稳定性保障。
“搞破坏”——混沌工程的使命
2010年,已经初具规模的NexFlix在使用亚马逊云的过程中,经历了云服务故障对前端业务带来不可避免的损失,因此致力于研究提升云端应用的高可用性,并根据经验总结了一篇名为《使用AWS的5大经验》的文章,其中提到“避免失败的好方法是不停地出错”。
遵循这一理念,Netflix在亚马逊云中创造了一个名为Chaos Monkey的系统。该系统的任务就是随机的破坏组件、杀死服务,进而造成一些局部故障,以此测试云服务能否在局部故障的情况下继续保持整体服务的不中断。
Chaos Monkey不同于以往的测试体系。测试是在目标明确的情况下运行既定的测试程序从而检查系统是否按照设计完成,或者是否存在影响目标达成的Bug。但Chaos Monkey系统则是主动出击,通过破坏组件、杀死服务等“搞破坏”的方式,让管理员进一步掌握整个系统的稳健性、弹性的极限,从而更加了解系统的情况并且进行改善,以提升可用性。
2012年,Netflix开源了Chaos Monkey工具,该系统也迅速在技术社区普及开来。2015年,Netflix和社区正式提出该系统的指导思想 – Principles of Chaos Engineering。其中“Chaos”一词的含义为“混乱”,因此,中文社区将“Chaos Engineering”形象的翻译为“混沌工程”。
云原生时代的必需品
“打不到我的必使我强大。”中国信通院云计算与大数据研究所高级业务主管郑立引用尼采的名言来诠释混沌工程“反脆弱”的特性和本底主张。
区别于传统的事后被动响应,混沌工程的思维是事前主动出击,通过主动注入错误来提前发现并解决问题。又与致力于发现系统Bug的事前测试不同,混沌系统旨在发现“设计之外”的系统故障并将其消灭在未产生之前——这也很符合中国文化中对混沌一词的理解,因此郑立也将混沌工程称为一种“哲学”。
近年来,云原生已经逐渐成为云端应用的主流。云原生关键技术包括了容器、微服务、DevOps等,这些技术帮助人们建设了众多的云原生系统。先进的技术架构带来了应用开发管理的便捷性,但同时也带来了系统的复杂性。系统管理员越来越难以全面掌握发生什么事件会导致系统局部不可用,甚至全面崩溃。
混沌工程则是寻找类似事件的最优路径。通过混沌工程,管理员不仅仅是清理了系统的故障,提高了可用性,更重要的是通过实践检验对系统有了更加全面的认知。
在云原生的体系下,韧性设计是云原生应用最重要的特性。混沌工程的目标是达成云服务的高可用性,实现云原生系统的韧性架构。从这一点来看,混沌工程可以说是云原生时代的必需品。
混沌实验室,为数字化产业保驾护航
“十三五”期间,我国数字产业、数字经济飞速发展,云计算、大数据等数字技术已经进入了生产、生活的方方面面。进入“十四五”阶段,国家在发展规划中将建设数字中国作为重点单列成篇,并明确要求到2025年数字经济增加值占GDP比重达到50%。因此,保障云计算、云原生服务的安全、稳定,也将成为我国经济发展的基础需求。
2020年初,中国信通院开始组织专家进行混沌工程技术研究,提出了应用混沌工程方法来验证云原生系统的韧性架构,将相关研究成果写入《云原生中间件白皮书(2020)》,并于2020年7月可信云大会上发布,同时成立混沌工程项目组。
2021年4月2日,混沌工程项目研讨会议在京召开并发布《混沌工程测试平台能力》标准纲要。其后在2021年4月28日举办的中国通信标准化协会 TC1WG5 第 16 次工作组会议上,《混沌工程平台能力要求》成功立项行业标准。
在数字化产业对系统稳定性和云计算高可用要求越来越高的的大背景下,由中国信通院牵头,众多业内知名的甲方企业和云服务提供商共同参与,混沌工程实验室具备了成立的条件。混沌工程实验室旨在探索混沌工程在各领域典型应用场景中的实践落地,联动云计算上下游企业来共同推进混沌工程快速发展。
混沌工程实验室的最顶级机构为指导委员会,下设专家工作组,以及处理具体业务的政策研究工作组、技术创新工作组、标准推进工作组、测试评估工作组、产业推进工作组等,将致力于包括关键技术研究、相关标准制定、开展测试评估、推动行业交流、助力产业升级等多方面的工作。
混沌工程实验室通过专家研讨和行业交流,明确产业发展定位,引领产业发展方向,统一沟通渠道。集合行业内龙头企业的专业力量,整合优质资源,联动上下游企业,形成产业合力。开展技术研究,加强标准体系建设,提高产业的发展向心力和发展质量,进而为我国数字经济的稳定发展提供最基础的技术保障。