天天看点

混沌工程护航证券行业稳健发展

作者:金融电子化

文 / 中信建投证券股份有限公司首席信息官 肖钢

中信建投证券股份有限公司信息技术部 徐志彬 曹双双 李宝强 李鑫

随着数字化转型的不断深入推进,证券行业信息系统架构逐渐向微服务化演进,服务间依赖程度加深,业务链路环节增多,业务调用关系及数据流转变得更加复杂,因此系统面临的不可预见和不确定风险增大。为了提高系统的稳定性和柔韧性,保证信息系统服务可用,检验应急场景处置的完整性和有效性,中信建投证券拥抱新思想,引入新技术,着手推进混沌工程体系建设,陆续推动各业务系统的混沌实验及稳定性验证。本文将简要介绍混沌工程在中信建投证券的落地方案、实践路径和经验总结,抛砖引玉,以供参考。

混沌工程即Chaos Engineering,是通过设计和执行一系列实验,主动向系统中注入软件或硬件的异常状态或者扰动,帮助我们发现系统中潜在的、可能导致系统服务异常的脆弱环节,通过主动管控这些脆弱环节存在的问题,提升信息系统韧性。近年来该技术备受证券机构关注,为证券行业系统稳定性保驾护航。

中信建投证券于2021年正式启动混沌工程建设。在承认系统“暗债”前提下,遵循安全准则进行“不按照常理出牌”的混沌实验,主动拥抱故障,并将混沌实验与运维管理体系、运行工具体系进行整合,实施从风险识别到应急有效性管理的全过程闭环管理。最终,从“预防为主”的质量建设角度提升业务系统可靠性,为其安全稳定运行保驾护航。

混沌工程建设

中信建投证券的混沌工程实践并非对传统研发、运维体系的替代与革新,而是在遵从IS20000标准前提下,结合运维管理的数字化转型以及智能化的发展方向,对大运维管理体系中的部分环节、理念升级与延伸,是一整套系统性工作。结合公司实际情况,混沌工程建设分为三个阶段:第一个阶段主要是提高信息系统的稳定性和柔韧性,解决信息系统健壮性的问题;第二个阶段主要解决应急场景的完整性、告警的完整性和有效性以及处置的有效性,并将应急场景、报警与自动化处置衔接起来,实现应急场景的演练和处置的自动化;第三个阶段结合大数据分析和人工智能技术,实现故障场景的智能识别,建立场景的特征值,实现信息系统稳定性和应急处置的智能化和自动化处置。目前建设处于第二个阶段,并在规划第三个阶段的建设。具体情况如下。

1.混沌工程落地方案

Jens Rasmussen提出的动态安全模型在韧性工程领域广为人知,并受到高度重视。中信建投证券的混沌工程实践也充分考虑安全性、经济性和有效性,将故障演练平台结合已有的运维支撑工具,通过全流程管理,构建一套适合自己的混沌工程落地方案(如图1所示)。

混沌工程护航证券行业稳健发展

图1 混沌工程方案

故障演练平台:在该平台上以业务链路为核心,从业务的整体处理过程出发,将技术风险管控策略从局部管控延伸至整体管控,探究业务处理过程中整个信息系统生命周期的缺陷,从而实现技术风险的全过程闭环管理。该模块还提供了任务编排调度、场景库管理、扰动注入和用户展示功能。

分析模块:在系统中承上启下,它主要进行日志分析、监控指标分析、根因分析和场景识别。针对混沌演练过程中产生的日志和监控告警数据,分析判断爆炸半径和业务影响程度,并且反向验证监控告警是否准确全面。在此分析基础上,提取故障特征,进行问题定位,匹配已有应急场景。

应急管理:用于应对故障处置,以确保系统及时快速恢复可用,提高系统的稳定性。它通过预先制定应对措施和响应流程,使团队能够高效地应对各种突发情况。这个模块包括了方案管理、方案实施、应急协同等内容,其目标是在故障发生时能够迅速根据已有方案迅速进行处置、快速恢复,从而减小损失并保障系统的正常运行。

报告管理:实验演练结束后,能够基于模板,记录过程中指标变化情况、压测情况、处置情况等,生成演练报告,提供基于权限管控的报告查看与下载,为系统和应急方案优化提供支撑,更好地推进下次混沌实验有序进行。

稳定性改进:对技术规范的持续改进是混沌工程实践的延伸。系统管理者在通过混沌工程发现稳定性缺陷时,识别架构设计、编码规范、测试评估等环节中的不足,积累开发端系统韧性提升规范,推动系统韧性提升管理工作的前置。

流程管理:把控混沌实验开始到结束全生命周期的各个环节,提供给用户统一的操作渠道。

2.实践流程

混沌工程是一个持续的过程,中信建投证券将混沌实验和演练应急结合,并通过生产网络安全事件复盘改进混沌实验管理过程。其中混沌实验是主动性、探索性,完成全方位系统异常实验,生成有效的故障场景、应急方案以及系统优化改进意见;演练应急借助混沌工程的扰动注入能力,选取贴合实际的故障场景进行演练,验证监控可靠性、应急预案的有效性、人员处理能力以及协调处置等;生产应急是真实的生产事件处置,基于前两步的基础,提升应急处置的信心,进行有效、快速地处理生产故障,并反向完善混沌实验和演练应急过程,形成持续改进的闭环管理(如图2所示)。

混沌工程护航证券行业稳健发展

图2 实践流程图

定义明确的实验目标:在进行混沌工程实践之前,通过风险排查模型梳理风险点,并明确定义实验的目标和期望结果。这有助于团队更好地衡量实践的效果和价值。

