实战 | 打造敏捷开发运维平台,助力金融服务提质增效
欢迎金融科技工作者积极投稿!
投稿邮箱:newmedia@fcmag.com.cn
——金融电子化
文 / 浙商银行金融科技部 富浩 赵鸿博
浙商银行顺应金融科技发展新趋势和客户价值创造新需求,确立了平台化服务战略,围绕客户痛点和场景需求,打造了应收款链、易企银、池化融资等一系列平台化创新产品,为客户提供“科技+金融+行业+客户”产业链服务方案。平台化服务战略的深入实施,对IT科技基础的扩展能力、复用能力、部署能力、输出能力提出了更高的要求,以满足平台化服务中面向互联网、面向平台、面向场景、面向客户的更高需要。因此浙商银行主动推进信息系统架构革新,建设了符合金融特性、自主可控的敏捷开发运维平台,构建敏捷科技基础能力,助推业务敏捷,推动产品持续创新,快速适应和满足市场和客户的需求。
建设背景
在科技持续赋能业务创新发展的时代背景下,要求科技基础能快速满足敏捷、高效的业务创新需求和高度灵活、可扩展的开发运维需求,商业银行传统技术架构和开发运维模式越来越难以适应未来金融服务发展要求,主要存在以下挑战。
一是面对金融服务线上化、场景化、生态化的客观形势,传统单体式架构高耦合性的特点,导致团队沟通成本高、相互依赖强、扩展能力不足,严重掣肘了产品快速创新。二是在传统开发运维模式下,开发和运维两者的目标诉求不一致,流程上也存在割裂的情况,一定程度上减缓了IT交付业务价值的速度。三是传统基于物理机、虚拟机的资源分配、管理和调度能力较弱,扩展能力有限,资源利用率不高。四是系统、网络、应用、数据等各维度的运维监控依赖于各类异构的监控产品,存在监控孤岛,无法及时汇总分析监控信息。综上,浙商银行基于容器等云原生技术,自主研发敏捷开发运维平台,并申报了人民银行金融科技应用试点项目。
技术实践
项目融合微服务、容器化、DevOps等最新理念,集成了多种开源技术,通过深入分析选型、定制化开发改造,组件式搭建敏捷开发运维平台。平台选用Dubbo、Nacos、Apollo提供微服务化的基础框架服务和运行环境;使用Docker作为微服务的应用载体;采用Kubernetes动态管理微服务的调度,提供服务发现和应用支撑能力;部署Elasticsearch、Logstash和Kibana实现分布式日志系统的汇集,搜索和分析;通过Jenkins提升自动化构建水平,为DevOps流程提供工具化服务;基于Prometheus和Zabbix实现多层级整体监控方案。
1.构建微服务基础架构,实现业务解耦
平台以应用微服务化为核心,提供非侵入式分布式架构基础组件服务,包括应用模板、注册配置、消息队列、日志搜集、全链路追踪等,助力微服务应用快速接入,支持可视化编排服务启动,管理应用服务全生命周期,有效解决微服务的分布式特点带来的管理复杂性。平台可智能选择负载均衡最佳流量模式,判断需要熔断限流的服务,实现自动化的服务治理功能。平台通过外部化应用配置管理,将服务配置与应用解耦,支持配置的实时更新和敏感数据的加解密。应用启动过程中相关模块自动连接配置中心读取相关的配置数据并初始化,大幅简化了过去繁琐的配置工作。
2.实现容器化弹性能力,提升资源利用率
平台采用高可用、高弹性的容器云技术,在业务峰值时可根据策略自动增加业务层容器数量和集群层的节点规模,通过双层动态扩展应对大流量、高并发场景,在业务低峰自动缩减运行环境。同时可以复用IaaS私有云资源,支持虚拟机、物理机等多种环境,统一管理计算、网络、存储等基础资源,避免重复建设。因此,相较传统虚拟化技术,敏捷开发运维平台具备更智能的资源调度策略以及更高效的资源管理能力,进一步提高资源利用率。
3.完善监控运维体系,快速定位解决问题
平台已构建涵盖系统、应用、数据、网络、容器等多维度多层次运维体系,具备完善的负载均衡、性能指标监控、日志监控、故障报警等功能,在监控界面上可迅速获取平台状态、系统用户、资源分配、应用拓扑、业务健康状态等数据,提供详细的技术指标和极简的操作体验。针对微服务应用,在框架层面实现了对请求调用路径的监控,图形化展现树状结构的调用链路关系,便于问题快速定位。支持通过统计分析调用链监控数据、日志信息、系统性能指标,更合理的提出应用优化方向。
4.标准化应用交付,简化应用上线部署
平台采用容器镜像作为统一软件交付物,加强了软件版本控制,结合配置中心,确保多环境一致性交付,避免因环境不一致所引起的一系列部署运行问题。平台支持应用系统的灰度发布及多版本发布管理,让新老版本同时运行并可实现策略分流,进而精细化控制业务影响范围。同时支持一键式应用升级或回滚,简化运维人员投产上线工作,降低版本发布风险。
5.优化网络组件,提升网络性能及安全性
为满足金融机构的网络安全需求,为平台设计了二层网络方案,可无缝嵌入SDN网络,使容器具有类似虚拟机的使用体验,便于应用容器化推广。平台将容器内的应用与非容器的应用置于同一网络层面,更易于制定网络安全策略,且与开源方案相比,减少了转发损耗,提升了网络性能。此外,平台为应用系统提供4层和7层的统一软件负载均衡、健康检查等能力,监控应用系统可用性,支持最小连接数、源地址散列等多种转发策略,并可根据流量进行负载均衡器横向扩展,提升平台入口处性能和可靠性。
平台成效
基于平台,结合容器和微服务的技术特点和优势,浙商银行设计并实现了以下DevOps流程,如图1所示。流程实现从源码、构建、打包、测试、审批到发布的全自动化,提供灵活的定制能力,可根据人员角色和组织架构动态调整,使金融业务项目管理兼顾严谨性和敏捷性。DevOps流程重塑开发和运维之间传统的合作方式,将二者融入统一业务流程,加强了协同和沟通效率,以完善业务产品为共同核心目标促使业务持续改进,将追求稳定性的业务运维和开发过程的创新保持同步,有效提升了开发、测试、投产及运维的一体化、标准化、自动化。
图1 敏捷开发运维流程
同时,平台按照“厚平台薄应用”的理念,提供丰富的基础设施服务,构建了共享服务中心,实现了IT资产的复用,快速拼装和满足业务需求,实现产品创新。包含消息队列服务、延迟消息服务、对象存储服务、分布式锁服务、网关服务、分布式ID服务、分布式批处理任务调度服等基础设施服务,证书管理服务、语音识别服务、OCR服务、人脸识别服务、电子签章服务、安全服务、用户中心服务、图形验证码服务等基础应用服务,以及服务类、前端类、Web后端类、批量类、流程类、内管类等的开发框架服务。
平台自投入使用以来,成功上线包括大数据风控平台、账户引擎等核心业务系统,e家银、付账通、租融通、联贷通等平台化创新应用。通过平台的标准化、统一化管理,有效沉淀和提升了金融科技整体研发能力,大幅提升了研发效率,显著提升了IT治理水平和精细化管理能力。
结 语
敏捷开发运维平台是浙商银行多年来在基础架构方面研究与实践积累的落地产物,作为浙商银行企业级开发运维平台,已初见成效。
平台通过分布式微服务实现技术与应用的解耦,缩短了系统、产品的建设周期,通过持续敏捷迭代开发模式不断推出新产品、新功能,可以更好更快地满足广大金融客户需求,进而为用户提供更多个性化、智能化以及定制化的金融服务,支持业务持续快速创新。同时,利用平台灵活、可靠、通用、便捷的基础服务,发现、沉淀、并复用IT能力,简化了平台合作对接,提升了技术、服务、产品的输出能力。
(栏目编辑:韩维蜜)
往期精选:
(点击查看精彩内容)
● 实战 | 交行信用卡“买单吧”在鸿蒙技术生态中的探索与实践
《金融电子化》新媒体部:主任 / 邝源 编辑 / 傅甜甜 潘婧