阿里云刘伟光:探索金融云原生时代
数字化时代推动之下,银行核心系统建设的主流技术架构正在从集中式架构向金融级云原生架构演进。后者是分布式架构,采用“横向水平扩展”方式增加服务器数量以提升系统运行能力,理论上可以无限扩张运行能力。
随着越来越多的金融机构开始采纳云原生技术,亟需一套结合行业特性的统一标准为金融机构提供一个能力参照模型。结合金融行业实践来看,金融机构采纳云原生技术可采用九大维度的成熟度评估模型,覆盖维度包含微服务架构程度、应用云化程度、可观测性、高可用管理、配置自动化、DEVOPS、云平台能力、云原生安全、容器及k8s能力等。
我们总结归纳了两种云原生架构演进路径作为参考,其一是规划驱动(从上向下、宏观尺度),根据云原生能力评估来寻找技术短板和演进路径;其二是问题驱动(从下向上、局部优化),从现实问题的角度出发,渐进式进行云原生架构进化。
——刘伟光 阿里云新金融&互联网行业总裁* 本文仅代表作者个人观点,不构成投资意见,亦不代表CF40立场。”如果银行是钢铁侠,那IT系统就是他的战衣。
在过去40多年里,随着以银行为代表的金融行业的业务发展和转型,IT系统整体架构也同样经历了多轮的迭代演化。可将银行的信息化发展进程概括为五个主要阶段:手工时代、单机时代、联网联机时代、数据大集中时代、分布式云原生时代。
❶ 手工时代:所有的业务都由人工操作完成,包括处理账务、核算、结算计息等。
❷ 单机时代:以计算机取代手工,但没有信息互联,每个网点即一个单独的“电子账本”,成为信息孤岛。
❸ 联网联机时代:基于网络基础设施的完备,银行依托区域中型城市,以省市级主机为中心,将各网点业务联系起来,实现省市级互联。
❹ 数据大集中时代:各银行依据自身发展,不同程度地集中处理数据和业务,实现系统基础架构、物理服务器、数据和应用的大集中。
数据大集中时代,也是银行IT信息化发展最快、对业务推动最大的一个时期,其中整个IT系统建设的重中之重是“核心系统”。
核心系统,即Core Banking System,其中CORE是Centralized Online Real-time Exchange的意思,也就是“集中式在线实时交易”的缩写,并非字面的“核心”这么简单,突出“实时在线”信息交互。
以转账支付为例,从原来最早的半个月缩短到“实时秒到”,正是通过数据大集中和核心系统的实时在线交易能力的建设,让中国金融服务大幅提升了服务能力和交易效率。银行的业务丰富度、业务交易量、数据量等也不断突破。与此同时,具有银行业基石作用的核心系统对IT系统的处理性能、稳定性、安全性提出了极高的挑战和要求。彼时的国内IT企业仍然无法承担起这样极高的要求,银行IT架构的唯一选择就是以IOE(IBM、Oracle、EMC的简称,三者均为海外IT巨头)为主导的集中式架构。
❺ 分布式云原生时代:随着数字化时代的推动,集中式架构的扩展性不足、互联网式高并发应对能力不足、成本高、自主可控要求等缺陷不断凸显出来,同时分布式云原生技术也正从银行的互联网服务平台逐渐走向核心系统的技术架构,逐渐成为银行新一代全行级主流技术架构。
图1 近年来银行信息化发展进程
集中式架构的特点:
集中式架构也指由IOE(IBM、Oracle、EMC)三家厂商主导的系统架构,IBM的大/小型机、Oracle的数据库、EMC的存储器一直都是国产供应的短板,国内高度依赖IOE为核心的架构体系。
集中式架构最大的特点就是部署结构简单,底层硬件一般采用从IBM、HP、Oracle等厂商购买到的昂贵的主机、小型机、一体机等,无需考虑如何对服务进行多节点的部署,也不用考虑各节点之间的“分布式协作问题”。一般采用“纵向垂直扩展”的方式,通过增加单机的资源配置来提升系统的处理能力,并通过增加硬件设备和基础软件的集群机制来提升系统的可用性。
分布式架构的特点:
系统由多个部署在不同的网络计算机上的模块构成,彼此之间通过网络进行消息传递、通信和协调的系统。分布式系统采用“横向水平扩展”的方式,通过增加服务器的数量来提升系统的运行能力,理论上可以无限扩张运行能力。
分布式系统采用集群化部署,集群中每个节点都是一个独立的运行单元,可以根据任务的大小随时增加或减少节点的数量。单个节点失效时,也不会影响整体的可用性。
图2 集中式架构与分布式云原生架构的差异
的问题与冲突
“设计不是为了让东西变得漂亮,而是为了让东西更好地工作”。同样,云原生的应用也不是为了时髦,而是要解决问题。
硬件上,用标准化的X86服务器替代IBM的小型机和EMC的存储设备,解决了性能扩张的压力。
软件上,用开源的Oceanbase、MYSQL替代了Oracle数据库。
系统上,运用分布式云原生架构思路构建了新的体系。
阿里在去集中式架构过程中,不但通过使用廉价、相对可控的PC服务器解决海量规模的计算问题,也推动云原生技术的成熟和广泛应用。随着支付宝、蚂蚁金服的互联网金融业务发展,分布式云原生技术再次理想地解决了金融级高挑战和要求,从而进一步推动金融级与云原生技术的融合和完善。双十一、春节红包等活动的瞬时交易量远远超过各大银行的单位峰值,呈现碾压级的性能优势,使得分布式云原生系统在银行的核心系统应用成为可能。
作为最重要的IT系统,银行核心系统的替代是一次重大的技术路线转移,目前来看,分布式云原生架构已经成为新一代银行核心建设的主流架构选择。
金融企业采用云原生技术,并不是将应用上公有云,而是将金融对安全合规、交易强一致性、单元化扩展、容灾多活、全链路业务风险管理、运维管理等各方面行业要求与云原生技术进行深度融合,发展为一套既符合金融行业标准和要求、又具备云原生技术优势的“金融级云原生架构”。
在金融的业务和技术的融合过程中,以云原生为核心的架构重塑是一个不断演进的过程(金融云原生架构不断结合演进)。在这一过程中,不管是基础设施的重构(多活灾备、分布式云、Serverless),还是算力调度(弹性单元化、离在线混部),应用架构的重构(中台化、低代码重构),都将成为金融级云原生架构的“新标准”。
图3 银行核心系统的演进过程
“车同轨、书同文、行同伦”,从IT架构演进来看,传统集中式架构虽然部署简单,但存在纵向烟囱割裂、横向管理分散的情况,每个层面和每个技术产品都独立分散管理运维。在虚拟化技术成熟后,实现了从底层服务器、存储、网络、虚拟机等层面的集中式统一管理,大幅提升了运维人员的管理半径。
云原生的核心理念是一切资源技术都以池化和服务的方式提供,不再是传统割裂烟囱式的资源供给关系。云原生架构更进一步实现了对IaaS资源、PaaS资源、分布式数据库、分布式中间件、容器、研发工艺等各类技术服务的标准化和统一管理,真正实现了科技层的“车同轨、书同文”,大幅降低了运维复杂性,提高了人均管理对象规模化。
图4 云原生对IT运维管理的改变
由于目前自研创新硬件本身的单体性能和可靠性存在一定的短板,所以更需要云原生架构的硬件+软件一体化弹性服务能力,通过大集群式服务来解决整体性能扩展和对单体依赖度的降低,实现“1+1>2”式的“系统化摩尔定律”的线性扩展模式。
图5 云原生架构实现从“摩尔定律”
到“系统摩尔定律”的提升
根据“墨菲定律”——“怀疑一切、任何节点失败都会发生”(“Anything that can go wrong will go wrong”),云原生应用架构的设计原则是,将影响安全生产的潜在“黑天鹅”风险作为“常态”。
对于设计云原生架构的相关建议是:允许失败发生,确保每个服务器、每个组件都要在不影响系统的情况下发生故障并且具备自愈和可替代能力。立即失效(Fail fast and Fail small)是云原生系统一个重要的设计原则,它背后的哲学是既然故障无法避免,那么问题越早暴露,则应用越容易恢复,进入生产环境的问题就越少。Fail small的本质在于控制故障的影响范围——爆炸半径,关注点将从如何穷尽系统中的问题转移到如何快速地发现和优雅处理失败。
对于金融级云原生架构来说,技术风险亦是重中之重。任何一笔交易处理的差错都有可能导致不可预计的资金损失。需要建立一套专业的技术风险体系(SRE,Site Risk Engineering),确保从系统架构平台到风险文化机制,在架构设计、产品开发、变更上线、稳定性评估到故障定位恢复等等环节,都能全生命周期地确保风险质量控制,对任何系统变更作兜底保障。
对金融机构而言,当业务上线后,最不能接受的就是业务不可用。
云原生的韧性能力代表了当系统所依赖的软硬件组件出现各种异常时,整个系统表现出来的抵御能力。这些异常通常包括硬件故障、硬件资源瓶颈(如CPU/网卡带宽耗尽)、业务流量超出软件设计能力、影响机房工作的故障和灾难、软件bug、黑客攻击等对业务不可用带来致命影响的因素。
韧性从多个维度诠释了系统持续提供业务服务的能力,核心是从云原生架构设计上,整体提升系统的业务连续性,提升系统韧性。金融级云原生的韧性能力包括:服务异步化能力、重试/限流/降级/熔断/反压、主从模式、集群模式、AZ内的高可用、单元化、跨Region容灾、异地多活容灾等。
人们希望像使用单机系统一样使用分布式系统,因此不可避免地需要面对“分布式一致性”问题。
云原生中微服务中“微”代表了服务颗粒度变小,而金融交易的复杂性又相对较大。所以在云原生系统中,数据一致性是一个相对复杂的问题,不同微服务中独立的数据存储,使得维护数据的一致性变得困难。由于分布式微服务系统中的网络错误不可避免,基于CAP定理,当出现网络分区时,就需要云原生架构能够在一致性和可用性之间进行平衡。
所以规划金融级云原生架构时,也会遇到金融业务的一致性挑战,这种一致性不仅体现在业务逻辑上(TCC、SAGA、XA事务、消息队列等),也更多地需要数据层面上的一致性保障(多节点一致性、多中心一致性)。
中国银保监会办公厅2022年1月10日发布的《中国银保监会办公厅关于银行业保险业数字化转型的指导意见》第十九条“提高科技架构支撑能力”强调,银行等金融机构需要加快推动企业级业务平台建设,加强企业架构设计,实现共性业务功能的标准化、模块化。云原生与企业架构结合又成为金融行业的热点方向。
图6 云原生架构与企业架构规划设计相结合
使人疲惫的不是远方的高山,而是鞋里的一粒沙子。
虽然云原生技术有诸多好处,银行往往拥有大量的存量系统,这些存量系统的技术体系往往与选定的云原生技术存在差异,如何对存量系统与新的云原生应用进行集成、治理?微服务的拆分策略如何制定,如何衡量拆分的维度、拆分的标准和拆分的颗粒度,并同时兼顾系统稳定性、交易性能、数据一致性、故障隔离等?哪些存量系统需要按新的云原生技术进行重构?云原生架构下,应用系统的运维变得更加复杂,分布式运维体系如何建设?如何转型升级以降低运维复杂度、提升运维效率和容灾切换能力?如何建立云原生的可观测体系,实施有效的监控、日志管理和告警,实时监控应用性能、资源使用情况,问题发生时快速定位并解决问题?这些都需要从云原生技术架构、技术标准和规范、研发流程工艺、研发设计实践等多方面适配,实现云原生与银行技术体系的全面融合。
“新标准和新蓝图”
复杂系统由大量独立自治的简单系统分层组合而成。
复杂动作是由简单动作组装而成,不是修改而成。
正所谓“一鲸落、万物生”,随着传统IOE架构(集中式架构)的衰落和退潮,云原生技术正在全面成长和涌现。
云原生,本质上就是因云而生的软件、硬件、架构。云原生也是不断发展演进的过程,云原生(Cloud Native)概念在2015年被提出,后经CNCF进一步发展和提炼形成了包括容器、持续交付、持续集成、服务网格、微服务、不可变基础设施和声明式API的“狭义云原生”概念。
今天,当我们讨论“数字化”时候,事实上有两个概念:一个叫原生、一个叫转型。狭义云原生技术主要面对的是互联网类的“数字化原生”企业的敏捷创新新型要求,多以互联网类的无状态的应用为主,对数据一致性要求以最终一致性为主;而对于传统金融类“数字化转型”企业的已有的技术标准和技术资产(包袱),往往有较大的阻碍。
随着云计算技术的不断深化普及,越来越多的新技术“因云而生”,这些“生于云、长于云”的产品、技术、软件、硬件、架构都逐渐成熟,并构成了“广义云原生”概念。
未来,“生于云、长于云”的“云原生”型产品将会不断涌现:新一代数据库、人工智能、存储、芯片、网络和健康码。云原生极致的弹性、服务自治、大规模可复制等能力,更容易实现异构资源标准化、加速数字生产力释放、加快业务应用的迭代速度、推动业务创新。它是数字化时代中众多不确定性中“最大的确定性”,它强大的包容性代表了未来数字化企业的整体技术架构方向。
广义云原生技术除了对“数字化原生企业”的技术架构敏捷创新要求之外,也兼顾了传统“数字转型化企业”的技术标准和架构兼容需求,所以具备更加广泛的技术架构适用度、更好的企业级服务能力。
图7 金融级云原生的功能范围
今天,随着云原生逐渐从社区走向金融机构、越来越深入人心,金融机构开始研究如何结合金融场景的要求将云原生落地——将金融对安全合规、交易强一致性、单元化扩展、容灾多活、全链路业务风险管理、运维管理等各方面行业要求与云原生技术进行深度融合,发展为一套既符合金融行业标准和要求、又具备云原生技术优势的“金融级云原生架构”,能够更好地满足金融级对IT环境严苛的挑战和要求,为金融机构的传统“稳态应用”(数字化转型)和“敏态应用”(数字化原生)提供统一的技术架构支持。
如果把过去金融的集中式架构(中央大脑)的统一控制作为“左”,完全的开源式的分布式云原生作为“右”。在金融云原生架构下,金融机构所需要的技术架构就是在左和右之间寻求一个平衡点,做到:既具备金融级的安全、强一致性、可靠性,又具备容错、扩展和快速响应的能力。对此,提出“强局部自治、弱中心控制”架构来屏蔽应用复杂性(例如:GRC架构、G-Global全局系统、R-Region区域系统、C-City局部系统),仅将需要综合多方因素判断的复杂逻辑交由全局系统(中央大脑)完成,减轻中心系统的负担,而将大量的日常简单判断和执行动作放在局部系统内闭环完成,提升容错能力,进而提高整体系统的鲁棒。
云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全性、可观测性、灰度等),在没有非功能性业务中断困扰的同时,使业务具备轻量、敏捷、高度自动化的特点。
图9 金融级要求与云原生核心技术相结合
在传统架构中,应用层有较多的非业务代码;而在云原生架构下,理想情况是不再有非功能性代码在应用代码逻辑中体现,而让其下沉到基础设施中去,业务运维人员也只需专注于与业务代码相关的部分。我们将金融级云原生的核心总结为如下10大架构要素。
大规模化、多场景的混部,将混部技术打造为业务运行的基础设施及环境,完善混部技术能力输出,便于推广到其他资源环境; 打通混部管控与运维体系一致性。统一资源接入流程,确保基础软件、配等置全局一致性维护与管理; 资源调度的灵活、高效、精细流程,在线-离线业务快速资源切换、一体化资源调度; 混部稳定性,达到和非混部同等量级的稳定性指标。依赖精细化地服务度量制定,以及资源隔离与业务运行适配度提升; 混部监控体系,提高运行时监控、异常发现与诊断能力; 混部异常应急机制,针对稳定性风险提前识别场景,并制定流程化应急机制,打造异常快速恢复能力。
要素8:金融级一致性
图12 单元化多地多活
由于尽量减少了跨单元交互和使用异步化,使得异地部署成为可能。整个系统的水平可伸缩性大大提高,不再依赖同城IDC; 可以实现N+1的异地灾备策略,大大缩减灾备成本,同时确保灾备设施真实可用; 整个系统已无单点存在,大大提升了整体的高可用性;同城和异地部署的多个单元可用作互备的容灾设施,通过运维管控平台进行快速切换,有机会实现100%的持续可用率; 该架构下业务级别的流量入口和出口形成了统一的可管控、可路由的控制点,整体系统的可管控能力得到很大提升。基于该架构,线上压测、流量管控、灰度发布等以前难以实现的运维管控模式,现在能够十分轻松地实现。
3.3.1 金融级云原生应用架构
《架构即未来》一书提出了分布式应用设计的十四条基本原则,而这正是最为重要的云原生应用架构的核心要素。
1. N+1设计:要确保任何你所开发的系统在发生故障时,至少有一个冗余的实例。
2. 回滚设计:确保系统可以回滚到以前发布过的任何版本。
3. 开关禁用设计:能够关闭任何发布的功能。
4. 监控设计:在设计阶段就必须要考虑监控,而不是在实施完成之后补充。
5. 设计多活数据中心:设计时就考虑多活部署,不要被一个数据中心的解决方案限制住。
6. 异步设计:异步适合并发,只有在绝对必要的时候才进行同步调用。
7. 无状态系统:无状态的系统更利于扩展,更利于做负载均衡。只有当业务确实需要的时候,才使用状态。
8. 水平扩展非垂直升级:永远不要依赖更大、更快的系统。微服务核心思想是水平扩展,不要把所有的功能都集中在一个系统里面。必要的时候把需求分为多个系统,而不是升级原有的系统。
9. 设计的前瞻性:提前考虑影响下一阶段系统扩展性问题的方案,不断提炼公共共享服务,以减少重构的次数。
10. 非核心则购买:如果不是你最擅长的,也提供不了差异化的竞争优势则直接购买。数据库、云服务等可直接购买。
11. 小构建、小发布、快试错:全部研发要小构建,不断迭代,让系统不断地成长。小版本的失败率较低,因为失败率与解决方案中的变更数量直接相关。
12. 隔离故障:实现隔离故障设计,通过断路保护避免故障传播和交叉影响。避免多系统之间的互相影响,这一点很重要。
13. 自动化:“自动化是智慧之源”,在云原生架构中,快速部署和自动化管理是核心。设计开始就需要尽可能通过架构和设计实现自动化的过程。如果机器可以做,就不要依赖于人。
14. 使用成熟的技术:如果某技术故障率比较高,就绝不能使用。
3.3.2 金融级云原生平台架构
金融云原生平台架构整体可分为:设计域、研发域、运行域、运维域、灾备域5大领域。
设计态:采用领域驱动设计等与微服务架构体系天然亲和的设计方法,并在设计过程中,关注数据一致性、服务颗粒度等问题,贯彻分布式架构设计的设计原则和规范。
研发态:面向研发人员,提供一站式的研发生产力工具,屏蔽分布式技术的复杂性,提升研发人员体验和生产率。形成达成广泛共识的工程模板,降低组织认知成本。
运行态:面向应用,分布式应用运行的基础设施,覆盖应用全生命周期,包括创建、部署、监控、变配,支持多种形态的应用交互方式和数据存储形态。底层支持多种形态的计算方式以及其上的调度方式。
运维态:面向运维人员,解决分布式架构的先天复杂性,广泛使用工程手段,保证系统整体可用性水平。
灾备态:面向灾难,提供对节点级、机房级、城市级灾难的容忍能力。
图14 金融云原生平台架构的5大领域
3.3.3 金融级云原生数据架构
云原生框架天生具备快速交付、弹性伸缩、标准化、自动化、隔离性等诸多优势,与新一代数据技术不断融合,形成了具备如下几个特点的云原生数据架构体系。
图15 金融级云原生数据架构
❶ 可扩展的多种计算模式融合
云原生数据架构可统一支持批、流、交互式、多模、图等不同计算模式的融合,例如:湖仓一体、流批一体、流式机器学习,使多种计算系统进行深度整合,在功能、生态上形成互补,用户能够在一套系统内完成更多种类型计算,提升平台运行效率,降低使用成本。
❷ 多层智能化的分布式存储层
存储计算分离会在两三年内成为标准,数据平台向托管化和云原生的方向发展。存储内部精细化的分层成为平衡性能和成本的关键手段,基于分布式存储系统上的多层存储(热存储/标准存储/冷存储等)与存储利用相结合实现存储降本。AI在分层算法上将发挥更大的作用,编码和压缩在通用处理器上的优化空间有限的情况下,未来更大的突破和技术换代将取决于软硬一体化的技术发展及应用情况。
❸ 统一调度和弹性伸缩的资源池管理
随着数据湖存算分离不断深入,基于云原生架构来建立统一容器化资源调度系统成为数据湖存算分离发展的必要组件,为大数据与AI一体化架构提供统一资源池化与在离线混部的基础支撑;通过统一算力资源池实现资源统筹调度,优化资源细粒度的管理与调度,可以将离线计算与其它在线计算任务进行资源混部达到峰谷互补的效果,有助于提升服务器资源利用率;同时,也可以根据业务优先级分配计算任务资源,确保资源调度期间不发生争抢,实现在业务高峰期,以弹性扩缩容模式调用算力资源,充分发挥资源算力,提升响应效率。
❹ 大数据SRE智能运维能力
大数据技术多样性和数据平台架构的复杂性,为大数据平台的运维带来挑战。新一代大数据平台可支持在线滚动升级,缩短升级时长;提供统一运行各类异构工作负载流程,统一管理作业生命周期,统一调度任务工作流,为任务的规模和性能提供保证;通过作业日志、性能指标、资源利用率等数据,结合历史记录和实时负载情况,使用机器学习方式进行分析、检测和调优,在查询计划、数据模型、资源管理自适应以及系统异常检测和自愈等方面不断优化,形成大规模数据平台的智能化运维能力。
3.3.4 金融级云原生基础架构
金融级云原生基础设施需要满足5大总体要求和13项管理要求。
5大总体要求为:
一是采用成熟云平台产品,打造IaaS、PaaS一体化云计算平台,实现租户端和运维端的完整服务目录,与软件开发体系和生产运维体系无缝对接;
二是实现全公司级基础资源弹性供给,按照分布式技术框架,支撑全公司业务系统实现高可用容灾架构,满足安全生产要求;
三是全面满足自研创新要求,从云平台底座到软件服务,具有全链路自研创新运行的能力,同时保障分布式应用高性能稳定运行;
四是具备提供大规模应用上云的基础,提供完善的应用框架,对应用系统提供稳定、持续、高性能的支撑;
五是云平台产品有成熟生态圈,与业界公有云技术发展保持基本同步,适配最新开源技术演进。
13项管理能力要求为:
统一资源管理:采用统一的物理资源类型和架构实现基础硬件资源的统一管理,如服务器、交换机、操作系统等;云管平台通过统一管理方式(控制台、API等)实现两地三中心的计算、存储、网络等云资源进行管理,降低开发和运维使用复杂度。
统一数据管理:对同城双活、异地多活架构通过数据存储、迁移、同步等方式,保障分布式云节点数据一致性,提供一体化容灾及联动切换能力,最大限度满足业务连续性要求。如提供统一的镜像方案、对象存储的容灾、数据库跨地域备份和同步等。
统一服务管理:支持两地三中心节点通过统一的API、SDK、控制台等管理云服务,如统一控制面进行服务的部署、更新等,大幅降低云服务管理复杂度,提升用云效率。
统一运维管理:通过云管实现对两地三中心不同节点采用相同的运维体系进行管理,提供一致的运营、监控、可靠性SLA等服务,减少运维管理人员工作量,提升运维效率,大幅降低系统故障,缩短故障时间。
统一安全管理:一方面通过物理基础设施、网络安全、数据面/控制面隔离等实现平台侧安全,另一方面通过主机安全、访问控制、防火墙、态势感知等实现安全服务,保障一体化安全。
统一资源调度:通过云管实现对两地三中心算力资源的统一调度,提供多种调度策略支持。基于位置调度满足对时延和带宽敏感的业务(如手机银行音视频应用);基于算力需求调度满足对AI、大数据等大计算量的业务(如潮汐调度、混部等场景);基于工作负载调度满足多维异构的场景(如理财抢购、积分兑换、双11等应用场景)。
统一监控管理:完成云上和云下各类型监控指标的接入和统一展现;完成云上和云下分布式链路追踪能力,实现从业务监控、到应用服务监控、到资源监控的逐层下钻和多维分析,完善故障定位分析能力;通过统一告警中心的对接和优化完成动态阈值,提升业务整体事件感知能力、快速定位能力和智能化分析决策能力。
支撑多元算力:云资源池兼容CPU、GPU等多种算力,为人工智能、深度学习、科学计算等多领域场景的金融科技类新应用产品提供高效的云算力服务。
支撑全栈自研创新:通过一套体系兼容多产品服务能力,支撑一云多芯、全栈XC云平台服务能力,推动自研创新战略落地。
支撑精细化管理:通过平台的计量计费能力以及与行内各系统打通,实现计算、存储、网络、安全等多类资源的计量计费能力。逐步实现IT成本精细化管理,实现业务IT投入与业务产出可度量、可评价,实现成本与效率的兼顾,实现IT资源的高效利用。
支撑裸机管理:满足裸金属交付从服务器上架、自动化装机、系统设置和软件编排的流程自动化和批量化,提升交付效率,降低人工工作量;满足裸金属统一纳管要求,实现裸机的统一监控和告警。
支撑服务质量:通过自服务能力提升,基础设施管理平台的建设将能够提供高效稳定运行精细化管理服务,根据平台对于数据的收集及分析,有效改进管理方向和内容,有效增强服务品质。
支撑架构发展:采用行业领先的专有云架构,搭建与公有云同源、满足金融行业容灾要求的云平台,通过一套体系支撑所有产品,支撑全行线上线下一体化运维体系建设,通过有机统一的体系结构设计,满足未来全栈云平台能力建设。
“投资未来的最好方法是改善现在”。金融级云原生极大地释放了数字化时代的红利,云原生充分继承云的设计思想,未来应用将更多基于云上进行应用开发,即云原生应用更加适合云的架构,而云计算也为云原生应用提供较好的基础支撑,如资源隔离机制、分布式部署、高可用架构等方面,通过新的架构、技术保障应用系统变得更加健壮,可以说云原生最大程度发挥了云的优势。
某银行基于IaaS/PaaS一体化云平台,运用分布式微服务框架、云中间件、容器、DevOps等云原生技术,搭建了可提供横向扩展、秒级伸缩、智能运维、适应快速开发持续交付的PaaS级云平台,推动该银行从传统架构向互联网架构演进。该平台基于容器进行应用部署、运行、调度资源,利用容器的轻量级特性,在服务数量激增的情况下节省更多应用部署和运行资源,可以轻松应对波动的业务流量。同时,应用的镜像交付形式实现了“一次构建,多次部署”,避免传统部署过程带来的操作复杂度与操作风险。通过该平台,应用交付周期缩短了80%,业务需求响应速度提高了50%。
然而,在金融机构开始大量采纳云原生技术时,却存在云原生技术产品体系过于庞杂、开源生态缺乏治理、产品之间兼容适配困难等诸多问题。局部技术特性往往给金融机构选择造成很大干扰,并产生较高的试错成本。
“抛开整体来看局部细节都是耍流氓”。越是平台型技术,越需要从整体角度来考量。所以,迫切需要一套结合行业特性的统一标准,为金融机构提供一个能力参照模型,以便金融机构定位自身云原生技术转型的发展阶段,对比分析发现云原生能力建设的不足,制定未来技术和能力建设方向。
我们结合一些金融行业实践,为金融机构采纳云原生技术提供一套完整的技术能力框架和九大维度的成熟度评估模型,可以参考如下指标进行展开:
微服务架构程度
应用云化程度
可观测性
高可用管理
配置自动化
DEVOPS
云平台能力
云原生安全
容器及k8s能力
图16 云原生架构成熟度指数模型
好的架构是进化来的,我们既需要一套完整的架构规划,来确保完整性和建设规范,也需要架构能够持续演进,确保整体稳妥可控。所以,我们归纳总结了两种云原生架构演进路径作为参考。
参考路径一:规划驱动(从上向下、宏观尺度),根据云原生能力评估来寻找技术短板和演进路径。图16展示了云原生架构三阶段演进路径,帮助金融机构逐步实现应用架构从单体微服务改造走向单元化,实现同城双活再到异地多活的变迁,寻求最平衡的架构发展路径以满足业务发展和严苛场景考验。
图17 云原生架构三阶段演进路径
参考路径二:问题驱动(从下向上、局部优化),架构演进的目的一定是解决某一类问题,不妨从“问题”的角度出发,渐进式进行云原生架构进化。图17展示了一个以解决技术问题来不断推动云原生架构演进的实践。
图18 以解决技术问题来不断推动云原生架构演进
步骤1:为了让整个应用架构有“更好的底层支撑”,将应用架构运行在云平台上;
步骤2:为了解决单体架构“复杂度问题”,使用微服务架构;
步骤3:为了解决微服务间“通讯异常问题”,使用治理框架+监控;
步骤4:为了解决微服务架构下大量应用“部署问题”,使用容器;
步骤5:为了解决容器的“编排和调度问题”,使用Kubernetes;
步骤6:为了解决微服务框架的“侵入性问题”,使用Service Mesh。