金融行业容器平台落地路径:敏捷响应业务更迭
在演讲中,盛延敏重点阐述了蚂蚁金服容器平台的双模容器落地路径及其带来的金融级云原生物能服务,并详细探讨了其在严峻应用场景下的验证过程。他从技术能力支撑、应用实践保障与场景应对能力提升三个方面进行了深入分享

盛延敏 蚂蚁金服高级技术专家
基础设施架构变革 正彻底改变业务应用的交付模式
首先回顾软件行业交付模式的历史演变进程。就"交付模式"而言,在早期阶段,则主要关注于IaaS级别的技术发展与应用落地。这一阶段中所涉及的核心对象主要是虚拟机(包括应用以及分布式中间件),这些内容基本上都是基于虚拟机进行构建与运维管理的。随着技术的不断演进,在应用无状态化以及运维自动化的基础上实现技术升级优化后的新时代即将到来。在这个新时代中,"中心上移"至PaaS领域成为必然趋势,此时的应用开发者则将注意力集中在他们自行构建的应用上,我们将其定义为Cloud-Ready时代.在此时代背景下,无论是分布式应用环境的选择,还是语言环境以及运维监控等多方面因素,都实现了标准化统一托管至PaaS平台.进入Cloud-Ready时代后,为了支持多语言环境下的开发与运行需求,必须建立相应的语言框架规范化体系,例如buildpack这一解决方案.等到2013年左右,Docker公司凭借其对cgroup与namespace等底层技术的高度产品化实现,创新性地提出了Docker image的技术范式.这一创新使得应用程序与其所依赖的语言环境和技术架构之间形成了高度耦合的关系.至此,软件交付进入了CaaS(云原生)时代.在这个新时代下,"中间件"与"微服务"架构也完全可以采用云原生的方式来实现其功能开发.这种转变带来了架构设计效率的极大提升以及运维体验的根本性优化

基于容器技术的“云原生”已成为事实标准
一直以来, container technology 是以其"集装箱化"方式进行交付而闻名于世. 它通过将软件与产品整合打包成标准化的镜像, 实现了将软件成功地运往任何地点并适应各种环境, 并通过一键启动即可完成部署. 现在, 在技术社区、开发者以及云服务提供商等多个领域, 人们都在积极采纳并倡导基于容器技术的"云原生"时代.

CNCF云原生计算基金会在2018年的调查显示,“云原生生产环境应用数量实现了200%的增长”,同时,“关注度与评估量均呈现了近3倍的增长”。各组织的关注重点各有不同,但均聚焦于技术可用性和生产效率的提升。以Kubernetes和Docker为代表的云原生技术的关注度在下图中也呈现出显著的趋势。

当我们谈到" cloud native"时,人们自然会产生疑问:究竟什么是" cloud native"?是Kubernetes吗?或者是Docker?又或者说是OCR的标准?CNCF组织给" cloud native"定义了一套标准,而这套标准也在不断实践和打磨,在2018年他们也推出了一个新版本,主要包括了五种技术基石和三种cloud形态支持。这五个核心技术要素具体包括容器化处理体系,基于服务网络的架构设计,微服务架构模式,不可变基础设施支撑方案以及声明式API的应用。而其three main cloud morphologies涵盖公共cloud平台(Public Cloud) ,混合cloud环境(Hybrid Cloud) 以及专用云计算体系(Private Cloud) 。

在云原生时代背景下,在这里强调的是声明式API这一核心概念及其重要性。相较于过去年代,在该时代中无论是进行运维工作还是发布新服务时的做法都发生了显著转变:过去的做法通常是通过发送指令来触发事件运行或终止某个服务;而在云原生时代下,则是以声明式API的方式进行操作:即明确希望一个服务处于运行状态或是停止状态,并且这种做法体现了最终统一的目标。这种设计理念与微积分中对无限接近概念的描述具有相似之处,并且正是基于这样的理念设计出了Kubernetes编排模块:进而帮助运维人员实现对服务状态的有效控制,在这一过程中区别于传统运维方式的核心特征就在于此。
在长期的实践中积累的经验表明:云原生动态展现了巨大的潜力;然而其转型进程具有显著复杂性,在现有系统的基础设施存在多重历史欠债的情况下无法一下子实现全面迁移;因此必须建立覆盖全业务范围、具备金融级安全认证能力的支持团队;随后还需通过在各类金融业务场景下进行全面模拟与实际验证才能确保方案的有效落地并最终满足技术与产品交付需求

渐进式云原生架构转型方案
传统架构迁移至公有云架构会遇到一系列普遍性问题;与此同时许多开发者与运维人员心中存有疑虑与不解。第一种理念即是对原有虚拟机模式深恶痛绝始终将其作为工作的中心一切操作均围绕虚拟机展开例如可以通过机器查看日志信息并实时跟踪机器的IP地址变化等操作;此外还包括通过这种方式实现了旧有资产系统的整合工作。第二种理念则是尽管对公有云架构有着很高的认可度但仍希望继续发挥自身的优势在实际应用中往往难以应对各种变更情况;因为公有云基于持续一致的理念意味着其在任何时刻都在进行着流程变更;而这种持续的变化若想被现有运维体系完全掌控与监控则面临诸多挑战;此外调度机制的相关问题也可能无法得到彻底解决这可能导致开发与运维人员对其产生不信任感甚至排斥心理;第三种观点则是愿意尝试拥抱公有云技术但在实施过程中仍需权衡现有系统架构与业务模式之间的关系寻求能够在传统模式与公有云架构之间找到一种折中的解决方案

