金融企业云原生 PaaS 平台建设思路与实践
在城商行 PaaS 平台建设研讨会上,青云科技金融行业解决方案架构师受邀分享,作为云原生技术的引领者,青云在 PaaS 建设中的一些思路与场景实践。
以下为分享原文,经整理——
青云科技正在全面发力云原生,比如 KubeSphere 开源容器平台,在国内外都有很高的关注度,同时在金融领域也做了很多标杆案例。
金融企业为何需要 PaaS 平台
作为金融企业,为什么要建设 PaaS 平台呢?
第一,快速响应客户的业务需求:这其实是这些年很多客户建设 PaaS 平台的一个出发点。应用由原来跑在大机、物理机或者虚拟机之上,正逐渐面向互联网,对交付速度的要求越来越高。基于 PaaS,而不是将开发资源划分在底层基础平台框架上,更能满足新兴业务的需求。
第二,以标准化满足业务系统的多样组合:当业务系统上线时,这种规范可以把很多不同的组件通过不同的标准统一管理起来。
第三,提升开发和运维的效率,降低开发和运维的成本:因为金融更重要的是业务,IT 人员应该更关心业务代码或是业务逻辑,而不是底层的基础设施或是各种各样的组件。
这就是金融企业需要建设 PaaS 平台的三个重要原因。
企业如何实现云原生
迈向云原生的企业应该都正在经历或经历过以下过程,从传统的单体应用到云化应用再到云原生应用,一个以资源为核心转向以业务为核心的过程。
面向大规模业务集群的时候,企业逐渐开始采用云计算的管理手段,管理大量的虚拟机或是物理机。此时云化应用的弹性伸缩服务还是依靠虚拟机来实现的,相比容器而言,交付速度还是很慢的。在云原生阶段为了快速发布应用,采用的是容器的方式。
云原生有四个主要要素:容器、微服务、DevOps、持续交付。在云原生以前的阶段,刚才提到的传统单体应用也好,云化应用也好,在发布业务时更多关注底层,但云原生时代更多的则是关心业务代码和业务逻辑。
青云已全面布局云原生,提供端到端的云原生支撑能力,目前有 6 款产品在 CNCF 云原生全景图里。其中,KubeSphere 容器平台,依托于容器编排的实施标准 K8s 进行构建的,支持异构部署,不管是什么样的底层基础设施,企业都能够构建这一套云原生平台。同时,KubeSphere 也支持多集群管理与异构管理,具有向导式 UI。最大的优势是解决了原生 K8s 操作不易上手、体验不足够好、学习成本较高等问题。
KubeSphere 以插件化的方式把 DevOps、微服务以及持续交付的组件通过插件的方式集成进去。用户可以把自己企业的开发工具、运维工具或是管理工具集成到 KubeSphere 平台之上,青云构建了应用市场,提供 PaaS 组件,像数据库、中间件、低代码开发工具、AI 算力工具等。
这是青云云原生解决方案的架构图,该解决方案依托企业级分布式多租户容器平台,底层更有一些异构的基础设施。企业关心的是,在构建 PaaS 平台时,是否需要改变数据中心现有的基础设施?
答案肯定是不需要的,青云的容器平台可以跑在任何的基础设施上,无论物理裸机还是私有云、公有云。即使已经使用托管容器集群的服务,企业同样可以基于青云构建 PaaS 平台,实现存量 K8s 集群的全部纳管。
除此之外,青云提供自有的 OpenELB 网络插件,也适配主流的网络插件。多租户协作也很重要,比如银行里有外包的开发运维人员,或者其他部门不同权限的人员,多租户可以把开发、测试、运维通过不同的权限划分隔离。DevOps、CI/CD、微服务、应用管理、可观察性、安全等,青云全部以插件的方式提供出来,用户可以根据自己的需要选择,如果用户有自己的开发管理工具,也可以作为插件进行集成。
建设云原生 PaaS 平台的难点
建设 PaaS 平台时可能会遇到一些困难:
第一,应用种类繁多。在建设 PaaS 时,除了像数据库、中间件、大数据、AI、开发工具等应用外,其他应用的种类也非常多。没有任何一个 PaaS 服务商可以承诺把所有应用组件都提供给企业,所以这时候企业需要的是 PaaS 平台能提供开放的接口与框架,可以让第三方应用或是企业开发者接入平台,以标准和规范支撑应用周期的管理、构建自己需要的应用。
第二,应用节点变更、服务感知、集群伸缩性等,需要采用 DevOps 技术、容器技术。
青云现在给客户提供的计算资源叫“双栈”,满足绝大多数的应用场景,支持全栈计算资源。DevOps 及微服务治理,同样也支持虚拟机。
再说一个银行业都关心的,青云将异构服务器资源统一管理后,可以通过不同的架构创建不同的集群,应用在交付和部署时也可以选择性使用所需的架构处理器,集群管理可以是基于 ARM 的,也可以是基于 x86 的。底层的业务集群,即 Member 集群,也可以根据需要创建多个集群,并且可以采用混合部署的方式。
DevOps 全流程应用交付与实践
DevOps 将开发、测试、运维打通,解决传统的割裂式问题。青云也在方案里整合了 DevOps 流水线的交付组件,让开发者、测试人员以及最终上线的运维串联起来。青云同样可以支持灰度发布,开发者代码提交、构建,测试后发布到预生产环境,以准入准出审批节点保障审批通过后才能上线灰度发布,根据我们流量访问请求的比例进行灰度控制,这些都是在解决方案里具备的能力。
某城商行信用卡中心也采用了青云这套 PaaS 平台,解决此前遇到的一些问题。
一是不少业务模块由外包商提供,尽管外包商在交付应用的时候,也是用容器的方式,但可能有各种各样的版本,管理非常混乱。PaaS 平台的建设引入了统一标准,从“代码仓库-容器管理平台-发布流程”都做成了标准化和规范化的。
二是上线的连续性更多采用传统的手动替换,如 Jar 包或 War 包的方式,出现问题处理复杂。现在面向互联网应用都是采用云计算的替换,出现问题,可以及时进行选择性回滚。
三是安全性,外包人员在传统操作时,难免有机会接触生产环境,这就会存在一些未知的安全风险。青云解决方案将开发环境、预发布环境、生产环境全部容器化,统一管理,给不同人员分配不同权限,通过流水线的方式全部串连。中间的环节、不同的环境之间,加入准入准出的审批策略。上线到生产环境出现问题的话,还可以通过平台发布的版本号回滚。这是 DevOps 里非常典型的场景,青云通过解决方案整体打包,统一提供 DevOps、灰度发布。
全视角应用监控让追溯更清晰
监控是整个应用上线后的关键环节,青云也提供了全视角应用监控的方案。
针对应用的监控。青云提供类似于 API 的应用追踪方式,监控各个业务板块之间的调用情况,以快速排查问题。即用户可以看到每个环节、每个业务模块和业务模块之间调用的情况,快速排查和定位问题。
针对底层资源的监控。比如异常 CPU、异常内存,用户可以定义快速的报警策略,整个监控平台是基于 Prometheus 开源组件做的,如果已有成熟的监控,青云也支持对接。
日志也非常重要。刚才北京银行的专家分享到他们用到 EFK,青云平台也深度集成了 EFK 组件来做日志的实时处理。用户可以通过项目、业务和租户等不同视角查看,也可以通过网络字段查询。因为很多银行都有自己的日志中心,用户也可以把日志放在日志中心里。
审计功能。比如针对错误操作造成的业务不可用,我们可以通过审计的方式进行规避或者追责。
应用商店提供丰富功能
应用商店是青云 PaaS 平台里的一个核心功能。这个应用商店最早源于青云公有云 AppCenter——为第三方开发者提供的开发框架。第三方应用可以快速基于这个框架云化应用,同时也支持计量计费、边缘管理的能力,第三方直接把应用放在青云云市场里做商业化运营即可。后来青云把 AppCenter 剥离为单独的组件,也放在 KubeSphere 容器云平台上。
银行做 PaaS 更多是想把应用规范化,青云平台已经形成很多规范标准,比如组件的版本号、组件的关键配置项要求、针对安全指标的要求,已经进行了抽离,通过应用商店做全生命周期的管理,从创建-测试-上架-下架-统计-配置集中管控,这些都可以由应用商店来完成,解决了应用的规范化、快速交付的问题。
这是青云应用商店的界面。用户可以根据需求自己做应用分类。青云平台提供了一些应用,同时支持售后服务、技术支持等。这些 PaaS 组件是用容器的方式来做的,支持应用的快速部署,支持多集群管理,并且支持一键快速分发。
典型的场景是通过多数据中心分发的方式来做灾备或是多活。用户选择一个应用,可以把这个应用分发到多个数据中心,也可以分发到异构环境里,像公有云、托管云、私有云、裸金属,通过智能判断自动选择存活集群,达到集群容灾的目的。
青云在某股份制银行里也部署了特色的业务容器平台,主要面向电视银行、互联网缴费等场景,现在的创新型业务种类大概有几十个。这些业务通过 PaaS 平台,以归类的方式做成模块。当要上线一个业务系统,银行可以通过堆积木的方式进行开发,需要什么组件,就在平台里找,再进行整合;有效解决了应用组件使用的复杂性、降低了自动化运维压力。青云 PaaS 平台的最大价值并不是搭了一个平台,而是让 IT 团队更多聚焦业务,自动化运维、智能化运维等能力都是由平台自身提供的,开发业务人员根本不需要关心这些东西。
云原生时代为什么需要青云 PaaS 平台
第一,应用的统一调度管理。之前在虚拟机上部署,是操作系统的维度,采用容器化的方式,变成应用的维度,每个容器组或是单个容器就是一个应用。
第二,实现应用的标准化。通过统一的平台框架,用户可以形成业务规范。
第三,提升基础设施的管理水平和有效利用率。
第四,加速应用系统的交付速度。现在银行业务面向互联网化的要求非常高,基于容器本身已经能非常大地提升交付速度,青云通过流水线把不同的人员组织串连,加上各种流程,基本上开发就能完全自动化了,应用交付就变成自动化的方式。代码提交后可以迅速进行上线,业务版本能实现一天更新两次或是一周多次更新。
第五,开发路径的统一和质量的提升。青云 PaaS 平台底层依赖的开发工具、运维工具、安全控制工具,都被规范化,形成的标准可以保证技术路径的一致性,不像以前很多ISV厂商做应用,各有自己一套东西,让整个环境变得非常复杂,运维难度极大。
第六,助力微服务架构。青云以产品化方式深度集成 Istio 微服务架构方案,同时提供插件的方式集成不同的微服务套件。
第七,提升自动化运维水平。
第八,满足灾备和多活的应用场景。通过青云 PaaS 平台的多集群管理,用户能够快速通过应用商店跨数据中心发布业务,实现多活灾备。
- FIN -
戳下方二维码
领音视频 RTC 新手大礼包!
立即试用 QingCloud KubeSphere