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