【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

抓住那只捣乱的猴子,中国移动的混沌工程实践

  • 2021-09-19
  • 本文字数:2470 字

    阅读完需:约 8 分钟

抓住那只捣乱的猴子,中国移动的混沌工程实践

睡梦正酣,你被一阵密集的电话铃声吵醒,匆匆抹了把脸赶到公司,加入正在进行的讨论。夜幕退去,天色渐亮,你的思路越发清晰,看着电脑屏幕上畅通运行的程序,松了口气。紧接着,疲惫感如潮水般向你涌来。

 

这是对技术人员而言并不陌生的场景,也是威胁年轻程序员毛囊健康的主因之一。脱落的是毛发,迸发的是灵感。中国移动对于混沌工程有了最初的想法,也是在这样一个被叫醒的深夜。

从故障中来

中国移动信息技术中心磐基PaaS平台运营运维团队在一个处理故障到五六点的凌晨,向自己发出疑问:平时总结在流程、运维等方面准备了很多,为什么关键时刻,这些东西起不到作用?磐基 PaaS 平台目前只是支持中国移动的上百个系统,未来要支持更多系统,怎么才能真正做到“乘舟上云,稳如磐基”?

 

中国移动磐基 PaaS 平台是中国移动信息技术自主研发的云原生平台,目前已建设 K8S 集群 144 个,生产节点规模近 1.1 万个,容器总实例数超过 20 万个,提供微服务框架支撑能力、服务治理能力,解决微服务的分布式特点带来的管理复杂性。而混沌工程,是专门为主动理解并应对复杂系统而创建的学科,如今普遍被用于分布式架构和云原生环境中。

 

混沌工程的诞生,是为了建立对系统抵御生产环境中失控条件的能力以及信心。2010 年,Netflix 为了在避免迁移时可能出现的故障影响用户体验,开发了 Chaos Monkey,用于提前测试系统。在实践过程中,这个想法和测试工具被不断完善,衍生出“混沌工程师”的角色,在工程社区推广,并在《Principles Of Chaos》中被正式总结为“混沌工程”。随着越来越多的大公司开始了解和实践混沌工程,2018 年,不断迭代的混沌工程(Chaos Engineering)成为 CNCF 一个新的技术领域。

 

中国移动解决故障的思路是“自己折腾自己”——探知风险、预测风险、挖掘风险。 

到“混沌”中去

由于业务场景、人员结构、实施方式等指标的差异性,系统稳定性的评判标准往往难以统一。此前对业务系统的上云架构评审以及高可用测试方案,都是由工程师根据经验主观推断出来的。系统稳定性、功能合理性、服务完备性如何证明?传统方案上我们只能证明系统可能会出现问题,而不能证明系统一定不会出现问题,无穷性出发点使我们没有办法证明系统的正确性。所以中国移动磐基 PaaS 平台引入了混沌工程,用混沌工程在系统上的逻辑性来证明系统的正确性。

 

故障注入、故障测试和混沌工程,是业内容易被混淆的话题。在磐基团队看来,混沌工程并不是在制造混沌,制造故障,而是将系统固有的混沌进行可视化。在整个混沌工程领域下包含了反脆弱性、故障注入、故障测试等相关范畴,所以它不仅仅是测试,其方法可以理解为探索性测试与可观测技术的结合。“混沌工程与反脆弱的一个关键区别是混沌工程让人认识到混沌为系统固有,从而提高团队韧性,而反脆弱目的是让系统在响应混沌时变得更强大。但混沌可以通过上述方法去辅助系统的理解,所以认为它是大小集合的概念。”

 

混沌工程的黄金标准是:

  • 建立关于稳态行为的假说

  • 多样化引入真实故障事件

  • 在生产环境中进行实验

  • 持续运行自动化实验

  • 最小化爆炸半径

磐基混沌能力发展路径,包括接触和使用混沌工程的能力,混沌平台建设和深化应用。

 

磐基团队表示,混沌工程建设方面,最开始是利用工具实现高可用场景进行场景侧的小范围试点,在平台构建的过程中进行业务规划研讨、混沌团队建设和用户试用,平台发展的过程包括:用户业务研讨、稳态防御、应用推广、流程细化等。工具选型方面,基于支持不同的应用架构与部署架构,支持不同资源的故障场景,以及部署方便,中国移动磐基 PaaS 平台选定阿里开源的ChaosBlade作为混沌工程能力的底座。

中国移动的混沌工程实践经验

中国移动在混沌工程的实践已经经历了多次迭代。“我们其实最初的平台建设,是先从故障注入的那种角度先进行,然后根据混沌工程的理念,往里面再增加一些监控。举个例子,对一个演练进行混沌工程的测试,可能某些指标上升了,如果我们对这个系统的认知不够全面,故障一旦注入,可能会导致故障的蔓延式发展。”

 

什么样的企业需要做混沌工程?从行业属性上来看,磐基团队比较建议对用户感知比较高的企业做混沌工程,比如金融证券行业。在中国移动,用户感知高的业务,比如电话停机、卡券售卖,一旦出现故障,会立刻反馈道用户端,降低用户体验。毕竟,业务端的业务量可能有上线,但变更无止境,故障也不会完全消失。混沌工程的意义在于可以减少故障发生的几率,并且让系统在面对故障时拥有快速响应、恢复的可能性。所以,距离用户最近的业务、用户感知度高的业务,需要考虑进行混沌工程实验。

