2021年10月,中国人民银行等联合发布了《关于规范金融业开源技术应用与发展的意见》(银办发〔2021〕146 号),规范金融机构合理应用开源技术,提高应用水平和自主可控能力,促进开源技术健康可持续发展。前期,为助力成员单位做好开源技术应用与发展工作,北京金融科技产业联盟开源专委会组织了金融业开源技术应用、创新等方面的案例征集,现对部分优秀案例进行宣传,发挥先进典型示范引领作用。
【金融机构开源技术应用创新成果案例 第十四期】
中国农业银行——轻量式云原生应用平台
申报单位:中国农业银行股份有限公司
技术领域:云原生、无服务器架构(Serverless)、DevOps
技术产品:VUE、OpenFaaS、Knative、Tekton、ShardingSphere、druid
业务场景:前台应用、移动互联应用、小程序等
应用时间:2020年7月
一、案例背景
随着Bank4.0时代来临,银行业务流程出现颠覆式的改变,新的业务模式和场景不断涌现。使用云计算、大数据、人工智能、移动互联、区块链等金融科技的应用,需要应对多变的业务需求和迅速的技术发展,要求银行系统应选择面向未来的云原生技术,满足应用的全生命周期研发需求,云原生已成为金融数字基础设施建设的关键核心,为金融领域的发展带来新的机遇。在深化数字化转型的背景下,银行数字化的本质就是一场效率革命,业务对应用系统的灵活性、敏捷性、快速交付能力和安全性等都提出了更高的要求。后疫情时代,如何有效应对深化数字化转型、绿色低碳转型下的多项挑战,包括市场响应如何更快速、更敏捷,业技融合如何更深入、更有效,应用创新如何更简单、更安全,场景金融服务如何更暖心、更丰富。
轻量式云原生应用平台(简称:轻云平台)是中国农业银行自主研发建设的,面向线上渠道全场景金融服务的,应用全云化敏捷研发、交付和运行的,全托管式无服务器化云原生技术平台。轻云平台综合深度运用了云原生、Serverless技术、DevOps云流水线、移动应用技术、低代码技术、云IDE、零信任安全等新一代数字化技术,提供了轻量式云原生能力、一体化云交付能力,全场景金融创新能力。
二、创新成效
技术方案
轻量式云原生应用平台(简称:轻云平台)综合运用了VUE、OpenFaaS、Knative、Tekton、Istio、ShardingSphere等开源软件,在移动互联场景为用户提供了站点+函数的轻云小程序应用解决方案。
轻云小程序基于开源VUE框架封装,能力包括多平台开发调试、参数化构建、轻程序UI基础/业务组件、JSAPI和调用云函数/云数据库/对象存储/BaaS等轻程序前端能力。
函数和应用引擎基于OpenFaas、Knative框架封装,建立了全托管、云原生的无服务器平台。平台定位于技术中台,拥有丰富而完备的Baas服务能力,通过封装简化后台服务接口,提供极致的api调用,显著降低使用者的开发技术门槛,凭借快速的交付能力来赋能敏捷开发,使开发者只需聚焦于业务逻辑的开发,而无需关注复杂的运维操作。
轻云ServerlessDB通过使用druid、ShardingSphere等开源技术组件,兼顾效率和兼容性,提供开箱即用的mongodb、mysql的两种类型数据库服务,无需应用单独申请维护数据库服务器软硬件资源。
轻云工具链通过使用Tekton作为底层流水线编排框架,建立了云原生CI/CD流水线系统,将软件交付的流程分割为构建、测试、部署等独立的步骤,以流水线编排的方式完成任务组装,实现交付流程的自动化运行,并通过构建环境容器化、资源分配智能化、部署策略多样化等手段提升软件交付效能;同时轻云工具链完成了与农行内部运维平台对接,从投产变更到监控、运维提供全生命周期支持,贯通开发到运维的全周期管理。通过工具链加速了银行总分行团队落地“业技融合”的产品级敏捷过程,提升了价值流动效率,快速创新,赢得市场竞争优势。
说明图示
轻云小程序框架:
OpenFaas:
Knative:
Tekton:
Istio:
技术创新
极致弹性:函数提供了弹性伸缩、从零扩容、事件触发的能力。函数支持极速发布模式,使函数发布时间从1分钟降低为2秒,提高了使用者的开发效率。
开箱即用的结构/非结构数据库:ServeressDB支持高效、完整的SQL解析能力,统一MongoSQL、MySQL数据库的接入方式,降低了异构数据库差异给应用方带来的复杂性。
快速交付:使用云原生CI/CD流水线大幅精简了应用发布流程,人工干预流程缩减了90%,平均发布时间由分钟级降低到秒级,提供组织级质量门禁,提升交付质量。
安全可靠:轻程序底座SDK提供基于国密算法的通信安全机制。通过自研token生成算法实时生成加签盐值,并依据时间戳对加密的SM4秘钥、密文和token进行SM3加签,最终形成包含签名、SM4秘钥、密文和时间戳的报文,实现与网关的通信加密,提升系统安全性。
业务创新
平台采用“小程序+云函数”的轻量化移动程序生态,面向总分行业务需求,特别有利于区域性场景金融、灵活办公需求等个性、多变的移动应用实现落地,促进平台能力触达更广泛的客户群体,渗透到县乡级,挖掘蓝海市场。
小程序是轻云平台面向线上渠道全场景金融服务提供的一站式解决方案,包含即触即用、多端兼容、快速开发、平台赋能的特性,具有完备的前端能力,更短的服务路径,更低的开发门槛,降低前台应用创新试错成本低,加速产品快速迭代。
云函数依托本平台提供的Serverless函数计算引擎,实现了业务代码“一键直通”到系统运行时,带给开发人员“自动弹性伸缩”、“零运维”的极简开发体验,此外平台提供全托管API网关、云数据库、对象存储、消息队列等基础设施以及金融“后台”服务,作为后端服务(BaaS),直接以API的形式使用,极大地简化了基于云服务的编程。通过小程序、Serverless、低代码等技术对前台应用研发提供全流程支持,增强银行“技术中台”能力,进一步落实“厚中台”战略目标。
平台针对在多种渠道发力,涵盖掌银、微信、自助终端、移动办公等,在行内仅一年时间就完成全行推广,累计已服务项目70余个,在信贷、政务、民生、办公效率均有场景,为推进农业银行数字化转型战略提供新型技术动能支撑。
三、产业价值
轻量式云原生应用平台将Serverless、云原生和移动互联等技术有机结合,助力金融场景业技融合,提升技术密度、赋能应用创新。建设以来,对标业内标准,服务数字应用,为推进农行数字化转型战略提供新型技术动能支撑,也为业界Serverless技术标准发展贡献智慧。
平台聚焦三大能力,以“应用全云化、开发全民化”为理念,以“更简单、更快速、更安全、更暖心”为目标,通过自主化的Serverless技术应用,技术落地云原生平台,推广组装式开发方法,高效赋能全行科技研发和业务创新,有效应对转型下的各类挑战。平台围绕移动互联应用“快速交付”能力,采用云原生技术实现云端一体快速研发新模式,为农行前台应用提供技术支撑,实现了同业首创的企业级Serverless技术敏捷研发平台落地,也为金融业云原生敏捷研发落地给出了示范。