关于阿里云:混沌工程平台-ChaosBladeBox-新版重磅发布

35次阅读

共计 2069 个字符,预计需要花费 6 分钟才能阅读完成。

作者:铭少

混沌工程是什么

零碎架构经验了单机到分布式,再到当初的云原生架构,其复杂度一直上涨,问题定位的难度也随之上涨。面对随时都可能产生的故障,有没有什么的方法能很好解决这个窘境。

混沌工程(Chaos Engineering)在分布式系统上进行试验的学科,通过被动注入故障的形式,提前发现零碎的薄弱点,推动架构的改良,最终实现业务韧性。从而防止故障在线上运行环境上产生。

这里拿云原生架构来举例说明,为什么混沌工程能解决零碎架构中存在的问题。云原生架构准则和混沌工程准则是能够找到对应关系,以服务化准则阐明,服务化准则其根本就是服务如何治理的问题,也就是判断上下游服务之间强弱依赖关系的问题。通过混沌工程,能够通过将申请定位到具体机器,再放大到具体机器上的利用,一直最小化爆炸半径,通过在利用之间注入故障,判断上下游服务是否失常,来判断其强弱依赖关系。

混沌工程的指标是实现韧性架构,这里蕴含两个局部:韧性零碎和韧性组织。韧性零碎具备冗余性、扩展性、不可变基础设施、无状态利用、防止级联故障等。韧性组织蕴含高效交付、故障预案、应急响应机制等。高度韧性的零碎也会呈现预期之外的故障,所以韧性的组织能补救韧性零碎缺失的局部,通过混沌工程构建极致的韧性架构。

混沌工程就是通过被动注入故障的形式,提前发现零碎的薄弱点,推动架构改良,最终实现业务韧性。引入混沌工程对于不同职能的人而言,其业务价值有所不同:

  • 架构师:能帮忙其验证架构的容错能力
  • 开发 / 运维:能进步其故障的应急效率
  • 测试:帮忙其提前裸露线上问题,升高故障复发率
  • 产品 / 设计:提醒客户应用体验

如何落地混沌工程

对于企业或业务如何对混沌工程进行落地?有无工具或平台能帮忙其疾速落地?

ChaosBlade 是一款遵循混沌试验模型的混沌试验执行工具,具备场景丰盛度高,简略易用等特点,反对多平台、多语言环境,包含 Linux、Kubernetes 和 Docker 平台,反对 Java、NodeJS、C++、Golang 语言利用。反对 200 多个场景,3000 多个参数。是一款用于端侧的故障注入工具,但在业务进行落地时,会存在以下几个问题:

  • 故障注入过程如何可视化?
  • 如何同时对多个集群或主机进行故障注入?
  • 如何拿到整体演练的统计信息
  • …… 

所以在 ChaosBlade 之上还须要平台层,对混沌工程执行工具进行治理与演练编排。

ChaosBlade-Box 是面向多集群、多语言、多环境,开源的云原生混沌工程控制台。

开源平台和注入工具的整体架构如下,次要包含几个组成模块:

  • ChaosBlade-Box Console:混沌试验用户界面
  • ChaosBlade-Box:Server 后端服务,次要包含演练场景的编排和平安管控、混沌工程工具部署(ChaosBlade、LitmusChaos…)、反对探针治理和多维度试验
  • Agent:探针,次要有(ChaosBlade-Box)Server 端进行建联并放弃心跳、上报 K8s 相干数据、演练命令下发通道等性能
  • ChaosBlade:部署在业务的主机或 K8s 集群内,在端侧进行演练的工具

新版 ChaosBlade-Box 平台是一个面向多集群、多环境、多语言的云原生混沌工程平台。反对国际化中英文切换,反对全局命名空间,使得同一用户可依据本人需要,设置不同的全局命名空间,如:测试空间、沙盒空间和线上空间等。提供自动化的工具部署,简化工具装置步骤,进步执行效率。平台反对不同环境的探针装置和演练,如主机和 Kubernetes,其中 Kubernetes 环境下反对 Node、Pod、Container 维度下的演练。在 Kubernetes 环境下会主动收集集群内的 Pod 相干数据,并在利用治理中进行对立治理,这样简化用户演练查问步骤,无需去集群内查看要演练利用的 Pod 名或 Container 名。并反对一键迁徙到企业版,按需将社区版的演练数据同步到企业版。

以下是在新版 ChaosBlade-Box 平台上进行一次演练的全过程,反对程序执行、阶段执行两种流程编排,程序执行指的是多个演练场景顺次失效,阶段执行值得是多个演练场景同时失效。通过多种安全策略保障演练失去复原,如手动处罚和主动进行,主动进行通过在演练配置的时候设置超时参数来进行配置,这样即使平台和探针(Agent)失联,无奈进行手动进行时,也能在超时工夫达到的时候,主动复原故障。

新版劣势是什么

此次公布的新版相较于老版,前端界面和企业版进行对立,简化应用习惯的切换老本,更为欠缺的国际化中英文切换,并反对全局命名空间的切换;后端提供了更为晦涩的演练编排,欠缺的利用治理,并增强了对探针的管控,并反对一键迁徙到企业版;增强了探针的性能,提供了更加欠缺的 API,反对多环境部署且反对在不同环境作为演练通道,反对主动装置卸载,并收集并上报数据简化演练晦涩。

相干链接

中间件开发者大会地址(演讲稿 PDF 可下载):

https://developer.aliyun.com/…

MSE 注册配置核心专业版首购享 9 折优惠,MSE 云原生网关预付费全规格享 85 折优惠。

正文完
 0