金融数字韧性研究与混沌工程实践报告 北京金融科技产业联盟2024年4月 版权声明 本报告版权属于北京金融科技产业联盟,并受法律保护。转载、编摘或利用其他方式使用本报告文字或观点的,应注明来源。违反上述声明者,将被追究相关法律责任。 编制委员会 编委会成员: 聂丽琴张海燕李振 编写组成员: 李博文 叶强林 郑阳 张明利 汪大海 千锦泽 魏来 焦红 赵磊 冯长达 郭少芬 杨晓华 马起龙 李锋 张志强 王文龙 王学鹏 杨镇涛 马海明 丘彬 陈佃晓 王辽松 李变 马晓煦 王宏刚 王子健 万柯辰 顾首成 李军华 姜辽 朱震宇 是煊 丁瑜 陈磊 封铨贤 戴森同 包昊冉 白波 罗鑫 党凯乐 才振功 方佳伟 王军伟 王畅 郭进 梅金东 张皓 郭智慧 李海斌 崔传敏 潘微服 张红兵 杨红军 侯玲玉 李泓萱 编审:黄本涛 周豫齐 参编单位: 北京金融科技产业联盟秘书处 北京国家金融科技认证中心有限公司北京同创永益科技发展有限公司 中国邮政储蓄银行软件研发中心 中信银行股份有限公司软件开发中心中国光大银行股份有限公司 中国民生银行股份有限公司招商银行股份有限公司 广发银行股份有限公司网联清算有限公司 北京银行股份有限公司四川银行股份有限公司 浙江网商银行股份有限公司恒丰银行股份有限公司 渤海银行股份有限公司河南省农村信用社联合社杭州谐云科技有限公司 兴业数字金融服务(上海)股份有限公司蚂蚁科技集团股份有限公司 中电金信软件有限公司 上海道客网络科技有限公司 上海兆芯集成电路股份有限公司 摘要 金融科技发展加速推进了金融数字化转型,为金融业高质量发展注入充沛动力的同时,也要防范可能存在的风险。系统不确定性风险的加剧,会影响业务连续性,因而对金融科技发展与数字化转型提出了更高的安全要求。数字韧性反映了信息系统在变化的环境中持续运行、持续抵御威胁与冲击,并保持成长的能力。混沌工程作为一种系统稳定性保障手段,能够有效提升系统的数字韧性能力,为金融业务数字化稳定发展提供重要保障。 本报告从数字韧性的定义与特征出发,围绕数字韧性体系 评价与建设展开研究,阐述了混沌工程的总体思路、应用价值及行业实践,并对发展趋势进行展望,以期为金融机构保障信息系统稳定运行提供参考。 关键词:数字韧性、混沌工程、稳定性、抗干扰 目录 一、研究背景1 (一)业务背景1 (二)技术背景1 (三)政策引导2 二、数字韧性定义与特征3 (一)数字韧性定义3 (二)数字韧性特征7 三、数字韧性评价与建设13 (一)数字韧性评价13 (二)数字韧性建设14 四、混沌工程应用实践25 (一)总体思路25 (二)应用价值27 (三)行业实践30 五、发展展望40 一、研究背景 (一)业务背景 金融行业承担着融通资金、服务实体经济、防范金融风险和服务大众的重要作用,是关乎国计民生的重要领域。金融科技的快速发展改变了原有的金融业务模式,从原有的电子银行模式向移动化、便利化和智能化方向创新发展,创造了移动支付、网络借贷、互联网保险等新模式。我国金融科技的发展处于全球领先水平,尤其是移动支付的交易规模、网络借贷的用户规模,都在全球前列。金融科技也是一种集约化的业务模式,通过打通金融机构内部系统流程,简化业务流程,提升运营效率,降低了金融服务成本,结合大数据和运营推广,进一步扩大了用户范围,创造了更多的商业价值。 (二)技术背景 随着金融机构“云原生、微服务”等敏态化IT支撑规模的不断加大,同时伴随着业务架构复杂、交易可靠性要求高、交易链路长的问题,分布式系统各设施之间能否有效地匹配和交互,成为影响系统稳定运行的关键因素。复杂IT架构下服务交付的持续性保障面临着巨大的挑战,对运维平台的建设提出了更高的要求。 以往金融机构的灾难恢复能力建设主要关注对重大灾害性事件和重大停机事件的应对。而今,在复杂敏态架构下,造成业务中断的根因和故障点已无法如传统架构那样清晰明了。由 于服务引擎化、组件化,某个故障的不及时处置,很可能造成其他业务中断的次生灾难,导致系统服务中断的原因变得更为复杂,传统的应急与灾难恢复机制、方法和工具越来越无法满足云原生时代对服务持续交付的要求。金融机构希望信息系统在“低频高损”的重大灾害性事件和重大停机事件中能够获得接续和恢复,在“高频低损”的日常运维事件中服务水平不受到严重影响,同时能够保障系统在不断变化的环境中持续更新与成长,以适应业务发展的需要。 由此,不断有机构或组织提出数字韧性的概念,用以说明 信息系统应具备的与这种要求相对应的能力。 (三)政策引导 金融科技与网络信息安全风险相伴相生,随着技术的发展与演进也会不断引入新的风险。而应对风险最有效的途径就是风险的管理。自1994年我国发布《中华人民共和国计算机信息系统安全保护条例》以来,我国就已经步入了网络信息安全立法的阶段,现已形成宪法、法律法规、行政部门规章、司法解释和行业自律守则等多层面的信息安全法律体系。作为强监管的金融行业,一方面要符合国家相关法律与标准,另一方面要接受来自主管单位如中国人民银行和国家金融监督管理总局的监管,同时还要接受公安部和工信部等其他行政部门的约束。 金融行业经常参照的标准与监管要求包括《信息安全技术 信息系统灾难恢复规范》(GB/T20988—2007)、《银行业信 息系统灾难恢复管理规范》(JR/T0044—2008)和《商业银行业务连续性监管指引》(银监发〔2011〕104号)等,这些文件均与业务连续性管理与灾难恢复能力建设相关,包含了对信息系统在面临重大灾害性事件时的恢复和接续运行的要求。很多金融机构也基于上述要求及组织的自身特点提出了更加细化和具备可执行性的组织内部规范。但总体上,关于数字韧性的标准和规范还处于探索阶段。 二、数字韧性定义与特征 (一)数字韧性定义 韧性(resilience又译弹力、恢复力)指系统、组织或个体在面对不确定性、冲击和压力时的能力适应、抵抗和恢复的能力。作为内在隐含本质特性概念,韧性在不同社会生产力发展阶段有不同认知形态。 19世纪工业革命技术加速发展时期生产对于金属材料复原力的诉求,与工程力学简单线性相关性较强,假设系统只有一 个稳定状态,而韧性则是系统受到冲击后回到这个稳定状态,此称之为工程韧性。 20世纪初,生态学家集成信息论、控制论和系统论对冲击 之后的自然界生态系统自调节和自适应行为进行了研究,韧性发展到多个稳定平衡状态的生态韧性。 20世纪70年代,人类生态学领域韧性研究兴起,韧性被定义为一个社会或生态系统在面对压力、冲突、变化和不确定 性时的适应能力,包括社会组织的弹性、资源的可持续利用、灾难的抵御和恢复等方面。不仅关注个体的适应能力,还着重考虑了社会系统和生态系统的整体稳定性和持续性,这个阶段 韧性称之为演进韧性(evolutionresilience)。 2003年SARS疫情暴发后,人们开始关注居住区域的健康安全问题,城市韧性理念逐步建立,他以城市本体为研究对象,以增强城市在承受扰动时保持自身功能不被破坏的能力为主要目标。 当韧性与组织结合时,产生了组织韧性的概念。在ISO 22316:2017《Securityandresilience—Organizationalresilience—Principlesandattributes》中指出:组织韧性是指组织在变化的环境中吸收并适应的能力,从而能够实现其目标并得以生存和繁荣。更具韧性的组织能够预先做好准备从而对来自其内部和外部环境中的突然或逐渐的变化而产生威胁和机会。提高韧性可称为组织的战略目标,并且是最佳业务实践和有效管理风险的成果。 国际灾难恢复协会(DRI)认为,组织韧性是业务连续性目 标的扩展,是从灾害事件扩展到安全事件和紧急事件,从灾难恢复扩展到风险预防(安全)和应急响应。 当“韧性”一词与信息系统相结合,产生了数字韧性,目 前业界尚未对“数字韧性”概念有清晰的界定,尚未产生一个被普遍接受的定义。有些情况下,可以借鉴城市韧性的理解, 认为数字韧性的属性主要包括鲁棒性(robustness)、快速性 (rapidity)、冗余性(redundancy)和多样性 (resourcefulness),即4R属性。 Gartner认为,数字韧性是指一个组织或系统在面对各种内外部冲击和变化时,能够快速适应、恢复和持续运行的能力。数字韧性强的组织能够灵活应对各种挑战和风险,保持业务连续性和稳定性,并能够利用技术和创新来应对变化和创造机会。数字韧性包括技术基础设施的弹性、业务流程的灵活性、组织文化的适应性以及领导力和决策的敏捷性等方面。通过提高数字韧性,组织能够更好地应对不确定性和变化,保持竞争优势和可持续发展。 总体上,数字韧性与组织韧性还是存在着较大的区别,组 织韧性更多是从组织的业务出发,探讨组织抵御冲击与适应环境的能力,而数字韧性则更多地面向信息系统,探讨信息系统在其运行与成长过程中如何能够保证服务质量及满足业务需求,有时也可以理解为数据中心的组织韧性。 数字韧性也可以理解为对组织灾难恢复能力的扩展,是从灾害事件扩展到日常运维事件,从灾难恢复扩展到系统稳定性建设和对运行环境变化的适应能力。 为了实现持续的应用服务交付,信息系统不但面临着业务连续性管理(BCM)中关注的重大灾害性事件,同时也面临着包括突发请求增长、资源供给不足、数据质量干扰及关联服务可 用性等对信息系统造成的影响。 我们认为:数字韧性是指信息系统在变化的环境中,持续运行,持续抵御威胁与冲击,并保持成长的能力。数字韧性建 设是建立在配置管理、服务治理、状态感知和可观测性、运维自动化和应急响应等基础运维能力之上的,与持续服务交付能力相关的数据中心业务能力之一。 图1数字韧性能力 数字韧性包含了保持自身健壮能力的稳定性、面向外部威胁的鲁棒性,以及适应外部环境变化和保持学习与成长的能力,如图1所示。 1.面向系统内部的威胁保持健壮的能力为系统的稳定性, 即当系统内部出现故障时能够维持系统运行。 2.面向系统外部的威胁保持健壮的能力为系统的鲁棒性,即当系统面临外部冲击甚至灾害性事件时能够维持系统运行。 3.面向系统内部的需求变化能够保持活力的能力为系统的 学习性,即当系统面临来自内部的需求变化时能够持续成长的 能力。 4.面向系统外部环境变化能够保持活力的能力为系统的环境适应性,即当系统外部运行环境发生变化时能够快速适应的能力。 (二)数字韧性特征 1.稳定性 稳定运行是指信息系统能够在系统构造与外界环境不变的情况下,当系统内部出现故障时能够持续运行,即系统内部的异常不应造成不可接受的服务质量下降。为此,应对系统内部的薄弱环节进行识别,制定并实施相应的强化方案,并检验强化效果。提升系统稳定性可以从以下几方面着手。 (1)避免单点故障 由于硬件设备的失效是不可避免的,系统运行环境应能够快速发现、隔离并利用冗余能力替换失效的组件,保证组件故障不会对信息系统的服务能力造成持续的不可接受的影响。 系统运行环境应避免出现系统组件单点故障点,包括计算资源组件(物理机、虚拟机或容器等)、存储资源组件(磁盘、数据卷等)、数据中心内部网络、客户到数据中心的访问通路,以及数据中心到服务供应商的访问通路。冗余的层次可以是硬件部件级、部署组件级、服务单元级、应用系统级,甚至数据中心级。 (2)抗系统老化 系统老化是指系统的效能随时间推移逐渐降低的情况。为了系统能够持续稳定运行,信息系统在上线前需要进行抗老化测试,检验系统在一定综合运行压力下是否会出现系统老化现象。如果系统存在老化现象,可以考虑修复相应缺陷,或采用替代的解决方法,如在系统老化尚未造成严重影响时重启系统,但此时应尽量降低系统重启对服务交付造成的影响。 (3)合理的服务间依赖关系 在系统设计时,就应该考虑服务间合理的依赖关系。我们通常会根据服务价值为服务定义不同的运营级别,确定不同的SLA或SLO,从而可以给高级别服务特别的关注,如制定应急预案