NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

用尽一切手段降低 MTTR,混沌工程在华泰证券的落地实践

  • 2021-08-27
  • 本文字数:2634 字

    阅读完需:约 9 分钟

用尽一切手段降低MTTR,混沌工程在华泰证券的落地实践

InfoQ 在做混沌工程系列访谈时发现,企业对混沌工程的认知普遍存在两种情况:一种是企业不了解混沌工程,武断地认为用不上;一种是企业对混沌工程抱有太多期待,对投入产出比的容忍度较低。

 

检索混沌工程的实践新闻,关联词都是“大公司”、“生产环境”、“失控”,看上去似乎是大公司的热闹,也并不那么安全。InfoQ 网站上 4 月发布的《对混沌工程的五个常见误解》每周都挂在周热榜上。混沌工程从诞生至今 11 年,为什么一篇认知相关的文章,依然有这么高的热度?

改变认知是第一步


“其实用不用混沌工程,思考一个核心问题:不管是否使用混沌工程,故障该来总会来的,不会因为技术栈和业务敏感的差异而有所不同。为了让故障真正来临时能应对得更从容一些,应该提前尝试一下类似的破坏实验。从讳疾忌医逐步走向小范围的可控实验、开放性的大规模生产环境实验,信心是逐渐树立的,关键要走出第一步,并且持续走下去,当然这个过程中,混沌平台本身的可靠性便利性也是非常重要的。”华泰证券信息技术部运行保障中心运维平台开发团队负责人邱朋谈到。

 

认知,是混沌工程进入企业,需要跨过的第一个槛。

 

关注混沌工程最应该关注什么?邱朋认为,最需要关注的是效能,即在关注和计划使用混沌工程时,首先要考虑对混沌工程的定位是什么?对它的投入计划是什么样子?计划收获什么?混沌工程是主动增强系统稳定性的优秀实践,但不是万能的,另外对它思想上的认知、投入力度、SRE的配合参与度都会很大程度影响它的效果。

 

“认知上的改变,要先认可稳定性不是通过前期的设计开发或者后期运维、分析,就能彻底发现隐患、消除风险的,必须秉持’从生产中来,到生产中去’的思路,反复对生产环境进行可控的实验,验证系统在可能发生的场景下的表现以及运维人员应对的有效性,才能通过实战检验系统、检验应急能力。特别是金融行业偏稳态,相关负责人这块的认知和思维上的转变是很关键的。”

难,必须做的规模化演练

 

根据华泰证券的经验,混沌工程实践过程中另一大难点是规模化的演练。企业前期在试点范围内开展时,平台本身的便利性、稳定性相对是不足的,此时可以通过人员的针对性辅导和支持解决,一旦取得一些成效并计划规模化推广覆盖时,平台的问题就会批量爆发,且此时没有足够的人力支撑,容易陷入批量的负向反馈声音中,无论从平台使用的人还是平台开发的人,很容易陷入负面或对立的情绪。在真正规模化推广时,需要预先做好孵化和预热。

 

据邱朋介绍,华泰证券建设了故障演练可观测能力的一体化集成、一键式演练、演练场景库、演练知识库、自动化报表等能力提升便捷性。2021 年上半年,华泰证券开展了保卫波特姆行动,从行情、账户的贴身式辅导,通过试点树立信心,逐渐扩充到理财、交易以及其他 300+核心业务系统的负责人自助化演练,最多的时候一天自助化演练 272 次,期间未因开展混沌工程导致业务受损,反而发现了近百个优化点。

 

并且由于行业特殊性,华泰证券在进行混沌工程实践时,尤其需要注意一些问题。由于证券行业的高稳态要求,首先是不可能直接在生产环境进行实验的,特别是交易类的业务场景。比较可行的方案是在测试或仿真环境,控制爆炸半径及迅速停止实验;在逐渐通过测试环境的少量业务系统的试点,混沌工程平台也基本稳定之后,在一些非核心业务且可靠性比较良好的系统进行生产环境的开展;逐步积累信心之后,通过专项的行动进行规模化推广,同时配套自动化的集成的可观测性手段,以及演练过程的可视化、演练报告的自动化生成和评价能力,能大幅度降低 SRE 的精力投入,也能最大化降低推行的阻力。

混沌工程是整个运营保障工具体系中的一环

 

换句话说,混沌工程是整个运营保障工具体系中的一环,而不是一个割裂的平台。

 

“一旦业务卡顿,我们可以第一时间发现,从而进行及时处置。后续业务能处理,响应时间比较长,基本上没有超时,就是卡。系统进程端口是正常的,系统响应部分超时或者全部超时,长时间没有应答,或者会有超时的重试,所以是业务卡顿、业务无响应、业务完全故障和全链路的故障,我们总结下来,所有故障无外乎是这几种。”华泰证券资深稳定性工程专家王帅介绍到。

 

华泰证券稳定性功能架构包括演练管理、故障演练、演练自动化和演练评价四个功能。上文提到华泰证券在 2021 年上半年做的保卫波特姆行动,所谓波特姆就是 Bottom。华泰证券不断探测系统运行底线,发现技术风险。通过建立故障演练模型、故障矩阵和运维联动,对历史故障进行回放,做系统化的地毯式的演练覆盖。

 

