随着互联网的快速发展,传统的单工程的性能瓶颈越发明显,分布式系统的优点越发突出。分布式系统具有廉价高效的特点,利用性能相对一般的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进行分析,可以针对自己的服务特性,自主调整评估的参数,然后生成测评报告。

评估属性和方法

目前华为云混沌工程正在公测中,可免费使用,公测申请免审批,申请即可用,详情点击这里,欢迎大家试用。

戳→传送门

可靠性测试竟如此容易相关推荐

  1. 可靠性测试设备技术含量_电子产品可靠性测试及设备

    电子产品基础测试及可靠性测试 & 常用仪器设备 电子产品分类: 1. 电子元件:生产加工时不改变分子成分的成品.如:电阻.电容.电感,本身不产生电 子,对电压.电流无控制和变换作用,又称作无源 ...

  2. 可靠性测试-故障模型库

    什么是可靠性测试: 系统的可靠性是指在发生故障的情况下,系统的数据部丢失,故障恢复后系统能够正常工作.可靠性测试是有针对性的对系统注入特定的故障的一种测试活动. 什么是故障模型库 故障模型库是将故障整 ...

  3. 软件质量模型 测试设计方法,质量模型-可靠性测试

    质量模型-可靠性测试 目录 2009-10-14 磁针石:xurongzhong#gmail.com 在指定条件下使用时,软件产品维持规定的性能级别的能力. 注1 :软件不会损耗或老化.可靠性的种种局 ...

  4. 测试鼠标双击_鼠标环境可靠性测试是什么

    鼠标和电脑是的组合,购买电脑时一般商家会送给用户一个配套的鼠标,鼠标和电脑一样,对环境的要求较高,极少部分的鼠标由于短路或者是环境温度过高的问题会导致鼠标出现自燃的现象,如果用户此时正在使用电脑编辑文 ...

  5. 云上可靠性测试:让我们一起给开发找点事儿

    摘要:在产品上云之前,云上数据的可信(安全性.可靠性等)成为大家关注的重点. 引言 疫情之下,科技支撑有目共睹,多个产业迎来逆势增长.科技创新赋能的"云技术",不再仅仅是战&quo ...

  6. 可靠性测试设备技术含量_品牌手机厂商为何如此重视可靠性测试,海拓仪器一语道破玄机...

    二十万手机人订阅的深度解析号:手机产业原创第一. 预测趋势走向,解读内幕,值得关注~ 近日,某国际品牌手机厂商再次对媒体开放了它的可靠性测试实验室.据海外媒体报道,这次该品牌手机厂商重点让媒体参观了& ...

  7. 可靠性测试设备技术含量_电气自动化控制设备的可靠性测试(1)

    龙源期刊网 http://www.qikan.com.cn 电气自动化控制设备的可靠性测试 作者:彭波 来源:<消费电子 · 理论版> 2013 年第 10 期 摘 要:近年来电气自动化控 ...

  8. rocketmq稳定可靠性测试

    2019独角兽企业重金招聘Python工程师标准>>> 一.测试结论: 在本次持续1星期的稳定可靠性测试中,总计随机发送消息594w条.异常消息数量为0.因此消息队列可靠性很高. 注 ...

  9. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等

    软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...

最新文章

  1. Java并发同步器AQS
  2. APP开发两年的心得:App代码架构设计(1)
  3. Tool之ping:如何使用ping命令检测电脑网络故障图文教程
  4. 设计模式之单例设计模式(饿汉式)
  5. 盲人也能用,优酷App做了哪些无障碍实践?
  6. 无后端完成在线翻译功能
  7. 如何构建分布式SFU/MCU媒体服务器?
  8. 将一个16进制数转化为10进制数
  9. linux配置caffe环境,ubuntu14.04环境下配置caffe
  10. 性能测试--jmeter中HTTP Cookie管理器的使用【18】
  11. java正则 连续数字,正则表达式实现匹配连续数字的方法
  12. Express 框架 以及特性
  13. 华为高薪吸纳“天才” !任正非:进来华为,就没有“天才少年”这个名词了
  14. Electron播放 RTMP流 实现
  15. SAP ABAP 取物料号的采购订单文本内容
  16. 达人评测 联想YOGA Duet 2021
  17. VMware虚拟机ubuntu指定使用主机的wifi无线网卡
  18. svg格式的图片怎么放到word中?用这3种方法轻松解决!
  19. 四川地震发生前已有征兆?网民问责地震局未预警
  20. NGINX工作原理解析

热门文章

  1. pcb板可挖孔吗_PCB板微孔加工方法之机械钻孔
  2. 多php共用一个mysqli连接,在pHP中使用MySQLi连接到多个数据库
  3. java getcharat_Java UTF8.getCharArray方法代码示例
  4. jQuery基础(3)- ajax
  5. 洛谷P1856 [USACO5.5]矩形周长Picture
  6. Android 开发笔记___Activity的生命周期
  7. Python高手之路【十】python基础之反射
  8. Angular - ng-repeat高级用法
  9. 关于轻重边及树链剖分该怎么写...
  10. AR的一些常见的操作