作者:穹谷|阿里云技能专家,ChaosBlade 社区以及商业化产品的 Founder 和 Maintainer ,乐于参与混沌工程布道。

2021 年 12 月 7 日,由信通院主办、混沌工程试验室承办的“混沌工程技能沙龙-金融职业精品专场”沙龙在北京举办,来自阿里云的技能专家穹谷共享“从甲方到乙方,怎么做好混沌工程的职业化落地”。

混沌工程逐步成为企业提高安稳性的重要手法

企业体系云原生化,带动应用发布迭代速度越来越快,但分布式体系的杂乱性也越来越高,从而导致毛病频发,如 Google Cloud 服务器因为内部存储配额问题造成身份验证体系中断、AWS 处理流媒体数据服务出现问题,云服务宕机 5 小时等毛病,都造成了严重影响。

因为体系不可猜测的行为危险增多,云上杂乱体系的安稳性难以保证,所以混沌工程逐步成为企业寻求事务连续性的重要计划。企业企图经过混沌工程用来保证出产环境的分布式体系在面对失控条件的时候仍然具有较强的耐性。

一起职业也在不断增强混沌工程范畴的规范拟定,信通院经过发布《混沌工程渠道才能要求》、《混沌工程老练度模型》、《混沌工程安稳性衡量模型》等规范规范推动混沌工程范畴展开,一起联合各企业成立混沌工程试验室,促进了混沌工程在国内快速展开。

1.png

甲乙双方的需求和供应不同,造成混沌工程的职业化落地困境

自混沌工程原则提出,国内外头部互联网、云厂商等公司开端出现一批初具形态的混沌工程渠道服务,互联网的公司的特点使渠道展开道路重视在产品化、出产环境、试验探究、云原生等方面。依据信通院联合各企业发布的《我国混沌工程调查陈述》显现,在混沌工程开发技能上,甲方和乙方对技能产品有不同的挑选。乙方(服务供应侧)更倾向于选用自研渠道为辅助,而甲方(服务需求侧)更倾向于选用商业化渠道作为辅助,在挑选商业化渠道时愈加重视产品完善度、职业事例、安全、技能可控等才能,面对的问题如场景怎么整理、施行环境怎么建造、安稳性怎么点评、影响范围怎么控制、试验流程怎么拟定、安排怎么协同、落地价值怎么表现、职业特性掩盖、运维体系怎么集成等问题,所以不仅需求技能,还需求服务,融入职业特性结合实践形式来落地混沌工程。那怎么去做呢?阿里巴巴结合内部混沌工程的演进,包括集团、商业化、开源等方向全方位供给混沌工程才能,结合职业化客户面对落地混沌工程的困难,供给了一套老练的混沌工程职业化落地处理计划。

2.png

阿里巴巴混沌工程职业化处理计划供给社区版和企业版

阿里巴巴混沌工程职业化的处理计划包括渠道技能和服务两部分,渠道技能部分包括混沌工程渠道社区版和混沌工程渠道企业版别。社区版别是代码全部开源,由社区开发保护的版别。企业版别是供给公有云 SaaS和专有云布置的版别,比较于社区版别,供给更契合企业级规模化、场景化、安全可控等渠道需求。

混沌工程渠道社区版

混沌工程渠道社区版是开源的,面向多集群、多环境、多语言的通用混沌工程渠道,意图是处理用户开端着手启动混沌工程的问题。在渠道上能够装备多个环境完成资源阻隔,在每个环境中支撑多主机、多集群、多容器资源办理和毛病注入,还支撑运转在这些资源上的 Java、Golang、C++ 等多语言应用;一起还支撑保管业内干流的混沌工程试验东西如 chaosblade、chaos mesh 和 litmuschaos,能够在渠道上完成一键布置;而且统一了试验界面,能够直接在渠道上运用这些东西供给的试验场景。除东西保管功用外,还供给场景办理、多维演练、流程编排、稳态检测、演练防护、演练陈述、多租户等才能,供给 OpenAPI 可供外部集成。社区版和 CNCF 生态严密关联,如 Prometheus、HELM 等项目。

3.png

混沌工程渠道企业版

混沌工程渠道企业版定位是供给规模化、场景化、主动化、安全的产品才能,掩盖 IaaS、PaaS、SaaS 全栈场景。选用社区版内核才能,可供给社区版往企业版一键晋级的才能,一起针对职业化客户已有的运维体系,如全链路压测体系、环境技能、单元化容灾渠道、预案体系、可观测等进行适配集成,经过与这些渠道集成,能够很好的处理爆炸半径、稳态点评、主动化运转试验等问题。