采访嘉宾简介:

赵淳,磐基 PaaS 运营维护总监,负责磐基 PaaS 在集、省、专推广、交付与后期运维,有多项国际认证,熟悉容器、微服务以及数据库、中间件等云原生技术,有多年省 BOSS、CRM 建设运维经验。

严俊,磐基 PaaS 平台开发组成员,多年深耕于大数据、云原生等领域,主导中国移动磐基 PaaS 平台混沌工程能力的研发和建设工作。目前主要负责磐基 PaaS 平台在边缘云、混沌工程、AIOPS 等领域的技术研究与落地工作。

袁庆彬,中国移动磐基平台运营运维团队成员,IT 运维专家,长期致力于 IaaS、PaaS 领域。负责磐基平台服务连续性治理、平台架构优化和能力组件提升工作。

晁元宁,磐基 PaaS 平台运营维护组成员,PaaS 交付专家、混沌工程专家,长期致力于云原生、PaaS、混沌工程等领域。负责磐基 PaaS 平台项目上云的运维和运营工作,主要对接集团公司、专业公司、省公司的上云项目,负责项目对接、项目交付、项目维护,具备丰富的交付、运维、应急演练等经验。


扫描下方二维码,进入有奖问答

参与国内首个混沌工程调研报告

为了解我国混沌工程发展全貌,中国信通院联合混沌工程实验室启动《中国混沌工程调查报告》问卷征集活动,深入探索我国系统稳定性现状及混沌工程使用情况、行业采纳度、技术成熟度及未来发展趋势,以期推动混沌工我国的概念普及,提升国内系统稳定性,促进软件质量发展。


本次调查问卷由中国信通院联合混沌工程实验室、infoQ、VCEC、中国云原生社区共同发起,参与问卷的用户有机会获得电脑包、文化衫等精美礼品,扫描上方二维码进入问卷。


混沌工程实验室成员包括:


2021-09-19 08:446012

评论

发布
暂无评论
发现更多内容

我与OpenHarmony| 社区征文

坚果

年中技术盘点

Cnetos7编译安装Memcached教程。

百度搜索:蓝易云

memcached 云计算 Linux centos 运维

小设计,大作用——谈谈防腐层的妙用

JAVA旭阳

Java

明代元素时装小姐姐【InsCode Stable Diffusion美图活动一期】

繁依Fanyi

Nautilus Chain NautDID NFT 即将上线主网,Layer3 数字身份时代开启

大瞿科技

CnosDB x LangChain: 聊着天来查询时序数据库

CnosDB

开源 时序数据库 CnosDB

领导和团队的自主权——《敏捷实战-破解敏捷落地的60个难题》读后感(二)

Bruce Talk

敏捷开发 Agile

GitHub Copilot深度剖析:一个AI产品的性能提升、成本控制与效果评估

无人之路

ChatGPT Copilot

WAIC2023丨AI图像内容安全“黑科技”如何助力科技向善发展?

陈橘又青

PyTorch: 权值初始化

timerring

PyTorch

IoTOS-v1.5.3 新增 智能诊断&会话记录导出

IoTOS

物联网平台 IoT 开源物联网 国产开源 开源项目介绍

Ins风韩国美少女【InsCode Stable Diffusion美图活动一期】

繁依Fanyi

代码随想录Day18 - 二叉树(五)

jjn0703

chatgpt和文心一言哪个更厉害 | 社区征文

张三丰无极

年中技术盘点

Antlr4如何自动解析得到AST而不是ParseTree

canonical

ANTLR 低代码 dsl antlr4

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

股市老人

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

EOSdreamer111

可爱小猫猫【InsCode Stable Diffusion美图活动一期】

繁依Fanyi

C语言宏定义中的#和##

智趣匠

少年侠客【InsCode Stable Diffusion美图活动一期】 | 社区征文

度假的小鱼

Stable Diffusion 年中技术盘点

Cnetos7编译安装Docker教程。

百度搜索:蓝易云

Docker 云计算 Linux centos 运维

一个普通程序员如何看待chatgpt大火 | 社区征文

不觉心动

年中技术盘点

申请 GPT4.0Key!含详细步骤

石云升

AIGC ChatGPT GPT-4

2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用?

福大大架构师每日一题

福大大架构师每日一题

Open AI爆火,4个中国版ChatGPT扎堆爆发 | 社区征文

我搬去水星了

年中技术盘点

从0到1:跑团小程序开发心得笔记

CC同学

人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法| 社区征文

汀丶人工智能

LoRa NLP 大模型 LLM模型 年中技术盘点 Freeze微调

人工智能自然语言处理:N-gram和TF-IDF模型详解

汀丶人工智能

人工智能 自然语言处理 nlp tf-idf N-gram

Visual Studio Code错误:Cannot build and debug because the active file is not a C or C++ source file

codists

Visual Studio Code

3D渲染速度慢,花重金买显卡还是用云渲染更划算

3DCAT实时渲染

实时渲染云

学校招生报名小程序开发笔记(一)

CC同学

抓住那只捣乱的猴子,中国移动的混沌工程实践_大数据_张俊宝_InfoQ精选文章