蚂蚁金服给出的答案是肯定的。蚂蚁集团提供了一套基于已有基础设施上的渐进式架构迁移方案,并构建了一整套基于Docker VM轻量级虚拟机的标准运维体系;同时为云原生环境提供了发布、部署及运维的标准流程;前者实现了现有资产与系统监控与运维功能的有效对接;此外集团还将其中间件的最佳实践应用到了大规模容器云平台之上;并支持弹性扩展需求;最终实现了对公有云、专有云及混合云环境的良好适配

传统与云原生架构的双模运维
该组织内的各项业务主要可分为稳态与敏态两大类。其中稳态业务属于传统核心领域,在维持原有稳定性和兼容现有运维监控发布体系的同时提供支持服务。蚂蚁金融行业容器平台为此提供了轻量级虚拟机解决方案,并融合了分组方案灰度推送机制以及无损发布能力等特性以满足需求。而部分创新性较强的业务则被归类为敏态类别,在这一类型中各参与方需依赖大数据分析与人工智能技术实现创新突破从而推动整体发展进程。基于云原生理念的优势能够帮助相关企业快速适应这种转变并利用安全容器技术实现更有效的安全隔离管理从而在保障企业运营的同时实现了传统与创新两类事务的同步推进。

原生支持Service Mesh
任何组织打造像蚂蚁金服这样的微服务架构体系都需要巨大的智慧与坚持。如今开发组织可以通过对接SOFA Mesh,并在透明Pod内嵌入Sidecar组件的方式快速获取蚂蚁金服沉淀的技术红利。借助蚂蚁金服分布式单元化架构企业将能够构建强大的容灾保护能力

混合云架构
此外, 蚂蚁金服还推出了混合云架构方案, 其基础架构基于容器化技术, 因此能够与物理服务器以及主流的虚拟化平台如 OpenStack、VMWare 等无缝集成。无论是云端还是云端以下的环境, 在服务可用性和稳定性方面均提供了一致性设计的一套分布式中间件系统, 通过预先定义的服务目录功能, 在配置阶段完成对所需服务的动态注入设置, 从而实现了在公有云与私有 clouds 之间灵活而高效的负载调配策略。在促销活动启动期间,则会将系统负载最大限度地转移至公共 cloud 平台上, 而促销活动结束后又会将相关资源释放回公共 cloud 资源池中, 这样就能够从根本上解决企业在运营过程中面临的资源弹性管理难题

大规模金融级运维能力支撑
该整套体系要想成功落地,则必须依赖于强大的金融级运维能力作为支撑。
从以下四个方面展开阐述:首先是对大规模集群运行进行优化;其次是对模块化发布流程进行完善;然后是建立统一化的监控与分析机制;最后则是构建自动化的流程配置与调度方案。

针对大规模集群运维能力的问题,在管理一套Kubernetes集群方面同样面临着巨大挑战,在生产环境里同时运维和管理多套Kubernetes集群更是极其困难的事情。通过技术探索与创新性研究,在此背景下蚂蚁金服提出了一种创新性的解决方案——即K8S on K8S(KOK)体系框架。该方案的核心设计基于元架构理念:在该架构下构建了独立于业务应用的核心支持系统——元集群,并将其部署至生产环境;元集群的主要职责是负责运维业务应用所依赖的业务集群;为了保证系统的稳定性和可靠性,在设计过程中特别注重避免对组件进行频繁升级;在完成元架构的基础之上构建了完整的功能模块体系——即 Machine Operator 和 Cluster Operator 两个关键组件;其中 Master 节点将作为元架构中的 Worker 部署至主系统中参与统一管理和监控;这种设计使得业务应用的所有中控功能能够直接接入到主系统监控界面并实现无缝对接;同时通过结合Kubernetes自身的扩展能力实现了多套集群的有效管理和统一调度

实现了对运维能力的单元化发布;蚂蚁容器平台提供了VM与容器双模式的发布支持,在单元化发布的模式下此特性将得到体现。该平台能够轻松应对万级规模节点的蓝绿机房部署及灰度部署,并具备快速容灾的能力。同时支持蓝绿迁移以及弹性伸缩策略。动态弹性伸缩功能模块位于系统右侧,在实时监控到告警信息后会自动启动响应机制以优化资源配置。这种机制将确保对外服务的所有实例及其副本数量始终保持稳定状态。

