阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

华为云在混沌工程场景下的可靠性测试

  • 2020-03-24
  • 本文字数:2309 字

    阅读完需:约 8 分钟

华为云在混沌工程场景下的可靠性测试

随着互联网的快速发展,传统的单工程的性能瓶颈越发明显,分布式系统的优点越发突出。分布式系统具有廉价高效的特点,利用性能相对一般的 PC 横向扩展,提升服务器性能,通过软件来保障系统的高可靠性。


由于分布式系统存在 API 接口通信、微服务架构、节点规模大等特点,增加了系统的复杂性和出错的概率,从而很难确保系统的容错机制得到充分的验证,依赖自动化工具来完成对系统端到端验证是不可避免的。


Netflix 和类似互联网企业构建的大规模的分布式系统,不可避免地会发生如机器崩溃和网络延迟等故障。为了给客户提供“永远在线”的体验,建立系统可以可靠运行的信心。需要软件能够检测、处理各种错误情况,除了少量发生概率较低的极端故障。

华为云可靠性解决方案

在业界,混沌工程被定义为“在分布式系统上进行实验, 以建立对系统抵御生产环境中失控条件的能力的信心”。


基于华为在 ICT 领域 10 多年的阿软件可靠性测试经验,以及工程师们的千万个夜以继日,华为云推出了在混沌工程领域应用实践的一套完整的解决方案。目标是沉淀通用的故障模式,从入门到精通,从研发到生产,层层推进,以在线演练和专业测评来持续暴露问题,“防止失败的最佳方法就是经常失败,在真实环境测试,而不是模拟环境”,通过线上真实的问题来推动产品全方位的改进。



  • 全面有效的故障模式库

  • 基于华为在 ICT 领域 10 多年的实践积累和数百产品的实际应用的沉淀,电信领域软件的高要求,我们通过正向分析、事故分析、业界案例分析三个维度建立全面的故障模式库。

  • 精准高效的故障模拟

  • 我们通过软件模拟各种硬件故障,对应用无侵入,而且跟应用的实现语言无关。

  • 端到端全自动化测评

  • 我们实现了智能识别故障对象,而且全自动化运行,自动度量 KPI,自动实现风险评估,生成测评报告,测试工程可反复执行。防止失败的最佳方法就是经常失败。在真实环境测试,而不是模拟环境。通过我们的端到端全自动化测评,可以实现这个目标。

华为云混沌工程应用场景

入门级可靠性测试:手工注入

功能:提供对 Kubernetes 集群、弹性云服务器的单业务实例、单故障模式的注入。


适用场景:开发人员针对确定故障的自验证;测试人员针对可靠性问题回归验证等。


特点:操作简单,故障注入/清除结果及系统的表现清晰可见。



手工注入是混沌工程的入门级功能,操作非常容易,结果直接清晰。


首先在服务所在的容器集群或者节点上安装探针,一键安装,秒级创建,速度很快;


然后选择注入对象和注入的故障,还可以选择设置告警、CPTS 压测工程,就可以完成一次故障注入;


再接着就是以 5 分钟为维度获取监控数据生成测试报告;


最后你就可以基于报告来评估服务可靠性的质量了。


全流程可视化操作,只用鼠标点点点就可以了;简单易用,使用门槛低,非常方便开发者和测试人员进行基本的可靠性测试。

进阶级可靠性测试:故障演练

功能:提供对单工作负载的随机故障注入,预置了多种入门级和进阶级演练场景。


适用场景:线下随机故障注入测试;线上例行故障演练、专项演练等。


特点:模型化的场景定义、灵活的编排调度、丰富的评估报告。



故障演练主要使用场景是线上例行故障演练和专项演练。相比于手工注入,故障演练会提供多种入门级和进阶级的演练场景。上图为传统的手工演练流程,与混沌工程提供的故障演练能力对比。


三、四年前我们还处于传统手工演练阶段,全流程的手工进行,后续逐步演变为现在混沌工程提供的全自动化故障演练能力,经我们自己实际使用对比,现在的自动化演练过程比手工更准确和规范,避免人为导致的差错;可靠性专项测试人员投入的时间可以减少 80%,端到端效率提升 10 倍以上。


绿色动图分割线


我们提供如下的预置模板,同时也支持自定义演练任务。


高阶级可靠性测试:自动测评

功能:提供对多工作负载全量的可靠性测评。


适用场景:云服务的全量可靠性测评;不同服务、不同版本的可靠性能力对比。


特点:智能对象识别、自动用例生成、无脚本化执行、自动 KPI 度量、丰富的评估报告。


自动测评最大的特点就是智能对象识别、自动用例生成、无需定制脚本的全自动化执行、自动 KPI 度量生成丰富的评估报告,可以对不同服务、不同版本的可靠性能力进行对比。


自动测评服务的智能对象识别能力,保证了故障对象覆盖的全面性,能有效避免人工测试出现的遗漏。自动用例生成与无脚本化执行,大幅节省了用例设计和自动化脚本编写的工作,同时降低了自动化可靠性测试对人员技能的要求。


