以中国人民银行《金融科技(FinTech)发展规划(2019-2021)》为指导,民生银行坚持创新发展理念,深度融合技术和业务,主动转型科技架构,加速技术能力向业务价值转化,于2019年和2021年分别发布了《中国民生银行科技金融战略发展规划(2019-2022年)》和《中国民生银行五年发展规划(2021-2025)》。在技术能力方面,民生银行基于多年SOA、分布式、微服务和云原生研发领域的经验积累和沉淀,打造了技术栈统一、组件丰富、平台健壮、弹性扩展的云原生技术平台和能力体系,推动应用架构和技术架构持续转型和科技治理、赋能业务交付方面的能力不断提升。
▲中国民生银行信息科技部总经理助理 李晓东
云原生转型整体规划
民生银行的信息科技架构经历了从电子银行、网络银行、移动银行到场景金融几个不同阶段的演进。伴随着架构演进,民生银行的技术架构经历了从集中式、SOA、分布式到云原生的持续发展过程。
民生银行从2019年开始进入场景金融阶段,其标志性事件是零售综合金融服务平台、企业综合金融服务平台以及金融市场综合金融服务平台的上线,并逐步形成了民生特色的渠道层、场景层、业务中台、数据中台、AI中台、基础金融产品及服务的应用架构体系。伴随着应用架构的转型,民生银行的科技团队也同步推进了技术架构的转型和探索,特别是进行了云原生体系能力的沉淀和快速发展。
云原生能力建设
民生银行云原生平台体系核心包含六大部分:基础软硬件云服务化的IPaaS、面向应用云化的APaaS、后端微服务框架Tesla、前端微服务框架Apollo、DevSecOps工具集和云安全能力平台。
1.基础软件云平台(IPaaS)。IPaaS根据民生银行自身需求,兼容各种底层环境,打造总行数据中心各类基础软件、硬件的云化管理和服务,实现了自动化、自助化提供算力和各类软件服务的能力,包括数据库、中间件、缓存、大数据、存储等标准化服务。同时通过容器平台提供了云原生的基础平台能力,为云原生的业务场景提供了有力支撑。
IPaaS的建设思路是一切皆服务,将基础软硬件产品的能力以云服务的形式提供出来,快速响应业务需求,提升生产稳定运营能力和自助服务能力。
2.应用云平台(APaaS)。APaaS是民生银行全面云原生化的下一代金融级应用基础服务平台。APaaS建立在IPaaS巨人肩膀之上,以应用为中心,以标准化应用模型以及能力全面整合和服务化为核心,为开发人员提供一站式、端到端、场景化、引导式的研发体验,借助模板和配置,实现标准化的工程初始化、组件集成、服务集成、代码仓库、流水线、微服务治理、中间件、部署架构、日志和监控等。
APaaS建设初期的核心工作是沉淀与整合,一方面将研发标准和规范沉淀到平台上,以服务的形式提供给开发人员;另一方面将前后端框架、云组件、治理组件和DevSecOps能力进行整合,提供一站式体验。经过这个过程,在APaaS上开发的应用,原生规范、原生标准、原生云化。
随着APaaS持续建设和成熟,民生银行科技开发团队逐渐沉淀出融合技术服务和业务服务的领域方案,通过把应用开发中的领域模型沉淀下来形成平台级能力,为业务研发交付人员尽可能减负,使其避免过多地限于底层技术细节,更加关注业务逻辑的实现。譬如基于场景云(SPaaS)和渠道云(CPaaS)提供面向场景开发和面向渠道开发标准化的平台,让开发人员关注场景的具体配置,关注渠道的具体界面,引导研发人员超越“技术云原生”趋向“业务云原生”的技术转型。
3.后端微服务框架(Tesla)。Tesla是我行自主研发的金融级云原生后端开发平台,基于模块化架构引入多种互联网组件,以分布式、微服务架构为基础,为全行应用系统提供统一的底层应用开发平台和运行支撑体系及最佳实践方法论。
Tesla的特点可概括为6大部分。一是全方位的研发支撑能力,构建开发框架、基础设施、领域解决方案,多角度全方位打造完整的云原生应用开发和运行生态。二是稳定优先的微内核架构,实现极致性能和稳定性,保障关键金融应用系统持续平稳运行并应对各种业务爆发时刻。三是可持续积累的插件模型,通过应用与反馈的良性循环,不断丰富完善支撑各类金融场景的插件体系,持续为应用研发赋能。四是轻量化的系统运行模式,解耦对商业中间件产品的直接依赖,满足技术可控要求。五是平滑敏捷的演进方案,设计通用方案实现存量异构技术平台平滑演进,为存量系统的技术平台标准化探索一种最佳实践模式。六是开放高效的支持能力,为开发者提供研发工具箱,如一键下单系统搭建、在线问题处理、架构“一眼清”等功能,提升交付效率和质量。
4.前端微服务框架(Apollo)。Apollo是我行自主研发的,高度适配银行业务的企业级前端应用开发平台。针对银行大型前端应用交付遇到的如缺乏前端企业级统一的技术框架和研发规范、缺乏高效及高质量的交付能力、缺乏持续提升前端用户体验的能力等常见痛点,提供技术平台和解决方案的支撑。
Apollo基于云原生的理念和技术,实现了前端云应用开发平台,主要功能包括前端应用开发框架和架构体系、前端云IDE、前端设计研发协作服务、前端组件服务、前端自动化测试组件服务、前端云持续集成服务、前端云运行服务、前端应用可观测体系和前端低代码应用开发平台。Apollo的主要技术特点可概括为7大部分:一是基于组件化和模块化、逻辑视图分层、数据和模型驱动视图、领域驱动架构等应用架构思想,实现了统一的企业级前端研发范式;二是采用微内核加插件的模式,统一抽象前端企业级工程配置,实现了可动态扩展及可持续演进的能力;三是支持各种主流的前端应用类型,包括单体、微前端、前后端一体化等工程类型,以及PCWeb、移动端H5、小程序、桌面应用、大屏应用等应用类型,全面支持我行各种业务类型;四是支持从应用设计、应用研发、联调测试、持续集成到部署运行的全流程云服务能力支撑,实现全流程敏捷研发;五是前端组件、模板等研发资产实现标准化、可持续的积累和共享能力,最大程度实现面向组件的研发和复用,提升交付质量和效率;六是全面的前端应用可观测指标,覆盖持续集成阶段和线上运行阶段,帮助应用开发者持续提升应用质量和用户体验;七是企业级的前端低代码平台,支持我行领域类和通用类业务交付,实现低代码的研发模式,提升研发产能。
5.DevSecOps。民生银行基于DevOps和“应用原生安全”的理念,持续建设DevSecOps体系,包括研发交付制度、规范、流程和工具集。目前DevSecOps体系涵盖了从需求管理、任务管理、代码管理、持续集成、代码扫描、测试管理、质量门禁、制品晋级到持续发布的研发交付全生命周期。
民生银行DevSecOps有三个核心关键字:自动化、左移和质量门禁。所谓自动化,即以持续集成流水线为载体,集成了代码扫描、安全检测、单元测试、接口测试、SQL扫描、配置更新以及应用探活等,对于开发人员,只需驱动流水线,即可自动完成。所谓左移,即质量分析、安全分析、生产分析等尽可能左移,向开发阶段延伸,尽早发现问题、尽早解决问题。所谓质量门禁,即将安全、质量等要求固化到流程里,作为制品晋级的必要条件。
6.云安全。民生银行基于“零信任安全防御”理念,构建一体化安全防御体系,将安全威胁检测、发现和阻断能力与云原生架构的各层基础组件有机结合,实现了动态化的容器安全防护和精细化、智能化的云上安全访问控制,提升云上应用安全风险发现的广度、深度和及时性。同时持续夯实数据中心的基础安全防御,实现云安全防御设施与基础安全设施的自动化联防联控,有效保障云原生平台及其上业务的安全稳定运行。
云原生应用实践
云原生能力建设的目的是支撑和驱动云原生架构转型升级和架构治理。针对实际的应用上云场景,民生进行了从上云评估、上云方案、上云样板间、云原生认证到领域PaaS建设等多种应用实践。
1.应用上云评估体系。目前民生银行现存数千个运行单元,上千个SOA模块,几百个集成系统。针对如此大量的IT资产,如何进行云原生转型,需要方法论的指导和支撑。针对这个问题,民生科技基础技术团队制定了上云评估指标体系,针对必要性、可行性两个方向,从业务、技术、工程三个维度,对每一个模块和服务单元进行量化评估。模块具体的云原生转型方案,需根据业务的紧要程度和关键能力的优化程度,进行评估和设计,并制定有针对性的上云策略和演进方案。
2.一揽子上云方案。我们把现有金融应用分为六大类:联机交易类、通道类、前后端分离类、批量业务类、计算密集类和领域平台类。针对不同类型的应用,设计不同的模板,把相应的各维度指标和推荐方案提供给大家,帮助用户进行应用转型设计。针对云原生转型中的技术难点,如混合部署、网络、会话保持等,也提供了标准化模板和适配性的解决方案。同时将这些模板和方案固化到APaaS平台上,为开发人员提供白屏化能力。
3.上云样板间。不同应用的特征不同,相应的云原生建设方案也有所不同。基于此,我们提供上云样板间,供用户在上云设计时参考和复制。例如,对于联机交易类应用(如支付平台),提供针对性的云化模板,并结合模板制作对应的联机交易类应用样板间。从应用建模、架构拆分、基础设施接入、配置分离、上云迁移、节点和会话的无状态化改造、中间件适配等方面入手,适配和打造样板间。
4.云原生认证。一切的核心是人才。为了加速企业级的云原生转型升级,类似阿里ACP,我们设计了民生银行的云原生认证体系。2021年,研发类岗位全员参加了云原生相关的培训、学习、练习和考试,持证上岗。
5.领域PaaS实践。在为交付团队提供云原生服务的同时,采用联合共建的方式,APaaS平台逐渐沉淀了各类领域PaaS,如面向移动应用的FIREFLY PaaS、面向零售场景的SPaaS、面向员工渠道的CPaaS等。类似容器、Service Mesh到Serverless的技术演进过程,APaaS通过从原始云原生技术平台逐步生长出专业领域PaaS分支的过程,体现了民生银行科技团队将云原生能力逐步应用到赋能业务的过程。衍生领域PaaS可以使开发交付工程师更多地专注在业务需求的实现方面,降低对于底层基础设施技术细节的关注,并逐步过渡到业务交付开发的低代码和白屏作业模式。
(1)FIREFLY PaaS。FIREFLY PaaS是我行自主研发的移动应用开发运营支撑平台,贯穿了研发—集成—运行三态,起源于FIREFLY平台,并基于APaaS进行扩展与增强,逐步构建出灵活可控的基础技术框架,并积累了大量可复用组件,建设了可靠的公共基础设施。FIREFLY PaaS主要包含前端开发框架FIREFLY Apollo、客户端开发平台FIREFLY Client等框架和组件服务,广泛应用于全行移动应用。同时FIREFLY PaaS还提供了移动应用的通用基础服务和运营支撑服务,共同为移动应用的快速开发、安全保障、数据运营提供强有力支撑。
(2)场景PaaS(SPaaS)。SPaaS(Scenario-PaaS)是APaaS在民生银行场景中台架构领域的典型沉淀,其基于云原生基础能力及场景化中台体系架构,面向场景应用开发人员,提供了场景应用全生命周期服务平台,涵盖了场景开发、部署、运行、测试、监控及运行评估等过程。该平台主要包括四部分能力:一是统一管理的场景应用租户,基于APaaS模块管理、资源管理能力对场景应用租户进行统一管理;二是一体化的场景开发部署流水线,基于事件驱动、管理驱动和交易驱动场景各自的业务和技术特性,以及软件工程支撑平台(PSET)和自动化运维平台能力,构建三大驱动场景开发部署流水线,支持标准化、组件化、配置化的场景低代码开发模式及标准化的场景部署流程;三是高效运行的场景引擎,基于派迪(PADDE)场景感知响应模型和三大场景驱动引擎(事件驱动场景引擎、管理驱动场景引擎、交易驱动场景引擎)构建高效运行的场景引擎;四是平台化的场景管理和监控能力,构建场景应用的场景仓库,并对场景进行统一管控和监控,打造平台化的管理和监控功能。通过SPaaS,民生零售业务研发团队已经实现了零售场景交付和管理过程的高度白屏化和低代码化。
(3)员工渠道PaaS。员工渠道PaaS是基于APaaS应用模型和云基础模块能力建设的员工渠道领域的云平台。该平台具有云原生敏捷开发、多租户领域组件和服务、多维度的技术管理等特点。员工渠道PaaS从贷款平台整合、大运营平台整合等项目入手,梳理、抽象和整合领域架构的公共组件和服务,推进技术架构和研发模式向云原生演进。平台从开发态、运行态和管理态全面支撑员工渠道应用的建设,交付团队只需专注于业务逻辑的实现。
(4)分行特色业务应用PaaS。本着总分协同、管理、作业一体化的建设理念、开发共享、弹性扩展、安全管控的设计原则以及微服务、共享云的设计思路,民生银行基于APaaS建设了分行特色业务应用PaaS。平台实现了分行特色业务应用的技术支撑架构标准化和规范化,提升了对分行业务的支持响应能力,助力打造民生银行分行特色业务领域“技术+业务”双轮驱动的生态圈。