林峰LIN Feng
(中國(guó)電信股份有限公司福州分公司,福州350001)
未來(lái)五年是5G 和云的五年,中國(guó)電信集團(tuán)適時(shí)啟動(dòng)了云改戰(zhàn)略,以云改為抓手,深入推進(jìn)云網(wǎng)融合。IT 系統(tǒng)全面上云是中國(guó)電信云改重要組成部分,是用數(shù)和賦智基礎(chǔ)。為全面開展、扎實(shí)推進(jìn)系統(tǒng)上云工作,中國(guó)電信提出了IT全面上云的策略,新建系統(tǒng)100%上云,存量系統(tǒng)三年上云,2020年啟動(dòng)上云工作,2021年推進(jìn)規(guī)模上云,2022年實(shí)現(xiàn)全面上云,實(shí)現(xiàn)IT 系統(tǒng)全面上云,并掌控核心上云能力。
云原生應(yīng)用是當(dāng)前互聯(lián)網(wǎng)化需求與IT 基礎(chǔ)技術(shù)高速發(fā)展相結(jié)合的產(chǎn)物。未來(lái)的企業(yè)將更強(qiáng)調(diào)個(gè)性化發(fā)展。而這種應(yīng)用需求的改變,帶來(lái)的最直接結(jié)果就是IT 基礎(chǔ)設(shè)施的調(diào)整,IT 系統(tǒng)支撐能力是否足夠敏捷,這就是云原生存在的重要價(jià)值,也是最需要解決的問(wèn)題。
云原生技術(shù)幫助企業(yè)和機(jī)構(gòu)在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用。云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施和聲明式API。這些技術(shù)能夠構(gòu)建容錯(cuò)性好、易于管理和便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動(dòng)化手段,以Kubernetes 平臺(tái)為核心的云原生技術(shù)越來(lái)越成為IT 系統(tǒng)上云的重要技術(shù)手段。在企業(yè)上云后,構(gòu)建全新云化架構(gòu)的研發(fā)、實(shí)施、運(yùn)維全生命周期,打造適合在云上運(yùn)行的云化架構(gòu)新應(yīng)用,解決傳統(tǒng)架構(gòu)下企業(yè)信息化的痛點(diǎn),業(yè)務(wù)交付周期長(zhǎng)、研發(fā)質(zhì)量管理混亂、實(shí)施運(yùn)維效率低下、IT系統(tǒng)成為業(yè)務(wù)瓶頸、IT 系統(tǒng)架構(gòu)缺乏彈性、缺乏可靠性依賴應(yīng)用設(shè)計(jì)。構(gòu)建云原生PaaS 平臺(tái),對(duì)資源與用戶進(jìn)行統(tǒng)一納管的需求越來(lái)越強(qiáng)烈,將是下一個(gè)業(yè)務(wù)爆發(fā)點(diǎn)。
IT 系統(tǒng)上云一定不是簡(jiǎn)單的產(chǎn)品或者云遷移動(dòng)作,是一個(gè)分階段實(shí)施的全面規(guī)劃,使得IT 系統(tǒng)架構(gòu)全面云化,充分發(fā)揮云計(jì)算的優(yōu)勢(shì)??砂床煌到y(tǒng)和需求分階段實(shí)現(xiàn)。
①基礎(chǔ)設(shè)施的虛擬化,遵循遏增量,遷存量,充分利舊的原則,先實(shí)現(xiàn)系統(tǒng)初步遷移上云。
②IT 架構(gòu)的云化,通過(guò)“應(yīng)用+平臺(tái)”的設(shè)計(jì)理念進(jìn)行IT 云改,引入PaaS 平臺(tái)能力層,同時(shí)平臺(tái)實(shí)現(xiàn)以PaaS 組件(中間件)為管理單元,通過(guò)細(xì)分角色,集中解決多租戶資源隔離、組件接入流程管理、組件配置中心等關(guān)鍵問(wèn)題。
③打造云原生應(yīng)用,實(shí)現(xiàn)“精細(xì)化服務(wù)”“即時(shí)服務(wù)”“按需服務(wù)”等關(guān)鍵能力。構(gòu)建全新云化架構(gòu)的研發(fā)、實(shí)施、運(yùn)維全生命周期,打造適合在云上運(yùn)行的云化架構(gòu)新應(yīng)用。
基礎(chǔ)架構(gòu)的演變可以說(shuō)伴隨著時(shí)代的變遷,從基礎(chǔ)架構(gòu)、服務(wù)器,到虛擬化,再到IaaS、PaaS,這其中基礎(chǔ)架構(gòu)的演進(jìn)是越來(lái)越靈活、低成本、維護(hù)簡(jiǎn)便、易獲取。云原生PaaS 平臺(tái)架構(gòu)是在這路線上,基于微服務(wù)、DevOps、持續(xù)交付、容器化等技術(shù)繼續(xù)演進(jìn)。
基于生態(tài)完善的云原生平臺(tái),可以實(shí)現(xiàn)多租戶、自動(dòng)化、自服務(wù)、動(dòng)態(tài)彈性、云資源有效管控的統(tǒng)一云門戶,并支撐DevOps 開發(fā)運(yùn)營(yíng)一體化的落地實(shí)施,幫助企業(yè)簡(jiǎn)化部署、監(jiān)控、運(yùn)維等應(yīng)用生命周期管理工作,打造一站式企業(yè)級(jí)PaaS 運(yùn)行環(huán)境,實(shí)現(xiàn)“精細(xì)化服務(wù)”、“即時(shí)服務(wù)”、“按需服務(wù)”等關(guān)鍵能力。
基于容器技術(shù)打造云原生PaaS 平臺(tái),為企業(yè)信息化上云提供PaaS 能力,結(jié)合DEVOPS 流程和工具,提供符合系統(tǒng)上云的云原生一體化解決方案。云原生PaaS 平臺(tái)架構(gòu)如圖1。
①微服務(wù)研發(fā)框架,基于系統(tǒng)模塊之間低耦合+高內(nèi)聚的軟件研發(fā)模式,將單一應(yīng)用程序劃分成一組小的應(yīng)用服務(wù),應(yīng)用服務(wù)之間相互協(xié)調(diào)、互相配合。每個(gè)應(yīng)用服務(wù)是基于Restful API 的接口進(jìn)行通信,并且可以被獨(dú)立部署、更新、運(yùn)行。
圖1 云原生PaaS 平臺(tái)架構(gòu)
②DevOps 持續(xù)集成、持續(xù)交付,基于研發(fā)運(yùn)維一體化協(xié)作模式,依托自動(dòng)化發(fā)布管道、CI 等工具鏈,快速部署到生產(chǎn)環(huán)境,實(shí)現(xiàn)構(gòu)建、測(cè)試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。
③基于容器和kubernetes 的原子能力,容器技術(shù)不僅能提高現(xiàn)有應(yīng)用的安全性和可移植性,無(wú)需關(guān)心每個(gè)服務(wù)所使用的技術(shù)棧,每個(gè)服務(wù)都被無(wú)差別地封裝在容器里,可以被無(wú)差別地管理和維護(hù)還能節(jié)約成本。
容器服務(wù)可讓開發(fā)者打包相關(guān)應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到其他的機(jī)器上。通過(guò)容器服務(wù)可提供高性能可伸縮的應(yīng)用管理服務(wù),提供多種應(yīng)用發(fā)布方式和流水線般的持續(xù)交付能力,通過(guò)容器加速應(yīng)用管道自動(dòng)化和應(yīng)用部署。
云原生PaaS 平臺(tái)基于微服務(wù)、DevOps、容器化等能力,實(shí)現(xiàn)租戶資源隔離、多樣化組件市場(chǎng)服務(wù)、復(fù)雜網(wǎng)絡(luò)管理、滾動(dòng)升級(jí)發(fā)布、DevOps 持續(xù)交付、彈性伸縮架構(gòu)、集中統(tǒng)一監(jiān)控。
為保證資源的安全性及高性能,各應(yīng)用、建立的數(shù)據(jù)庫(kù)等需相互隔離。在多租戶環(huán)境下,平臺(tái)可實(shí)現(xiàn)租戶資源的IaaS 統(tǒng)一管理。將接入容器的資源實(shí)現(xiàn)按需分配,并支持多租戶間的資源隔離管理,如圖2。
圖2 多租戶管理
多租戶管理提升安全性,降低因共享物理設(shè)備帶來(lái)的風(fēng)險(xiǎn),如突破虛擬化邏輯隔離而竊取其它租戶的機(jī)密信息。通過(guò)租戶應(yīng)用的自動(dòng)調(diào)度部署與資源隔離,防止因某一應(yīng)用占用過(guò)多資源對(duì)其他應(yīng)用的性能造成干擾。
多樣化的組件服務(wù),主要提供數(shù)據(jù)庫(kù)服務(wù)、應(yīng)用測(cè)試服務(wù)、代碼托管服務(wù)等服務(wù),對(duì)應(yīng)用提供支撐服務(wù)與管理,能將現(xiàn)有各種業(yè)務(wù)能力進(jìn)行整合,向下根據(jù)業(yè)務(wù)能力需要測(cè)算基礎(chǔ)服務(wù)能力,通過(guò)IaaS 提供的API 調(diào)用硬件資源,向上提供業(yè)務(wù)調(diào)度中心服務(wù),實(shí)時(shí)監(jiān)控平臺(tái)的各種資源,并將這些資源通過(guò)API 開放給上層用戶。
信息系統(tǒng)間也存在復(fù)雜的網(wǎng)絡(luò)關(guān)系需要統(tǒng)一管理,云原生PaaS 平臺(tái)將所有應(yīng)用的用虛擬網(wǎng)絡(luò)連接起來(lái),集群中所有應(yīng)用,無(wú)論是節(jié)點(diǎn)內(nèi)還是跨節(jié)點(diǎn),都可以直接通信。
基于Network Policy 的網(wǎng)絡(luò)隔離策略,云原生PaaS 平臺(tái)提供實(shí)現(xiàn)按租戶級(jí)網(wǎng)絡(luò)隔離,即不同租戶的應(yīng)用不相通,租戶內(nèi)的應(yīng)用網(wǎng)絡(luò)互通,如圖3 租戶網(wǎng)絡(luò)隔離。
圖3 租戶網(wǎng)絡(luò)隔離
應(yīng)用系統(tǒng)需要在不影響用戶使用的前提下完成應(yīng)用的版本更新,實(shí)現(xiàn)零停機(jī)、零感知、隨時(shí)回滾。應(yīng)用鏡像變更時(shí),自動(dòng)備份當(dāng)前應(yīng)用信息生成相應(yīng)版本,可隨時(shí)對(duì)應(yīng)用版本進(jìn)行回滾。應(yīng)用在進(jìn)行升級(jí)時(shí),會(huì)逐一對(duì)服務(wù)進(jìn)行更新升級(jí),直至所有服務(wù)都更新完畢,避免造成更新過(guò)程中服務(wù)不可用,如圖4 滾動(dòng)升級(jí)發(fā)布。
圖4 滾動(dòng)升級(jí)發(fā)布
通過(guò)Kubernetes 平臺(tái)實(shí)現(xiàn)自動(dòng)完成從代碼提交到應(yīng)用部署的DevOps 完整流程,替代部署復(fù)雜、迭代緩慢的傳統(tǒng)方式,提高企業(yè)代碼交付和部署的效率。如圖5 DevOps持續(xù)交付。
圖5 DevOPS 持續(xù)交付
當(dāng)業(yè)務(wù)高峰時(shí),信息系統(tǒng)的并發(fā)業(yè)務(wù)量將激增,傳統(tǒng)架構(gòu)下的應(yīng)用運(yùn)維人員需及時(shí)根據(jù)訪問(wèn)量實(shí)現(xiàn)應(yīng)用的擴(kuò)容,保證系統(tǒng)運(yùn)行。基于容器的云原生PaaS 平臺(tái)根據(jù)CPU,Memory 使用率指標(biāo)以及通過(guò)定時(shí)調(diào)度自動(dòng)對(duì)業(yè)務(wù)擴(kuò)容/縮容,不需人工干預(yù),避免流量激增擴(kuò)容不及時(shí)導(dǎo)致系統(tǒng)掛掉,及平時(shí)大量閑置資源造成浪費(fèi),如圖6 彈性伸縮架構(gòu)。
圖6 彈性伸縮架構(gòu)
運(yùn)維人員需對(duì)集群中的主機(jī)、組件等進(jìn)行統(tǒng)一監(jiān)控及維護(hù),提供直觀展現(xiàn)健康狀態(tài)、自定義組件告警規(guī)則、告警日志統(tǒng)一查詢等服務(wù)。
基于容器技術(shù)的云原生PaaS 平臺(tái)在企業(yè)信息系統(tǒng)上云過(guò)程中提供IaaS 資源隔離、網(wǎng)絡(luò)管理、DevOps 持續(xù)交付、容器服務(wù)、自動(dòng)擴(kuò)縮容、PaaS 組件服務(wù)、實(shí)時(shí)監(jiān)控等關(guān)鍵能力,實(shí)現(xiàn)部署上線時(shí)間分鐘級(jí)別,擴(kuò)縮容秒級(jí)別,PaaS 組件快速部署,彈性伸縮架構(gòu)實(shí)時(shí)感知業(yè)務(wù)應(yīng)用負(fù)載,提升主機(jī)與應(yīng)用監(jiān)控與告警等功能。平臺(tái)顯著提升了技術(shù)自主掌控能力同時(shí),實(shí)現(xiàn)運(yùn)維生產(chǎn)降本增效,提升了客戶感知,有效提高了企業(yè)形象,具有顯著的社會(huì)效益和經(jīng)濟(jì)效益。