針對金融企業(yè)如何構(gòu)建云原生 PaaS 平臺,青云科技(qingcloud.com,股票代碼:688316)金融行業(yè)解決方案架構(gòu)師帶來了青云在 PaaS 建設中的一些思路與場景實踐分享。
金融企業(yè)為何需要 PaaS 平臺
作為金融企業(yè),為什么要建設 PaaS 平臺呢?
第一,快速響應客戶的業(yè)務需求:這其實是這些年很多客戶建設 PaaS 平臺的一個出發(fā)點。應用由原來跑在大機、物理機或者虛擬機之上,正逐漸面向互聯(lián)網(wǎng),對交付速度的要求越來越高?;?PaaS,而不是將開發(fā)資源劃分在底層基礎平臺框架上,更能滿足新興業(yè)務的需求。
第二,以標準化滿足業(yè)務系統(tǒng)的多樣組合:當業(yè)務系統(tǒng)上線時,這種規(guī)范可以把很多不同的組件通過不同的標準統(tǒng)一管理起來。
第三,提升開發(fā)和運維的效率,降低開發(fā)和運維的成本:因為金融更重要的是業(yè)務,IT 人員應該更關心業(yè)務代碼或是業(yè)務邏輯,而不是底層的基礎設施或是各種各樣的組件。
這就是金融企業(yè)需要建設 PaaS 平臺的三個重要原因。
企業(yè)如何實現(xiàn)云原生
邁向云原生的企業(yè)應該都正在經(jīng)歷或經(jīng)歷過以下過程,從傳統(tǒng)的單體應用到云化應用再到云原生應用,一個以資源為核心轉(zhuǎn)向以業(yè)務為核心的過程。
面向大規(guī)模業(yè)務集群的時候,企業(yè)逐漸開始采用云計算的管理手段,管理大量的虛擬機或是物理機。此時云化應用的彈性伸縮服務還是依靠虛擬機來實現(xiàn)的,相比容器而言,交付速度還是很慢的。在云原生階段為了快速發(fā)布應用,采用的是容器的方式。
云原生有四個主要要素:容器、微服務、DevOps、持續(xù)交付。在云原生以前的階段,剛才提到的傳統(tǒng)單體應用也好,云化應用也好,在發(fā)布業(yè)務時更多關注底層,但云原生時代更多的則是關心業(yè)務代碼和業(yè)務邏輯。
青云已全面布局云原生,提供端到端的云原生支撐能力,目前有 6 款產(chǎn)品在 CNCF 云原生全景圖里。其中,KubeSphere 容器平臺,依托于容器編排的實施標準 K8s 進行構(gòu)建的,支持異構(gòu)部署,不管是什么樣的底層基礎設施,企業(yè)都能夠構(gòu)建這一套云原生平臺。同時,KubeSphere 也支持多集群管理與異構(gòu)管理,具有向?qū)?UI。最大的優(yōu)勢是解決了原生 K8s 操作不易上手、體驗不足夠好、學習成本較高等問題。
KubeSphere 以插件化的方式把 DevOps、微服務以及持續(xù)交付的組件通過插件的方式集成進去。用戶可以把自己企業(yè)的開發(fā)工具、運維工具或是管理工具集成到 KubeSphere 平臺之上,青云構(gòu)建了應用市場,提供 PaaS 組件,像數(shù)據(jù)庫、中間件、低代碼開發(fā)工具、AI 算力工具等。
這是青云云原生解決方案的架構(gòu)圖,該解決方案依托企業(yè)級分布式多租戶容器平臺,底層更有一些異構(gòu)的基礎設施。企業(yè)關心的是,在構(gòu)建 PaaS 平臺時,是否需要改變數(shù)據(jù)中心現(xiàn)有的基礎設施?
答案肯定是不需要的,青云的容器平臺可以跑在任何的基礎設施上,無論物理裸機還是私有云、公有云。即使已經(jīng)使用托管容器集群的服務,企業(yè)同樣可以基于青云構(gòu)建 PaaS 平臺,實現(xiàn)存量 K8s 集群的全部納管。
除此之外,青云提供自有的 OpenELB 網(wǎng)絡插件,也適配主流的網(wǎng)絡插件。多租戶協(xié)作也很重要,比如銀行里有外包的開發(fā)運維人員,或者其他部門不同權(quán)限的人員,多租戶可以把開發(fā)、測試、運維通過不同的權(quán)限劃分隔離。DevOps、CI/CD、微服務、應用管理、可觀察性、安全等,青云全部以插件的方式提供出來,用戶可以根據(jù)自己的需要選擇,如果用戶有自己的開發(fā)管理工具,也可以作為插件進行集成。
建設云原生 PaaS 平臺的難點
建設 PaaS 平臺時可能會遇到一些困難:
第一,應用種類繁多。在建設 PaaS 時,除了像數(shù)據(jù)庫、中間件、大數(shù)據(jù)、AI、開發(fā)工具等應用外,其他應用的種類也非常多。沒有任何一個 PaaS 服務商可以承諾把所有應用組件都提供給企業(yè),所以這時候企業(yè)需要的是 PaaS 平臺能提供開放的接口與框架,可以讓第三方應用或是企業(yè)開發(fā)者接入平臺,以標準和規(guī)范支撐應用周期的管理、構(gòu)建自己需要的應用。
第二,應用節(jié)點變更、服務感知、集群伸縮性等,需要采用 DevOps 技術(shù)、容器技術(shù)。
青云現(xiàn)在給客戶提供的計算資源叫“雙棧”,滿足絕大多數(shù)的應用場景,支持全棧計算資源。DevOps 及微服務治理,同樣也支持虛擬機。
再說一個銀行業(yè)都關心的,青云將異構(gòu)服務器資源統(tǒng)一管理后,可以通過不同的架構(gòu)創(chuàng)建不同的集群,應用在交付和部署時也可以選擇性使用所需的架構(gòu)處理器,集群管理可以是基于 ARM 的,也可以是基于 x86 的。底層的業(yè)務集群,即 Member 集群,也可以根據(jù)需要創(chuàng)建多個集群,并且可以采用混合部署的方式。
DevOps 全流程應用交付與實踐
DevOps 將開發(fā)、測試、運維打通,解決傳統(tǒng)的割裂式問題。青云也在方案里整合了 DevOps 流水線的交付組件,讓開發(fā)者、測試人員以及最終上線的運維串聯(lián)起來。青云同樣可以支持灰度發(fā)布,開發(fā)者代碼提交、構(gòu)建,測試后發(fā)布到預生產(chǎn)環(huán)境,以準入準出審批節(jié)點保障審批通過后才能上線灰度發(fā)布,根據(jù)我們流量訪問請求的比例進行灰度控制,這些都是在解決方案里具備的能力。
某城商行信用卡中心也采用了青云這套 PaaS 平臺,解決此前遇到的一些問題。
一是不少業(yè)務模塊由外包商提供,盡管外包商在交付應用的時候,也是用容器的方式,但可能有各種各樣的版本,管理非?;靵y。PaaS 平臺的建設引入了統(tǒng)一標準,從“代碼倉庫-容器管理平臺-發(fā)布流程”都做成了標準化和規(guī)范化的。
二是上線的連續(xù)性更多采用傳統(tǒng)的手動替換,如 Jar 包或 War 包的方式,出現(xiàn)問題處理復雜。現(xiàn)在面向互聯(lián)網(wǎng)應用都是采用云計算的替換,出現(xiàn)問題,可以及時進行選擇性回滾。
三是安全性,外包人員在傳統(tǒng)操作時,難免有機會接觸生產(chǎn)環(huán)境,這就會存在一些未知的安全風險。青云解決方案將開發(fā)環(huán)境、預發(fā)布環(huán)境、生產(chǎn)環(huán)境全部容器化,統(tǒng)一管理,給不同人員分配不同權(quán)限,通過流水線的方式全部串連。中間的環(huán)節(jié)、不同的環(huán)境之間,加入準入準出的審批策略。上線到生產(chǎn)環(huán)境出現(xiàn)問題的話,還可以通過平臺發(fā)布的版本號回滾。這是 DevOps 里非常典型的場景,青云通過解決方案整體打包,統(tǒng)一提供 DevOps、灰度發(fā)布。
全視角應用監(jiān)控讓追溯更清晰
監(jiān)控是整個應用上線后的關鍵環(huán)節(jié),青云也提供了全視角應用監(jiān)控的方案。
針對應用的監(jiān)控。青云提供類似于 API 的應用追蹤方式,監(jiān)控各個業(yè)務板塊之間的調(diào)用情況,以快速排查問題。即用戶可以看到每個環(huán)節(jié)、每個業(yè)務模塊和業(yè)務模塊之間調(diào)用的情況,快速排查和定位問題。
針對底層資源的監(jiān)控。比如異常 CPU、異常內(nèi)存,用戶可以定義快速的報警策略,整個監(jiān)控平臺是基于 Prometheus 開源組件做的,如果已有成熟的監(jiān)控,青云也支持對接。
日志也非常重要。剛才北京銀行的專家分享到他們用到 EFK,青云平臺也深度集成了 EFK 組件來做日志的實時處理。用戶可以通過項目、業(yè)務和租戶等不同視角查看,也可以通過網(wǎng)絡字段查詢。因為很多銀行都有自己的日志中心,用戶也可以把日志放在日志中心里。
審計功能。比如針對錯誤操作造成的業(yè)務不可用,我們可以通過審計的方式進行規(guī)避或者追責。
應用商店提供豐富功能
應用商店是青云 PaaS 平臺里的一個核心功能。這個應用商店最早源于青云公有云 AppCenter——為第三方開發(fā)者提供的開發(fā)框架。第三方應用可以快速基于這個框架云化應用,同時也支持計量計費、邊緣管理的能力,第三方直接把應用放在青云云市場里做商業(yè)化運營即可。后來青云把 AppCenter 剝離為單獨的組件,也放在 KubeSphere 容器云平臺上。
銀行做 PaaS 更多是想把應用規(guī)范化,青云平臺已經(jīng)形成很多規(guī)范標準,比如組件的版本號、組件的關鍵配置項要求、針對安全指標的要求,已經(jīng)進行了抽離,通過應用商店做全生命周期的管理,從創(chuàng)建-測試-上架-下架-統(tǒng)計-配置集中管控,這些都可以由應用商店來完成,解決了應用的規(guī)范化、快速交付的問題。
這是青云應用商店的界面。用戶可以根據(jù)需求自己做應用分類。青云平臺提供了一些應用,同時支持售后服務、技術(shù)支持等。這些 PaaS 組件是用容器的方式來做的,支持應用的快速部署,支持多集群管理,并且支持一鍵快速分發(fā)。
典型的場景是通過多數(shù)據(jù)中心分發(fā)的方式來做災備或是多活。用戶選擇一個應用,可以把這個應用分發(fā)到多個數(shù)據(jù)中心,也可以分發(fā)到異構(gòu)環(huán)境里,像公有云、托管云、私有云、裸金屬,通過智能判斷自動選擇存活集群,達到集群容災的目的。
青云在某股份制銀行里也部署了特色的業(yè)務容器平臺,主要面向電視銀行、互聯(lián)網(wǎng)繳費等場景,現(xiàn)在的創(chuàng)新型業(yè)務種類大概有幾十個。這些業(yè)務通過 PaaS 平臺,以歸類的方式做成模塊。當要上線一個業(yè)務系統(tǒng),銀行可以通過堆積木的方式進行開發(fā),需要什么組件,就在平臺里找,再進行整合;有效解決了應用組件使用的復雜性、降低了自動化運維壓力。青云 PaaS 平臺的最大價值并不是搭了一個平臺,而是讓 IT 團隊更多聚焦業(yè)務,自動化運維、智能化運維等能力都是由平臺自身提供的,開發(fā)業(yè)務人員根本不需要關心這些東西。
云 原生時代為什么需要青云 PaaS 平臺
第一,應用的統(tǒng)一調(diào)度管理。之前在虛擬機上部署,是操作系統(tǒng)的維度,采用容器化的方式,變成應用的維度,每個容器組或是單個容器就是一個應用。
第二,實現(xiàn)應用的標準化。通過統(tǒng)一的平臺框架,用戶可以形成業(yè)務規(guī)范。
第三,提升基礎設施的管理水平和有效利用率。
第四,加速應用系統(tǒng)的交付速度?,F(xiàn)在銀行業(yè)務面向互聯(lián)網(wǎng)化的要求非常高,基于容器本身已經(jīng)能非常大地提升交付速度,青云通過流水線把不同的人員組織串連,加上各種流程,基本上開發(fā)就能完全自動化了,應用交付就變成自動化的方式。代碼提交后可以迅速進行上線,業(yè)務版本能實現(xiàn)一天更新兩次或是一周多次更新。
第五,開發(fā)路徑的統(tǒng)一和質(zhì)量的提升。青云 PaaS 平臺底層依賴的開發(fā)工具、運維工具、安全控制工具,都被規(guī)范化,形成的標準可以保證技術(shù)路徑的一致性,不像以前很多ISV廠商做應用,各有自己一套東西,讓整個環(huán)境變得非常復雜,運維難度極大。
第六,助力微服務架構(gòu)。青云以產(chǎn)品化方式深度集成 Istio 微服務架構(gòu)方案,同時提供插件的方式集成不同的微服務套件。
第七,提升自動化運維水平。
第八,滿足災備和多活的應用場景。通過青云 PaaS 平臺的多集群管理,用戶能夠快速通過應用商店跨數(shù)據(jù)中心發(fā)布業(yè)務,實現(xiàn)多活災備。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!