在上一期《业务永续》中我们给大家介绍的是容灾管理系统,本期给大家带来的是腾讯云首个私有化输出的 B 端混沌工程产品——故障演练平台,在腾讯专有云的运维平台中,它又是如何工作的呢?
首先,笔者想谈一谈软件工程质量,这是所有云服务厂商的头等大事,如果客户在使用云平台时不稳定,会质疑云服务的软件质量,从而引来大量客户投诉。
在笔者和很多软件从业者经历中,提到软件工程质量,就会想到各种软件开发过程中的各种质量加固措施,比如代码静态检查、CodeReview、单元测试、流水线门禁、API 接口自动化测试、Web 自动化测试等待,相信老码农同学都经历了很多。那还有没有一种更好的工具能随时检验你的软件或者云服务的质量呢?
这个工具就是混沌工程!
谈到混沌工程,估计很多 IT 行业人士还没有接触过,但是提起故障演练,应该很多人都了解甚至操练过,混沌工程和故障演练这两者有什么关系呢?
这里我们先说说“混沌工程”来源。
混沌工程这几个字大量在国内大量涌现可以回溯到2017年左右出版的《混沌工程》书籍,这是 Netflix 公司前混沌工程师出版的书籍,没错!混沌工程是最早由 Netflix 公司构建的,英文名叫 Chaos,现如今他的方法论已经成为 IT 行业设计混沌工程产品的事实标准。
混沌工程设计目标是希望通过注入各种模拟的异常来验证业务系统的稳定性,同时找到业务系统的弱点,从而提高业务健壮性;目前 IT 圈的人士都在按照混沌工程的设计原则设计自己混沌工程工具。
混沌工程在 Netflix 公司的发展历史
其实国内很多 IT 公司也在做类似的事情,只是前期国内习惯叫故障演练,Netflix 站出来给大家立了一个标准并且包装了一个高大上的名字“混沌工程”,但是故障演练只是混沌工程的子集,在故障演练范围外的如应用类延迟、资源争抢、性能类问题、安全类问题也在混沌工程的范围,在这里要感谢 Netflix 公司为行业树立这么好的标杆和标准。
我们的许多企业客户都提出的故障演练的需求,为此而我们立项开发此类平台,笔者有幸构建腾讯云首个私有化输出的 B 端的混沌工程产品,帮助我们客户打磨自己的平台,让客户的系统稳如磐石。
01
组件概念
接下来重点介绍我们的混沌工程产品,我们取名为演练平台(奥斯卡),奥斯卡寓意能像奥斯卡电影颁奖平台一样,能为软件提供提升软件产品质量的平台,我们在设计时也遵循了混沌工程设计原则,同时引入了几个概念先让大家了解:
02
差异化能力
演练平台的差异化能力如下:
开箱即用 | 平台默认配置了大量经验库和组件演练库,用户可以设置演练预约,定时任务自动发起演练任务,也可以手工发起演练任务,操作一键完成,从而做到开箱即用。 |
---|---|
灵活编排 | 平台默认自带了一些演练库,同时用户也可以按需编排自己的演练库,做到一键演练操作。 |
克隆能力 | 用户可以一键把平台上的组件演练库克隆为自己名下的,然后可以进行编辑,做到快速复制模板。 |
自动集成周边工具 | 平台默认集成要周边运维工具,包括 CMDB、监控系统、日志系统等,用户不需要跨产品操作,一站式完成所有操作。 |
内置丰富的经验库 | 演练类型包括性能类演练(比如 CPU 加压、IO 负载加压、内存加压等)、可用性演练(比如杀进程、重启、关机、删 POD、删容器)、安全类演练。进一步拆分为主类型和子类型,主类型包括资源类异常、网络类异常、主机类异常、应用异常;子类型包括 CPU、硬盘、内存、主机、POD、应用等待。用户可以根据自己的场景来选择对应类型快速筛选经验库来完成你的演练。 |
03
应用场景
方式一:点击右侧操作栏的“演练”按钮,平台会立即对该演练库新建演练任务。
方式二:点击右侧操作栏的“设置预约”按钮,设置下次新建演练任务的时间来实现定时执行演练任务。
如果系统自带的演练库不满足用户需求,用户可以点击“新建”按钮,通过编排来新建一个演练库,编排动作包括配置演练内容、选择演练对象、选择监控指标三个步骤,如图所示:
在演练完成后,用户可以点击任务详情查看每个演练对象的执行状态、演练过程中的监控指标曲线情况以及执行的日志详情,通过查看这些详情,可以辅助用户快速分析演练异常的原因。
未来我们将在演练平台提供更丰富的特性,包括:
腾讯专有云将持续优化产品,为客户提供更多优质服务!
感谢本期作者闵桂龙给我们带来的精彩解说,喜欢的朋友们可以点一下关注,咱们下期见~
-【END】-
没看够?下面还有!
往期 · 推荐