适度和渐进的实践:混沌工程实践应该在适度和可控的范围内进行。开始时,选择单系统组件故障或爆炸半径较小实验场景,然后逐步扩大实验规模。这有助于降低风险,并确保系统的稳定性和可用性。

风险评估和控制:在引入故障和扰动时,需要进行充分的风险评估,并采取适当的隔离控制措施,减少潜在的负面影响,确保系统的可靠性和恢复能力。风险评估应该包括评估可能的业务影响,制定相应的备份和恢复策略。

数据收集和分析:混沌工程实践需要收集和分析现场。这包括实验过程中的指标、监控和配置信息、系统响应和应急处理效率等。通过对数据分析,更好地了解实践的效果,并识别潜在的改进点,完善系统运维中各个薄弱环节。

总结和复盘:混沌工程实践是一个团队学习和复盘优化的过程。定期针对混沌实验过程和网络安全事件复盘,以及事件问题跟踪可以帮助发现更深层次问题并提出改进措施。团队成员间的相互支持、经验分享,能够更好地理解和应对系统中的故障和不确定性,赋能不同条线,更快地提升系统的健壮能力。

实践特色

1.自主可控的创新实践

中信建投证券混沌工程实践在设计之初就走自主可控路线,在关键环节坚持自主开发,确保系统安全、稳定、可靠地运行。

系统落地方案自主化:结合公司现有环境及工具系统特点,设计独有方案和流程,以达到混沌工程“分层解耦、兼容统一、安全高效”的目标,最终实现了平台模块化和服务插件化。

核心技术自主掌握:选用开源组件+自主开发方式实现故障注入、运维分析、自动化应急及运维流程管理,保证关键环节和关键模块的实现满足运行管理体系要求。

2.大运维体系的融合创新

混沌工程实践梳理各环节所需承担功能职责,升级工具系统功能,最终将故障注入平台与现有压测系统、监控分析、资产配置、自动化工具、运维管理平台等系统对接,通过流程管控驱动系统混沌实验到系统优化的全生命周期实现。最终使故障演练平台不再孤立的作为故障注入工具,有效融入大运维体系,拓展了其服务能力。

3.全过程的自动化

依靠人工录入场景、分析影响的方式开展规模化的实验和演练,人力成本很高、效率低、历史数据可追溯体验不佳。故障演练平台通过风险评估模型、资产配置、故障能力组合,自动生产实验场景,进行实验任务自动调度、故障注入并通知监控分析系统,完成场景特征采集、根因分析,触发应急自动化及处置结果观测分析,最终实现了混沌工程实践的全流程自动化处置。通过自动化设计,极大地减轻了混沌实验过程的人工依赖,提高实验能力、保证实验收益,加速信息系统的稳定性改进。

4.工具体系的开放性

快速适配系统技术方案迭代,持续满足运行管理需求是运行管理工具体系设计建设的必然要求。我们将故障演练平台的各种能力进行改造,通过统一的接口标准,将系统功能接口化,向工具体系开放。如此,故障扰动能力、故障实验过程管理将不再受限于固定工具平台,通过简单的对接、配置就可以快速满足混沌实验的需求。

实践成果

2021年开始,中信建投证券针对外围渠道系统进行故障演练活动。各个应用系统从基础设施层、应用组件层和业务链路层进行全方位混沌实验,有效地验证系统的健壮性、业务服务能力的可持续性、故障恢复的可靠性。截至目前,纳管信息系统已从外围渠道系统逐步向核心交易系统进行推进,风险场景也从基础设施层向跨系统业务链路层覆盖。

通过混沌工程实践发现多处系统薄弱环节并修复,已经让相关人员充分理解“面向错误、拥抱失败”的重要性,将混沌实验作为系统稳定性提升的必要手段,形成了跨条线、自上而下的团队文化共识,并通过以文化促进实践、以实践成果宣导文化的良性循环。

通过混沌工程的建设和实践,促进运行管理体系和工具系统完善,为信息系统可用性和连续性管理提供有效抓手,通过“以战养战”“实战练兵”,提升监控的覆盖度和准确性、应急管理的有效性,形成了一套完整闭环的工程实践体系。

截至2023年,中信建投证券通过信通院分布式系统稳定性度量增强级评级,获得信通院一云多芯稳定安全运行优秀案例、“混沌工程先锋实践者”及“云系统稳定安全运行混沌工程实践优秀案例”等优秀案例评选。

未来展望

经过3年混沌工程实践,中信建投证券已经形成了从前端到后端,从基础资源到业务链路的故障实验能力,后续将不断探索和总结,继续为公司信息系统的稳定性提供更多支持和保障。一是加强文化建设,将整个混沌工程文化向系统设计、开发、测试端移动,使混沌工程理念贯穿系统开发、测试、运行全生命周期,让混沌实验成果和规范要求作为系统建设、上线评判的关键依据,提高系统的健壮性和稳定性;二是提升故障演练能力,完善现有基础资源、中间件、数据库和业务的故障场景注入能力,补全信创环境短板,丰富原子故障功能;三是推动大数据和人工智能技术落地,通过大模型分析故障场景特征,并与根因定位相结合,识别故障场景,及时、精准地触发应急处置,提高应急效率。

混沌工程体系的建设是一个不断打磨、不断发展的过程。中信建投证券将会继续加速平台服务能力建设,充分发挥混沌工程价值,使其融入信息系统运行质量保障体系,保障业务系统稳定、高效、安全运行,同时也会不断学习其他实践单位的经验,积极参与行业相关标准的制定和推广工作,为证券行业的混沌工程建设贡献绵薄之力。

(此文刊发于《金融电子化》2024年3月下半月刊)

继续阅读