综合化监控整合方案;针对任何大型容器平台或PaaS系统而言,在线监控体系往往具备着敏锐的技术感知能力。通过建立专业的整合型监控平台系统,在线收集各类运行数据并经由后端系统完成统一处理与模型构建,在经过全面整合处理后将整合后的数据以直观的大盘展示形式呈现出来,并可为业务部门提供定制化的数据分析服务需求。该系统致力于践行'共性共存 众善备份'的发展理念,在现有基础之上支持多种开源技术生态的同时持续为开源社区贡献力量

自动化流程配置;如图左侧所示的是自动化流程配置的一个案例,该方案提供了系列基于条件驱动的模块设计能力,在这一基础上设计出多种模板后,则能够帮助用户实现快速生成标准化的操作规范文档,并将这些规范文档整合到企业内部的知识库中进行存储与共享。右侧部分则展示了两个具体的案例:一个是针对网商银行故障自愈场景的应用实例;另一个是针对蚂蚁国际运维服务全自动化场景的具体方案。

严苛金融业务场景实际验证
下图呈现网商银行基于Kubernetes的实践案例。网商银行成为国内首家核心系统全部运行在SOFA Stack分布式架构和蚂蚁金融云上的商业银行。在2018年的大促期间,该行开展了包括分布式架构数据拆分、单元化处理以及异地高可用性等技术实践,同时对底层技术架构进行了全面升级,将双十一大促期间的核心工作负载部署到容器引擎上,支持成千上万节点和数万个Pod运行,有效保障了活动期间的增长达到400%。此次容器引擎带来的技术红利体现在两方面:一方面通过高密度部署提升了物理机房资源利用率;另一方面实现了任务调度弹性配置,进一步提升了CPU利用率;此外还显著提升了整体效率,从传统的软件包交付模式转向基于集装箱化的服务交付模式,既提高了开发者的工作效率也优化了运维团队的工作流程

如今蚂蚁金服推出了一整套基于Ant Stack的产品在这些产品之上构建了多种功能场景包括大家耳熟能详的风控系统生物识别移动开发以及国际化业务和跨境支付服务全部依托于容器引擎的技术架构可以说蚂蚁金服通过整合金融决策与分析能力打造了一整套服务于合作伙伴的产品体系目前公司已将核心容器引擎技术实现了产品化并以公有云服务的方式为企业客户提供了专业的技术支持通过持续集成与流水线部署的强大能力结合高效资源调度系统最终为用户提供了一个全面的PaaS平台
如今蚂蚁金服推出了一整套基于Ant Stack的产品在这些产品之上构建了多种功能场景包括大家耳熟能详的风控系统生物识别移动开发以及国际化业务和跨境支付服务全部依托于容器引擎的技术架构可以说蚂蚁金服通过整合金融决策与分析能力打造了一整套服务于合作伙伴的产品体系目前公司已将核心容器引擎技术实现了产品化并以公有云服务的方式为企业客户提供了专业的技术支持通过持续集成与流水线部署的强大能力结合高效资源调度系统最终为用户提供了一个全面的PaaS平台

如下图所示呈现了蚂蚁SOFA Stack所提供的PaaS产品和服务全景图。该全景图包含两个主要的标准体系、三个功能平台以及三种形态结构。第一个核心理念在于消除不同云服务提供商之间的技术差异,在此框架下实现了虚拟化资源的有效对接,并通过隔离底层基础设施的技术手段实现跨平台兼容性。第二个关键标准是开放服务中间人API的标准,在这一核心框架下实现了对计算能力、存储能力和网络能力的全面整合与开放共享,在保障系统灵活性的同时显著提升了PaaS平台的服务能力上限。应用层与容器化技术集成平台作为其中一个功能模块,则聚焦于提供基于容器化架构的应用开发支持;而监控分析平台则具备全面监控与性能分析能力;最后一个是容灾应急平台模块,则涵盖了公有云服务(Public Cloud)、私有云服务(Private Cloud)以及混合云策略(Hybrid Cloud Strategy)。最顶层则是针对不同应用场景定制化的解决方案集合,在此层次上不仅包含了DevOps解决方案这一传统模式下的工作流优化方案;还提供了基于容器化架构的服务标准化建设方案;同时聚焦于单元化部署模式下的系统管理优化方案;最后还包括异地灾备与同城应急响应两种不同的容灾策略选择方案,并根据具体业务需求提供了相应的自动化流程设计支持

关键信息总结
双重模式实现路径;本文所分享的主要内容包括了蚂蚁金服提供的金融行业容器平台的能力。该平台旨在帮助企业和组织降低云原生物业转型的门槛,并从传统运维模式逐步向云原生架构迈进。蚂蚁金服通过这一平台为企业提供了双重模式支持能力,在既能兼容现有系统架构的同时又能满足面向未来的用户体验需求。
关键的云原生物能;蚂蚁金服通过提供大规模的金融级运维能力支持;帮助企业构建并实现金融级云原生能力;使其能够在实际中应用起来;为金融机构提供更高的安全性和稳定性保障;并带来显著的价值提升。
严格的场景测试; 在从产品到核心平台这一系列环节上进行严格考察后(涵盖网商银行及支付宝等在内的蚂蚁金服生态体系),系统方才会最终确认并交付给客户与合作伙伴使用。

点击阅读更多,查看更多详情
