混沌工程平台 ChaosBlade-Box新版重磅发布

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 故障演练(Chaos)是云原生混沌工程平台,提供了大规模、低成本、影响可控、形式多样化的故障演练服务。Chaos 提供一站式架构分析、故障巡检、故障注入、系统稳态度量等功能,帮助用户增强分布式系统的容错性和可恢复性,帮助系统平稳上云。

混沌工程是什么?


在2020.11.25 AWS发生了服务大面积故障,造成了多个云产品服务受影响,不到一个月的时间内谷歌发生了那年的第三次大规模宕机,造成了波及20亿用户,损失170万美元的巨大损失。

系统架构经历了单机 到 分布式,再到现在的云原生架构,其复杂度不断上涨,问题定位的难度也随之上涨。面对随时都可能发生的故障,有没有什么的办法能很好解决这个困境。

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

image.png

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

image.png

混沌工程的目标是实现韧性架构,这里包含两个部分:韧性系统和韧性组织。韧性系统具有冗余性、扩展性、不可变基础设施、无状态应用、避免级联故障等。韧性组织包含高效交付、故障预案、应急响应机制等。高度韧性的系统也会出现预期之外的故障,所以韧性的组织能弥补韧性系统缺失的部分,通过混沌工程构建极致的韧性架构。

image.png

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

  • 架构师:能帮助其验证架构的容错能力
  • 开发/运维:能提高其故障的应急效率
  • 测试:帮助其提早暴露线上问题,降低故障复发率
  • 产品/设计:提示客户使用体验

image.png

如何落地混沌工程?

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

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

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

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

image.png

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

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

  • ChaosBlade-Box Console :混沌实验用户界面
  • ChaosBlade-Box:Server后端服务,主要包括演练场景的编排和安全管控、混沌工程工具部署(ChaosBlade、LitmusChaos...)、支持探针管理和多维度实验
  • Agent:探针,主要有(ChaosBlade-Box)Server端进行建联并保持心跳、上报k8s相关数据、演练命令下发通道等功能
  • ChaosBlade:部署在业务的主机或k8s集群内,在端侧进行演练的工具

image.png

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

image.png

image.png

image.png

image.png

以下是在新版ChaosBlade-Box平台上进行一次演练的全过程,支持顺序执行、阶段执行两种流程编排,顺序执行指的是多个演练场景依次生效,阶段执行值得是多个演练场景同时生效。通过多种安全策略保证演练得到恢复,如手动处罚和自动停止,自动停止通过在演练配置的时候设置超时参数来进行配置,这样即便平台和探针(Agent)失联,无法进行手动停止时,也能在超时时间到达的时候,自动恢复故障。

image.png

image.png


新版优势是什么?


此次发布的新版相较于老版,前端界面和企业版进行统一,简化使用习惯的切换成本,更为完善的国际化中英文切换,并支持全局命名空间的切换;后端提供了更为流畅的演练编排,完善的应用管理,并加强了对探针的管控,并支持一键迁移到企业版;加强了探针的功能,提供了更加完善的API,支持多环境部署且支持在不同环境作为演练通道,支持自动安装卸载,并收集并上报数据简化演练流畅。

image.png


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之热更新和云发布不能共存如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
Kubernetes 前端开发 Cloud Native
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
快速学习混动工程平台 ChaosBlade-Box 新版重磅发布
763 0
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
|
1月前
|
Kubernetes 安全 Go
对于阿里开源混沌工程工具chaosblade-box-agent心跳报错问题的分析与解决
摘要: 本文记录了一个由chaosblade-box平台后台发现的偶发的chaosblade-box-agent不发送心跳的问题,从报错日志入手,结合chaosblade-box-agent源码进行分析,最终解决问题并修复打包的过程。
248 7
|
1月前
|
人工智能 Kubernetes Cloud Native
ChaosMeta V0.7.0 版本发布 & 进入CNCF混沌工程全景图
混沌工程 ChaosMeta 的全新版本 V0.7.0 现已正式发布!该版本包含了许多新特性和增强功能,在编排界面提供了多集群管理,在代码层面支持多命令下发通道的选择。另外由蚂蚁集团发起的ChaosMeta于北京时间2024年1月10日正式进入CNCF混沌工程全景图。
39 0
|
1月前
|
tengine 算法 安全
ChaosBlade 是阿里巴巴开源的混沌工程工具
【2月更文挑战第23天】ChaosBlade 是阿里巴巴开源的混沌工程工具
65 1
|
1月前
|
Kubernetes 监控 容器
K8S故障注入混沌工程开源平台ChaosMesh
总之,ChaosMesh作为一个Kubernetes混沌工程平台,为用户提供了测试和验证Kubernetes集群的可靠性的工具和框架,有助于提高系统的稳定性和性能。
137 0
|
测试技术 调度 C++
六年打磨!阿里开源混沌工程工具 ChaosBlade
减少故障的最好方法就是让故障经常性的发生。通过不断重复失败过程,持续提升系统的容错和弹性能力。今天,阿里巴巴把六年来在故障演练领域的创意和实践汇浓缩而成的工具进行开源,它就是 “ChaosBlade”。如果你想要提升开发效率,不妨来了解一下。
11779 0
|
7月前
|
监控 数据可视化 网络协议
自动化混沌工程 ChaosMeta V0.6 版本发布
混沌工程 ChaosMeta 的全新版本 V0.6.0 现已正式发布!新增了DNS异常、日志注入等故障能力,并且在可视化编排界面中提供了对流量注入、度量等各类节点的支持,提供自动化混沌工程的支撑能力。
415 0
自动化混沌工程 ChaosMeta V0.6 版本发布
|
运维 监控 JavaScript
如何用一个插件解决 Serverless 灰度发布难题?
灰度发布又称为金丝雀发布( Canary Deployment )。对于部署在 Serverless 平台上的函数应该怎么进行灰度发布呢?
|
Kubernetes Cloud Native 前端开发
混沌工程平台ChaosBlade-Box 新版重磅发布
从早期的单机架构到微服务架构,再到现在的云原生架构,系统架构越来越复杂。在这样复杂的系统架构里如何快速定位问题,或将问题前置以提前暴露解决从而提高整个系统的韧性,变得尤为重要。
混沌工程平台ChaosBlade-Box 新版重磅发布

热门文章

最新文章