职业化客户应用架构一般具有多语言、多渠道、异构云、多供应商架构等特点,混沌工程企业版能够很好的适配集成,便利完成混沌工程一体化渠道。除了适配集成外,企业版比较如社区版渠道的才能更丰厚,可从四个方面来看:

  • 丰厚的演练场景:企业版支撑 200 多个毛病场景、支撑云服务、一起兼容 Windows 渠道,支撑预检、断网、康复、复盘一站式的容灾断网演练,和服务级别的微服务演练。

  • 多样化的演练形式:支撑自定义演练机器、场景,能够将试验沉积为经历库或许直接创立经历模板一键演练,简略快捷。供给高阶的演练计划,按需装备。支撑可视化演练,在架构拓扑图上一键主张演练,能够很有用的查看演练状况和保证半径。

  • 易用的演练渠道:事务零改造即可运用企业版渠道,支撑架构主动化感知,完成主动整理架构拓扑、演练可视化等。支撑一键从社区版晋级至企业版,满意企业级的需求。

  • 安全的演练保证:供给多种演练康复战略,如经过装备事务指标阈值来控制演练状况,安全可控。供给细粒度的权限管控等。

4.png

通用混沌工程实践形式

阿里巴巴混沌工程实践形式是一套建立在阿里内部多年混沌工程实践、社区开源评论和多个企业项目事例的根底上,笼统出的一套通用混沌工程实践形式。经过此实践形式,能够大幅度下降企业在混沌工程课题引入、方针设定、安排设计等,保证有意图性的混沌工程落地。实践形式一共分为三类,事务导向型混沌实践、架构导向型混沌实践和安排导向型混沌实践:

  • 事务导向型混沌实践,是一种以事务为视角的实践办法,经过形式模板,能够快速演练暴露事务架构设计的问题,下降突发毛病对事务带来的影响。实践形式包括服务间的强弱依靠形式,涉及到金融、资金类的资损防控形式,涉及用户运用体会类的用户体会形式和客户端类终端容灾形式,典型的应用场景如手机银行、交易结算。

  • 架构导向型混沌实践,是一种以根底设施为视角的实践办法,经过形式模板,从根底设施的运用者和运维者视点发现问题、衡量安稳性,缩短毛病康复时刻。实践形式包括验证监控掩盖度和有用性的可观测形式,经过对 SLI 演练验证对外供给 SLA 的服务等级协议形式,验证同城双活异地多活灾难康复形式、验证服务自愈的毛病康复形式。运用场景有中心架构分布式改造、中心事务上云等。

  • 安排导向型混沌工程实践,是一种全局视角衡量和提高安稳性的实践办法,经过安排运营,能够大幅度提高混沌工程气氛,促进团队的安排协同,提高毛病应急功率。实践形式包括计划性的毛病演习形式、在特定时刻安排红蓝军对抗的红蓝攻防形式、对出产环境主张的奇袭攻击形式。典型的运用场景有针对毛病应急 1-5-10 的达标率考核、大型安稳性项目推动等。

5.png

三种落地交给形式

经过咨询服务总结出一套混沌工程实践形式,能够愈加聚焦的处理混沌工程层次化落地实践问题。在实践的客户交给中,依据客户阶段,逐步衍生出三种交给形式,即:社区版加可行性点评形式、企业版加规模化落地形式、企业版加职业深度共建3种形式。

  • 形式1 :社区版+可行性点评形式(轻咨询) ,主要是经过开源的混沌工程渠道加混沌工程专家经历,快速在企业中落地施行混沌工程,进行后续混沌工程全面铺开的可行性点评。

  • 形式2 :企业版+规模化落地形式,经过公有云或专有云布置,凭借此渠道的企业级功用特性,能够完成在企业中规模化落地。

  • 形式3:企业版+职业深度共建形式,经过专有云布置,经过专有云版别集成与被集成的才能,结合客户已有体系,进行深度共建,完成渠道一体化。

6.png

社区版 + 可行性点评(轻咨询)的交给形式

凭借混沌工程社区版和阿里巴巴多年在集团和客户沉积的落地经历,切实处理客户面对混沌工程无从下手的困境,快速落地混沌工程,完成混沌工程在企业落地的可行性点评。

7.png

这个形式的典型客户的事例如上,客户布景是为满意主机下移,对体系进行了分布式架构改造,自研分布式结构需求验证其高可用才能,但没有混沌工程相关经历,想借此项目在企业中落地混沌工程。客户意图也很明确,要求供给混沌工程技能办法论并教会相关测验人员怎么做场景剖析、布置混沌工程东西渠道并教会测验人员怎么依据 ChaosBlade 扩展毛病场景、带领落地施行混沌工程,教会测验人员整个混沌工程施行流程。