系统预置了 3 种常见场景模板,同时支持用户自定义。既可以用预置目标快速创建任务,也可以灵活的定制任务。



测评报告


混沌工程通过结合华为云上的 CCE、ECS、CPTS、AOM、APM 等服务,提供了一套完整的端到端的可靠性测试解决方案,解决了测什么、如何测、如何评价的问题。



可靠性质量评估架构


在华为云上,云服务部署的载体要么是 ECS 的弹性云服务器,要么是 CCE 的容器集群,我们现在已经支持对 CCE 容器集群和弹性云服务器 ECS(linux)进行故障注入。


CPTS 服务可以实现对应用接口的压测,在故障注入的同时运行,通过 CPTS 的报告用来评估故障对业务的影响。


AOM 可以完成对容器、主机的资源监控,以及自定义阈值告警,故障注入后相关的监控数据和告警数据会被写入混沌工程测试任务的报告中,然后根据可靠性质量评估方法实现自动 KPI 度量,生成评估报告。


APM 提供了调用链功能,在故障注入后,利用调用链可以快速完成问题定位分析。


可靠性质量评估方法上,我们采用的是基于可靠性关键质量属性的 KPI 评估方式,如下图。从故障模式维度和测试对象维度对 KPI 进行分析,可以针对自己的服务特性,自主调整评估的参数,然后生成测评报告。


评估属性和方法



本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/G6q4U3Qultb9ZRWnTopfMg


2020-03-24 21:031745

评论

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

Java | 面向对象

陌上

Java、 编程、 10月月更

一份阿里内部GC面试手册,仅一周Github获赞96.9K

程序知音

Java JVM Java虚拟机 java架构 后端技术

轻量级的隔离技术:安全沙箱

Geek_99967b

小程序

ClickHouse 冷热分离存储在得物的实践

得物技术

数据库 Clickhouse 存储 日志平台 企业号十月 PK 榜

超级App成为Gartner预测的战略技术,软件降本增效是否能进一步提速?

Speedoooo

小程序 Gartner预测 超级app 小程序化 超级应用

武汉前端编程培训的就业前景怎么样

小谷哥

数据安全不容忽视,华为云网站安全为企业保驾护航

爱科技的水月

用昇腾AI护航“井下安全”

华为云开发者联盟

人工智能 安全 华为云 企业号十月 PK 榜

Java基础 | 常量、数据类型、变量、类型转换、运算符

陌上

Java、 代码 10月月更

软件供应链端侧安全,小程序安全沙箱技术或许能帮到忙

Geek_99967b

小程序

数十倍的数据量增长,传统 OLAP 还能应对吗?

Kyligence

大数据 金融行业 OLAP技术

交换机:广播风暴产生原因与解决方法、STP生成树协议 ,根桥(根交换机)、备份根桥、非根交换机、根端口、指定端口、非根非指定端口、桥ID

Python-派大星

10月月更

开源时代下,怎样强化自己的应用安全

Geek_99967b

小程序

极客时间架构训练营模块三作业

李晨

2022仪器仪表行业ERP系统十大品牌排行榜

叶落便知秋

算法 | 使用栈计算表达式

甜点cc

Go 算法 10月月更

手把手教你成为荣耀开发者:帐号管理这样做

荣耀开发者服务平台

开发者 手机 安卓 荣耀 honor

VLAN原理和配置,交换机创建vlan的多种方法、三种接口模式的作用和配置方法、Access、Trunk、Hybrid接口的特性以及配置方法和命令

Python-派大星

10月月更

eNSP常用命令 华为模拟器eNSP常用命令

Python-派大星

10月月更

2022全球主流一体化ERP系统十大品牌排行榜

叶落便知秋

ClickHouse 和 Elasticsearch 压测对比,谁才是yyds?

程序知音

SENSORO 付刘伟:图分析在城市治理服务的应用与落地

SENSORO

智慧城市 图数据库 图数据 数据服务

小间距LED显示屏视频拼接器的技术要求

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

西安java开发培训学习哪家机构好

小谷哥

9个计算机的“网络层”知识点

华为云开发者联盟

开发 华为云 网络层 企业号十月 PK 榜

AMD x 稀土掘金 1024码上掘金编程挑战赛来了!

猿始人

1024程序员节

二进制之间的加减乘除运算

甜点cc

学习笔记 计算机 二进制 10月月更

Java | Scanner关键字、random 关键字、System类和匿名函数

陌上

Java、 编程、 10月月更

华为云,安全创新的云服务标杆,助力企业数字化转型

爱科技的水月

Web前端小白知识点

木偶

前端 H5 10月月更

vscode插件设置——Golang开发环境配置

甜点cc

Go ide vscode 插件 10月月更

华为云在混沌工程场景下的可靠性测试_行业深度_华为云产品与解决方案_InfoQ精选文章