前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维平台第6期:混沌工程,助力系统稳如磐石

运维平台第6期:混沌工程,助力系统稳如磐石

作者头像
腾讯专有云
发布2022-06-24 17:41:44
7620
发布2022-06-24 17:41:44
举报
文章被收录于专栏:腾讯专有云

在上一期《业务永续》中我们给大家介绍的是容灾管理系统,本期给大家带来的是腾讯云首个私有化输出的 B 端混沌工程产品——故障演练平台,在腾讯专有云的运维平台中,它又是如何工作的呢?

首先,笔者想谈一谈软件工程质量,这是所有云服务厂商的头等大事,如果客户在使用云平台时不稳定,会质疑云服务的软件质量,从而引来大量客户投诉。

在笔者和很多软件从业者经历中,提到软件工程质量,就会想到各种软件开发过程中的各种质量加固措施,比如代码静态检查、CodeReview、单元测试、流水线门禁、API 接口自动化测试、Web 自动化测试等待,相信老码农同学都经历了很多。那还有没有一种更好的工具能随时检验你的软件或者云服务的质量呢?

这个工具就是混沌工程!

谈到混沌工程,估计很多 IT 行业人士还没有接触过,但是提起故障演练,应该很多人都了解甚至操练过,混沌工程和故障演练这两者有什么关系呢?

这里我们先说说“混沌工程”来源。

混沌工程这几个字大量在国内大量涌现可以回溯到2017年左右出版的《混沌工程》书籍,这是 Netflix 公司前混沌工程师出版的书籍,没错!混沌工程是最早由 Netflix 公司构建的,英文名叫 Chaos,现如今他的方法论已经成为 IT 行业设计混沌工程产品的事实标准。

混沌工程设计目标是希望通过注入各种模拟的异常来验证业务系统的稳定性,同时找到业务系统的弱点,从而提高业务健壮性;目前 IT 圈的人士都在按照混沌工程的设计原则设计自己混沌工程工具。

混沌工程在 Netflix 公司的发展历史

其实国内很多 IT 公司也在做类似的事情,只是前期国内习惯叫故障演练,Netflix 站出来给大家立了一个标准并且包装了一个高大上的名字“混沌工程”,但是故障演练只是混沌工程的子集,在故障演练范围外的如应用类延迟、资源争抢、性能类问题、安全类问题也在混沌工程的范围,在这里要感谢 Netflix 公司为行业树立这么好的标杆和标准。

我们的许多企业客户都提出的故障演练的需求,为此而我们立项开发此类平台,笔者有幸构建腾讯云首个私有化输出的 B 端的混沌工程产品,帮助我们客户打磨自己的平台,让客户的系统稳如磐石。

01

组件概念

接下来重点介绍我们的混沌工程产品,我们取名为演练平台(奥斯卡),奥斯卡寓意能像奥斯卡电影颁奖平台一样,能为软件提供提升软件产品质量的平台,我们在设计时也遵循了混沌工程设计原则,同时引入了几个概念先让大家了解:

  • 经验库:每个经验库对应一种注入系统的异常事件,比如模拟 CPU 压高、内存压满等、应用延时、IO 跑高等;
  • 组件演练库:为了提升我们演练平台的用户体验,做到一键化操作、开箱即用等等,我们引入“演练库”这个概念,演练库就是编排了我们的经验库、稳态监控、日志、演练对象等对象的集合,而组件演练库对应的我们能操作的最小单元,操作对象就是对应软件中的一个模块或组件,我们的演练平台可以对组件级演练做到一键化,演练后查看演练过程和结果可以一站式一屏展示,做到快速分析系统异常的根因
  • 场景演练库: 一套软件或系统是由多个组件或模块组成的,所以要对一个产品或系统做一键化演练,这就是我们提出的场景演练,场景演练库是进一步对多个组件演练库做了编排。

02

差异化能力

演练平台的差异化能力如下:

开箱即用

平台默认配置了大量经验库和组件演练库,用户可以设置演练预约,定时任务自动发起演练任务,也可以手工发起演练任务,操作一键完成,从而做到开箱即用。

灵活编排

平台默认自带了一些演练库,同时用户也可以按需编排自己的演练库,做到一键演练操作。

克隆能力

用户可以一键把平台上的组件演练库克隆为自己名下的,然后可以进行编辑,做到快速复制模板。

自动集成周边工具

平台默认集成要周边运维工具,包括 CMDB、监控系统、日志系统等,用户不需要跨产品操作,一站式完成所有操作。

内置丰富的经验库

演练类型包括性能类演练(比如 CPU 加压、IO 负载加压、内存加压等)、可用性演练(比如杀进程、重启、关机、删 POD、删容器)、安全类演练。进一步拆分为主类型和子类型,主类型包括资源类异常、网络类异常、主机类异常、应用异常;子类型包括 CPU、硬盘、内存、主机、POD、应用等待。用户可以根据自己的场景来选择对应类型快速筛选经验库来完成你的演练。

03

应用场景

  • 一键完成演练操作:用户有两种方式来执行演练动作。

方式一:点击右侧操作栏的“演练”按钮,平台会立即对该演练库新建演练任务。

方式二:点击右侧操作栏的“设置预约”按钮,设置下次新建演练任务的时间来实现定时执行演练任务。

  • 编排新的演练库,定制演练任务

如果系统自带的演练库不满足用户需求,用户可以点击“新建”按钮,通过编排来新建一个演练库,编排动作包括配置演练内容、选择演练对象、选择监控指标三个步骤,如图所示:

  • 一屏展示演练详情,快速分析演练异常原因

在演练完成后,用户可以点击任务详情查看每个演练对象的执行状态、演练过程中的监控指标曲线情况以及执行的日志详情,通过查看这些详情,可以辅助用户快速分析演练异常的原因。

未来我们将在演练平台提供更丰富的特性,包括:

  • 内置更丰富的组件演练和场景演练库。
  • 实现自动爆炸半径的自动终止演练能力。
  • 内置更丰富的经验库,包括应用类、安全类、性能类。
  • 增加自定义经验库的能力。

腾讯专有云将持续优化产品,为客户提供更多优质服务!

感谢本期作者闵桂龙给我们带来的精彩解说,喜欢的朋友们可以点一下关注,咱们下期见~

-【END】-

没看够?下面还有!

往期 · 推荐

运维专题第1期:数据中枢

运维专题第2期:警戒哨兵

运维专题第3期:诊断专家

运维专题第4期:数据掘金者

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯专有云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
混沌演练平台
混沌演练平台(Chaotic Fault Generator)提供高效便捷、安全可靠的故障演习服务,除可视化故障注入服务外,还提供行业经验模板,监控护栏等核心功能,致力于帮助用户及时发现业务容灾隐患、验证高可用预案的有效性,从而提高系统的可用性和韧性。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档