文/招商银行信息技术部 徐佳航
业务实现用户价值交付,应用承载业务运行。应用本质是业务价值的“技术承载体”,应用持续交付和稳定运行直接影响业务与用户。企业上云的期望是在满足云上应用稳定运行的前提下,通过加速云上应用稳定交付,实现业务价值交付提速与创新,进而释放云的技术红利。而随着企业上云后,应用用云复杂性已成为释放上云红利的主要制约因素。
应用用云复杂性主要来源于三个方面的变化。
一是技术变化,云原生社区领域技术多样性持续丰富,容器为云应用交付介质标准,微服务为云应用架构标准实践,Kubernetes为云应用资源管理调度标准,基础设施即代码(Infrastructure as Code)为运维自动化标准实践。
二是职能变化,应用研发交付职责不断左移,工作半径进一步扩大。
三是组织变化,上云后组织结构演变成为云上组织新拓扑,按角色分为平台开发者、应用开发者、管理者等云上三类核心用户。
招商银行全面上云(On Cloud)后,步入云原生应用转型期(In Cloud),面临应用用云复杂性带来的应用管理挑战,表现为如下四方面。
一是技术方面,在云上环境进行应用开发、交付、运维,开发人员直面云的各项技术复杂性。
二是应用管理职责方面,从应用开发到应用交付、应用运维(安全合规等),管理职责边界扩展,胜任力要求持续提高。
三是应用架构与组织协作方面,微服务关联链路长,关联服务涉及组织多,业务运行连续性保障难度较大。
四是自主可控方面,基于内外部复杂的形势,如何助力应用适配多种硬件、操作系统、数据库,实现平稳迁移,逐步提升关键基础设施自主可控水平更具挑战。
按云领域知识技能进行盘点,全行应用开发运维人员目前至少要掌握超过60个不同门类用云领域知识,才可能胜任云应用全生命周期管理。
“如何通过降低应用用云复杂度,保障业务演进快、运行稳,从而释放上云红利”成为云原生应用转型管理中必须解决的首要问题。
本项目旨在构建“标准应用类型、应用框架、应用管理”三位一体的云原生应用管理标准化体系,通过“应用模型抽象”规约企业所需的标准应用类型,统一标准应用开发框架,并基于不同应用类型精准裁剪云能力,以最佳实践模版内置于应用管理平台,实现标准落地为平台能力,助力企业以统一标准快速规模化实施云原生应用转型。该体系的建设将有效解决企业从“On Cloud”向“In Cloud”迁移过程中应用管理复杂、治理不统一、运维难度大等问题,推动招商银行大规模云原生应用的快速落地。
通过三位一体的云原生应用管理模式,确保不同角色精准赋能:
平台开发者——按照应用类型所需,精准供给云能力,满足应用开发者需求;应用开发者——通过标准化框架与管理平台,简化云上应用管理与应急排障;管理者——依据标准应用类型制定应用治理与合规措施,提升管控能力。
本项目构建了一套云原生应用管理体系架构(详见图),通过云原生应用管理门户为开发者提供APIServer、数据库、Flink计算任务、FaaS、AI等10余种标准应用负载类型的统一管理能力,并基于AppFile实现标准化应用管理、自动化运维与治理,确保应用全生命周期高效可控。
图 云原生应用管理体系架构
整体架构采用分层设计,包括应用管理层(提供应用创建、配置、发布、故障诊断、可观测性和安全管控等核心能力)、持续交付适配层(涵盖持续集成交付流水线、应用数据管理、资源调度和安全管控能力),以及云资源与基础设施层适配层(提供计算、存储、网络、消息队列等底层支撑能力),各层协同工作,形成完整的云原生应用管理闭环。各个层面关键组成部分及功能特点如下。
1. “应用为中心”标准化抽象供给云的能力与自动化能力。以“应用为中心”,对云的能力和自动化能力进行标准化抽象后提供给用户,用户所有配置均托管在平台,同时平台还提供配置全生命周期管理能力,提高配置效率,降低配置的使用复杂性,减少配置变更带来的风险。
2. 无侵入的灰度发布能力。平台为用户提供灰度策略自定义、可快速复制、快速回收、流量管控等能力,结合业务特征构建更适合业务自身的可编排、可灰度、可验证、可观测、可回滚的灰度发布能力。
3. “按需”应用弹性伸缩能力。结合Kubernetes HPA与运维观测数据计算弹性伸缩指标,融合应用实例、流量调度,提供定时周期、资源指标三种典型的应用“按需”弹性伸缩能力。
4. 运行时架构守护。基于分布式链路Trace链路、eBPF网络连接采集,动态分析应用运行时架构,支持用户个性化的业务架构场景,并提供架构保鲜、架构可观测、架构链路追踪等能力。
5. 云原生应用诊断能力。以“应用视角”为核心,通过将应用的可观测数据及支撑应用的所有基础设施全部串联,自动、准确、快速发现异常、定位故障和预测风险,实现“实时反馈、智能处理、快速收敛、故障定界”的故障处置新方式。
6. 微服务治理能力。业务系统微服务化之后,带来微服务治理问题,提供全托管的网关工作负载,助力业务系统高质、高效落地微服务架构。
7. 流程化的应用无感迁移能力。根据行内业务应用重要性等级,进行分级分类迁移部署,解决原有系统、子系统划分不合理,需要重新规划,进行服务单元迁移。根据自主可控要求改造,使之符合监管相关要求。云原生应用管理平台提供一站式应用适配能力,解决业务系统改造过程中的业务风险,保障业务持续可用。
8. 管理者、平台建设者、应用开发者基于应用抽象协作。平台以应用为中心的声明式建模协议,作为管理者、平台建设者、应用开发者交流的“建模术语”,保证三方在同一语义下分工协作,进行应用开发、部署、运维、观测、治理等操作。
9. 应用数字化管理能力。基于组织对于应用管理诉求,提供应用管理数字化视图,提升组织应用管理效率,可视化应用状态、资产等相关信息。
招商银行云原生应用管理体系和工具平台,提供可枚举的多种云原生应用负载,建成平台级的灰度发布、弹性伸缩、应用可观测、故障诊断定界、应用灵活迁移等能力,降低了用云复杂度。相比同领域产品,该项目提供的工作负载覆盖更全、生命周期支持更完整。
建立了自研“IAM”运维统一认证权限安全体系,面向管理员、开发运维人员、审计人员提供系统、业务、应用三层权限模式,保证最小控制权限管理,降低系统安全管控风险,满足合规审计要求。实现了基于应用抽象建设云原生应用管理体系与平台,为金融业云原生应用转型提供技术与工程实践样本。深度参与CNCF社区KubeVela开源项目,成为金融行业主要贡献者。参与起草由中国信通院与企业机构联合发起的技术标准,为行业贡献了实践经验。
该项目自2023年6月投产以来,一年内实现应用规模化。至今,已覆盖总分行、信用卡中心及招商永隆银行等超5000个子系统,自动化纳管总行生产环境超90%云上应用,纳管应用实例超25万个,约占总实例数90%。
该项目提供平台级别灰度能力,应用无侵入,重要系统95%实现灰度部署;针对“潮汐型”与“突发型”业务,支持指标与周期性弹性伸缩;故障定界报告生成时效5.3秒,实现应用关联资源可观测,日均诊断1.1万次;应用规范化迁移,实时回退;支持AI大模型应用部署运维。
应用用云复杂度大幅降低,平均应用管理旅程从3小时45分钟缩短至40.5分钟,诊断定界、故障定界能力、灰度发布效率、资源利用率有较大提升。
云原生应用转型是一项复杂的体系性工程,招行实践的技术创新和先进性主要体现在五个方面:“声明式”应用建模标准化云的能力供给范式、制定云原生应用管理“黄金路径”、技术遗产平滑过渡、模块化开放式架构可持续扩展、应用IAM安全体系。具体如下。
1. “声明式”应用建模,标准化云的能力与自动化能力供给范式。开放应用模型(Infrastructure as Code)为平台团队提供标准化的云能力供给范式。云建设者研究用户诉求,抽象封装云的能力,面向应用建模抽象进行标准化供给。
定义工作负载,抽象封装云的基础能力和实现细节;制定云能力使用规范并实现标准化;定义运维特性,抽象封装云和运维自动化的基础能力;分散的能力集中化、标准化。
2. 制定云原生应用管理“黄金路径”,端到端覆盖自动化能力。面向应用开发、运维人员,制定“应用创建到应用销毁”云原生应用管理全生命周期“黄金路径”。将标准化的自动化能力按阶段提供,实现:应用一键初始化;应用配置规约化;应用可灰度与弹性;运行状态可观测;故障可快速诊断定界;操作安全合规、可迁移。
3. 提供VMService满足虚拟化应用场景,完成技术遗产平滑过渡。使用云原生技术改造虚机工作负载,实现“容器化”虚机应用管理体验;兼顾非云原生技术栈,实现云原生转型平滑过渡。
4. “Kubernetes Operator”模块化开放式架构,实现系统可持续扩展。平台工程师通过Kubernetes Operator提供的自定义资源对象(CRD),描述开放应用模型(Infrastructure as Code)建模产生的工作负载和运维特性对象;实现匹配的controller控制器,模块化构建出“可持续扩展”的云原生应用管理平台;可在开源合规的前提下按需集成云原生社区开源项目,也可满足自主可控下的应用低感适配改造。
5. 应用IAM安全体系,保证最小控制权限管理。建立自研的“IAM”运维统一认证权限安全体系;为管理员、开发运维人员、审计人员提供系统、应用(业务)、微服务三层的权限模式;保障云应用的最小控制权限管理,降低系统安全风险,满足合规审计要求。
通过云原生应用管理体系建设及平台规模化实践,将招行云的能力标准化提供给开发者,降低了云的使用复杂性;将招行应用规范化管理,保障应用安全、合规使用,同时提升了应用大规模管理能力;为招行云上应用提供了便捷的诊断、可观测服务,提升云上应用排障速度、快速恢复业务保障能力。该项目的落地,支撑招行实现了标准化、规模化云原生应用管理转型,为同业在上云后进行云原生应用转型提供工程样本。
(此文刊发于《金融电子化》2025年3月上半月刊)