针对客户的布景和方针,先对客户技能架构、事务架构、布置架构、安稳性保证等现状进行调研,产出安稳性剖析陈述,提出安稳性问题危险点,供给混沌工程技能培训,剖析毛病场景剖析事例,带领客户依据客户自研的分布式结构做毛病场景剖析;一起辅导客户依据 ChaosBlade 做自研毛病场景开发,供给混沌工程全体技能计划和落地施行规划:

在客户侧布置社区版渠道,依据已剖分出的毛病场景供给演练计划并评定,施行毛病演练,产出规范化的毛病演练陈述和安排毛病演练复盘,供给混沌工程后续规划主张。

全体的项目交给时刻仅用 1 个月,达到辅导和自行整理自研结构毛病场景几十个、辅导施行毛病演练两次,自行施行毛病演练多次,发现高可用切换、毛病自愈、监控告警等很多安稳性问题项目收益。为企业后续展开混沌工程规模化供给可行性点评。

企业版加规模化的交给形式

混沌工程在各大互联网企业中的价值逐步被我们接受,越来越多的银行、证券及保险金融类企业开端规划并落地混沌工程技能,这些金融类企业在面对分布式架构转型、云化技能晋级以及金融信创下杂乱的根底设施环境下,运用混沌工程技能治理杂乱体系的安稳是,是一种快速且有用技能手法。在面对怎么快速有用落地混沌工程实践上,缺乏经历是这些金融企业面对的最大调整,因为混沌工程根底渠道本身具有职业无关性,经过立异项目引入老练的混沌工程企业版别与服务成为越来越多的金融企业的首选。

混沌工程企业版供给丰厚的演练场景、一站式演练才能,渠道易用、安全可控,保证企业规模化布置施行,发现体系安稳性问题,提高体系耐性,如凭借混沌工程渠道提高毛病应急功率,如毛病发现才能、毛病定位才能、毛病处理才能、毛病复盘等。能够协助客户缩短建造大规模演练施行时刻,提高演练执行功率,保证混沌工程施行投入产出比,让客户的精力放在架构危险识别和体系优化上。

某头部证券客户跟着事务的展开和立异,体系数量和杂乱度不断提高,出产运转面对着功用缺陷、功能容量、单点毛病等威胁安全安稳运转的危险,需求从技能上提高体系的高功能和安稳性。经过凭借阿里云混沌工程企业版老练才能进行常态化、规模化演练实践,提早对出产体系中大量的毛病场景下进行脆弱性的检验,最大化提早识别和消除技能危险,提高体系运转的可靠性。在为期一个月的安稳性专题保证项目中,经过混沌工程,获得了巨大收益:发现危险合计 23 类,超过 300 个问题点,演练次数 2000 多次,当日最高演练次数高达近 300 次,掩盖中心体系 300 个等;并依据此企业版渠道展开混沌工程安排运营,如双随机演练、演练大屏看板、出产质量剖析陈述、演练数据运营等。

8.png

企业版加职业深度共建的交给形式

混沌工程企业版供给集成与被集成的才能,凭借此才能,能够和客户的监控体系、变更体系、测验体系、应急体系、CMDB 等体系集成,依据职业体系特点,共同共建,如异构体系、国产化体系、网络云体系等,供给职业化混沌工程范畴技能立异,如量化点评、场景探究、试验主动化等方面,完成共赢。

经过混沌工程企业版供给的规范化才能与客户已有体系进行适配集成,建造具有职业特点的混沌工程渠道才能,满意职业需求,加速了客户在混沌工程范畴落地与立异。

9.png

更多

阿里巴巴致力于落地混沌工程及职业化处理计划,经过多种实践形式使混沌工程施行更聚焦,多种交给形式服务于各种不同需求的企业。我们能够经过以下链接快速体会阿里云混沌工程服务,或进行混沌工程处理计划咨询。

1)开源项目地址:

​​https://github.com/chaosblade-io/chaosblade​​

2)产品体会地址:

​​https://developer.aliyun.com/adc/scenario/e9b27357ab9c4785bc7f43fb62f872e3​​

3)处理计划地址:

​​https://www.aliyun.com/solution/cloudnative/chaosengineering​​

点击​​此处​​,当即上手体会混沌工程!更多混沌工程的评论,欢迎进群交流!扫描下方二维码或查找钉钉群号:23177705 即可入群!

10.png