如果以混沌工程能力熟练度的 4 个阶段(入门、简单、高级、熟练)评价,在邱朋看来,目前小部分大型互联网企业已经在此领域的世界范围内走得比较靠前,并且开源共享了部分混沌工程能力,大部分企业处于简单阶段:使用工具化的手段可以自助式进行故障的注入,通过手工观察和结果整理获得反馈,部分具备了分组试验对比的能力。如果从应用度看(暗中进行、适当投入、正式采用、成为文化),绝大多数企业还处于“暗中进行”阶段:对重要项目不采用、只覆盖少量系统、组织内部感知不强、早期使用者偶尔进行混沌实验。

 

目前行业是否有通用解决方案?邱朋告诉 InfoQ:“从故障构造能力(特别是计算资源层面)已经比较通用,业内有开源了部分混沌工程技术以及提供了商用化的高可用方案(如 AHAS、ChaosBlade等),可以考虑集成或使用;对于业务层面的故障分析和构造,以及一体化、智能化的混沌工程建设上,可能各家的方案会有不同,建设的进度也不尽相同,像数据丢失损坏的故障构造方案、带载流量下的故障演练、一体化监控处置能力集成的故障演练等能力,华泰是根据自己的特点进行规划和建设的。” 


采访嘉宾简介:

邱朋,华泰证券信息技术部运行保障中心运维平台开发团队负责人,从事运营商、互联网、证券行业软件开发及运维 12 年,具备丰富的运维体系建设和平台落地经验,目前专注于证券金融行业下智能化、一体化的运行保障平台体系建设和 SRE 技术运营的数字化转型。


扫描下方二维码,进入有奖问答

参与国内首个混沌工程调研报告

为了解我国混沌工程发展全貌,中国信通院联合混沌工程实验室启动《中国混沌工程调查报告》问卷征集活动,深入探索我国系统稳定性现状及混沌工程使用情况、行业采纳度、技术成熟度及未来发展趋势,以期推动混沌工我国的概念普及,提升国内系统稳定性,促进软件质量发展。


本次调查问卷由中国信通院联合混沌工程实验室、infoQ、VCEC、中国云原生社区共同发起,参与问卷的用户有机会获得电脑包、文化衫等精美礼品,扫描上方二维码进入问卷。


混沌工程实验室成员包括:


2021-08-27 16:004061

评论

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

如何阅读 Java 字节码(Byte Code)

Kori Lin

Java JVM bytecode 字节码

Ai调参炼丹,一篇就够了

泳鱼

Python 机器学习 深度学习 AI

Ai特征选择,一篇就够了

泳鱼

Python 人工智能 机器学习 深度学习 AI

微软在比特币区块链上推出身份认证平台

CECBC

比特币

2021最新分享字节四面成功拿Offer!

比伯

Java 编程 架构 面试 计算机

【JS必知必会】高阶函数详解与实战

koala

JavaScript 面试 大前端

Google Material Design 元件库

zhuchuanming

元件库

经常被面试官问道的JavaScript数据类型知识你真的懂吗?

koala

JavaScript 面试 大前端

用 19 张思维导图描述Spring Cloud的概念和主要组件,建议收藏

北游学Java

Java 面试 Spring Cloud

3.1 Go语言从入门到精通:包

xcbeyond

3月日更 Go 语言

4大华为云“安全镖局”秘密法宝揭秘

华为云开发者联盟

态势感知 华为云 企业主机安全 数据安全中心 Web应用防火墙

一束光的旅程

白洞计划

设计模式简介

happlyfox

学习 设计模式 3月日更

MySQL-MVCC与锁机制

insight

3月日更

Golang :后端开发中的万能药吗?

华为云开发者联盟

后端 开发 分布式系统 Go 语言

ARTS-Week-1

绝影

ARTS 打卡计划 ARTS活动

由浅入深了解Nirvana NAC公链的两面性NA公链

区块链第一资讯

区块链 公链 挖矿

EGG NETWORK永动金融EFTalk火爆来袭

币圈那点事

马特系统开发流程丨马特量化机器人系统开发案例

系统开发咨询1357O98O718

HUBDEX交易所系统开发源码案例

系统开发咨询1357O98O718

深入理解 JavaScript, 从作用域与作用域链开始

koala

JavaScript 大前端

PaddleWeekly | 飞桨开源项目每周推

百度大脑

如何减少期望值差异

石云升

绩效 28天写作 职场经验 管理经验 3月日更

软件工程笔记:什么是软件工程

风翱

软件工程 3月日更

领域驱动设计101 - 绑定模型与实现

luojiahu

领域驱动设计 DDD

实例讲解如何制作Python模式程序

华为云开发者联盟

Python 编程语言 星型程序 Programs 模式程序

《经济学人》2021年3月27日刊精彩文章导读及资源免费下载

wbliu85

Photoshop CC 2019 の 安装

空城机

PhotoShop ps p图 adobe

火币矿池pro系统开发介绍案例丨火币矿池pro源码功能

系统开发咨询1357O98O718

简单数据结构总结

我是程序员小贱

3月日更

Java面试必问:一位清华大牛用一个坦克大战讲明白了23种设计模式(视频+源码笔记)

Java架构追梦

Java 架构 面试 设计模式 坦克大战

用尽一切手段降低MTTR,混沌工程在华泰证券的落地实践_技术管理_张俊宝_InfoQ精选文章