秦潤鋒,樊勇兵,唐 宏,金華敏
(中國電信股份有限公司廣東研究院 廣州 510630)
隨著IaaS云計算技術(shù)的不斷成熟,電信運營商逐步引入相關(guān)技術(shù)并大力推進其龐大IT基礎(chǔ)設(shè)施資源的集約化運營管理。近幾年,電信運營商主要以虛擬化技術(shù)(包括ESXi、Xen Server、Hyper-V以及 KVM 等)為基礎(chǔ)實現(xiàn)計算、存儲、網(wǎng)絡(luò)等資源的“池化”部署,以提升繁多的業(yè)務(wù)平臺、IDC、計費和BOSS等IT基礎(chǔ)設(shè)施系統(tǒng)資源的利用率并加快新業(yè)務(wù)的部署開通效率?!俺鼗敝饾u實現(xiàn)基礎(chǔ)資源的橫向構(gòu)建,同時也實現(xiàn)業(yè)務(wù)與資源的縱向剝離,但隨著“池化”的不斷深入,資源池對于“云化”提出了迫切需求,尤其是通過“云化”逐步提升資源池的智能彈性部署與自動化業(yè)務(wù)生成能力,逐步解決資源的自動化配置、調(diào)度、管理以及應(yīng)用交付等問題。
IaaS云管理平臺是“云化”核心,是實現(xiàn)大規(guī)模資源池智能彈性部署與自動化業(yè)務(wù)提供的集權(quán)式管理系統(tǒng)。對于傳統(tǒng)電信運營商而言,“池化”到“云化”的演進過程中,可能會存在以下3點制約瓶頸。
·雖然國外專有IaaS云管理平臺技術(shù)先進且功能較為完善,但其高成本性導(dǎo)致電信運營商在運營大規(guī)模云資源池的場景下,無法為用戶提供更有優(yōu)勢的IaaS服務(wù)。
·電信運營商云資源池不僅虛擬化平臺不同,而且涵蓋不同類型的存儲設(shè)備和網(wǎng)絡(luò)設(shè)備,如果IaaS云管理平臺真正實現(xiàn)異構(gòu)化資源管理與調(diào)度,均需要大量的二次適配開發(fā)。另外,IaaS云管理平臺在云業(yè)務(wù)運營層面必然需要實現(xiàn)多個部門、多個系統(tǒng)之間的流程銜接與打通,若實現(xiàn)自動化運營,必須在IaaS云平臺中深度嵌入符合電信運營商需求的流程環(huán)節(jié)。
·廠商封閉的IaaS云管理平臺技術(shù)導(dǎo)致電信運營商有被lock-in的風(fēng)險,同時也無法集成其他更好、更具有優(yōu)勢的技術(shù)產(chǎn)品,無法為用戶提供不同級別、不同內(nèi)容、不同模式的服務(wù)。
為了有效解決電信運營商在IaaS云平臺部署與實施過程中的瓶頸,更好地提供規(guī)?;疘aaS云業(yè)務(wù),需要結(jié)合自身需求規(guī)劃設(shè)計電信運營級端到端IaaS開放式云管理平臺,基于該平臺可實現(xiàn)多廠商、多技術(shù)制式的兼容或適配,實現(xiàn)廣域化云資源池的統(tǒng)一納管,實現(xiàn)外部用戶的黏性綁定與內(nèi)部業(yè)務(wù)的靈活拓展,其開放性主要體現(xiàn)在以下3個方面。
(1)底層接入能力的開放
通過基礎(chǔ)設(shè)施適配層兼容多種主流技術(shù)制式,通過不同模塊定義不同虛擬化軟件、對象存儲、交換機/路由器、防火墻、負載均衡器以及其他云部件的適配插件,實現(xiàn)云平臺多種技術(shù)、多種軟硬件的兼容性,避免單一廠商產(chǎn)品的綁定。
(2)外部 API的開放
云平臺基于各個服務(wù)組件提供統(tǒng)一的對外API,滿足開發(fā)者或客戶自有平臺的資源調(diào)用以及相關(guān)應(yīng)用部署要求。
(3)云平臺系統(tǒng)架構(gòu)的開放
平臺基于分布式組件模塊的方式,所有核心組件與服務(wù)組件均通過中央消息引擎實現(xiàn)松耦合關(guān)聯(lián),即可通過消息實現(xiàn)通信,也可通過API實現(xiàn)調(diào)用,新增組件只需要符合接口規(guī)范即可實現(xiàn)靈活接入,無需內(nèi)核修改。
電信運營商在推動開放平臺的過程中,可積極借鑒以O(shè)penStack為代表的開源云平臺,OpenStack技術(shù)架構(gòu)的設(shè)計理念符合電信級運營需求,在系統(tǒng)架構(gòu)、規(guī)模性、兼容性、功能、性能等方面具備運營級能力,可基于OpenStack發(fā)展?jié)M足業(yè)務(wù)運營需求的IaaS云平臺。
基于電信運營商的業(yè)務(wù)功能需求與運營需求,開放式IaaS云平臺必然具備相應(yīng)的系統(tǒng)可擴展、安全可靠、資源彈性調(diào)度、底層兼容、上層應(yīng)用感知、差異化服務(wù)(SLA)、規(guī)模部署、開放式接口、靈活計費、運營流程支撐、統(tǒng)一監(jiān)控以及應(yīng)用遷移等能力,以下主要介紹其中的系統(tǒng)可擴展、兼容、SLA以及規(guī)模部署能力。
電信運營商基于IaaS云平臺面向內(nèi)外部用戶提供規(guī)?;瘶I(yè)務(wù),必然會接收大量業(yè)務(wù)并發(fā)請求,并消耗大量業(yè)務(wù)處理能力。另外,IaaS云平臺所面向的客戶需求千差萬別,系統(tǒng)必然會不斷更新、不斷改造,其變化過程是相關(guān)功能模塊擴展的過程。因此,在性能和功能方面,IaaS開放云平臺應(yīng)該具備良好的系統(tǒng)可擴展能力,使得云平臺系統(tǒng)在為用戶提供服務(wù)的過程中能實現(xiàn)平滑擴展,保證系統(tǒng)的持續(xù)運行。
(1)系統(tǒng)容量與性能的擴展能力
當云平臺系統(tǒng)已有資源無法應(yīng)對公眾客戶大量請求時,能夠通過硬件升級或增加硬件數(shù)量的方式增強系統(tǒng)的容量與性能。隨著逐漸添加或升級硬件,系統(tǒng)容量能夠線性增加、性能能夠線性增強,同時擴展的過程不影響系統(tǒng)的正常運作。
(2)系統(tǒng)模塊的擴展能力
云平臺系統(tǒng)采用分布式架構(gòu),當系統(tǒng)需要新增功能時,新增功能以新增模塊的形式添加到系統(tǒng)中。新增模塊的過程不影響系統(tǒng)的運作以及整體性能的發(fā)揮。在系統(tǒng)運營的過程中,當公眾客戶提出新功能的需求時,系統(tǒng)模塊的擴展能力使得系統(tǒng)能夠良好擴展新功能,從而快速響應(yīng)公眾客戶的需求,在面對市場競爭時更具優(yōu)勢。
IaaS開放云平臺系統(tǒng)的底層兼容能力主要表現(xiàn)在4個方面:虛擬化軟件的兼容、服務(wù)器硬件的兼容、網(wǎng)絡(luò)設(shè)備的兼容、存儲設(shè)備的兼容,具體介紹如下。
·虛擬化軟件的兼容能力:兼容多種虛擬化技術(shù),包括 KVM、Hyper-V、Xen Server/XCP、VMware ESX 等主流的虛擬化技術(shù)。
·服務(wù)器硬件的兼容能力:兼容主流的x86架構(gòu)CPU芯片(Intel、AMD)以及不同工業(yè)廠商生產(chǎn)的標準服務(wù)器。
·網(wǎng)絡(luò)設(shè)備的兼容能力:兼容不同工業(yè)廠商生產(chǎn)的標準路由器、交換機、防火墻、負載均衡器等網(wǎng)絡(luò)設(shè)備。
·存儲設(shè)備的兼容能力:兼容多種標準協(xié)議(iSCSI、FCoE、FC、NAS等)的存儲設(shè)備,兼容不同工業(yè)廠商生產(chǎn)的標準存儲設(shè)備。
IaaS開放云平臺系統(tǒng)能夠根據(jù)與用戶簽訂的SLA協(xié)議提供相應(yīng)的差異化等級服務(wù)。不同的虛擬化技術(shù)以及硬件設(shè)施所提供的IaaS服務(wù)有所區(qū)別,云平臺系統(tǒng)深度兼容各類虛擬化技術(shù)以及不同制式、不同廠商的硬件設(shè)施,并在此基礎(chǔ)上以不同服務(wù)模板的形式為不同類型的用戶提供差異化服務(wù)。IaaS云平臺采用商業(yè)化虛擬平臺(VMware、Hyper-V、Xen Server等)以及高端硬件設(shè)備提供高端SLA服務(wù),同時可采用其他開源虛擬化平臺(KVM、XCP)以及普通的硬件設(shè)備提供相對低等級的SLA服務(wù),或者根據(jù)用戶的需求提供介于兩者之間的SLA服務(wù)。用戶可以根據(jù)發(fā)展的需求選擇適合的SLA服務(wù)協(xié)議,IaaS云平臺系統(tǒng)可根據(jù)SLA封裝不同的軟硬件模板并提供給用戶。
對于電信運營商,IaaS云平臺系統(tǒng)必須具有大規(guī)模、跨廣域的系統(tǒng)部署能力,能夠跨廣域納管大規(guī)模的底層基礎(chǔ)設(shè)施,實現(xiàn)彈性化智能調(diào)度,其部署能力主要包括以下兩個方面。
(1)大規(guī)模部署能力
云平臺系統(tǒng)是基于分布式技術(shù)的云操作系統(tǒng),各種不同的功能并不是緊耦合于中心系統(tǒng)之中,而是以單一的功能模塊存在,不同的功能模塊通過消息機制實現(xiàn)互通。不同的功能模塊均可單獨部署,相互間的通信采用標準接口,通過底層通信總線完成各功能模塊之間的數(shù)據(jù)交互和調(diào)用,從而形成整體開放式的IaaS云平臺系統(tǒng)。因此,開放式平臺的架構(gòu)特點決定了系統(tǒng)能夠靈活、大規(guī)模地部署在底層基礎(chǔ)設(shè)施上,進而對底層基礎(chǔ)設(shè)施進行管理與調(diào)度。
(2)跨廣域部署能力
IaaS開放式云平臺系統(tǒng)中的不同功能模塊之間通過異步消息機制實現(xiàn)通信,當一個功能模塊針對某一個會話發(fā)送請求消息時,系統(tǒng)無需鎖定,可繼續(xù)完成其他會話的流程處理,因此可根據(jù)不同區(qū)域的業(yè)務(wù)需求部署不同的功能模塊,可有效支持跨廣域業(yè)務(wù)提供能力。另外,開放式云平臺可依據(jù)“就近原則”實現(xiàn)廣域部署,解決廣域網(wǎng)通信時延問題,使得用戶通過就近原則實現(xiàn)節(jié)點接入。
開放式IaaS云平臺可參考OpenStack體系架構(gòu),采用分布式模塊化邏輯架構(gòu),各個功能模塊相對獨立,耦合性較低,可靈活分布于不同節(jié)點,彼此通過消息中樞通信,如圖1所示。
圖1 開放IaaS云平臺分布式體系架構(gòu)
各個功能組件之間的協(xié)作可通過兩種方式通信:一是通過消息中樞轉(zhuǎn)發(fā)信息,二是通過數(shù)據(jù)庫共享信息。對于消息中樞,發(fā)送消息等待響應(yīng)的一方,是消息生產(chǎn)者,接收消息、執(zhí)行相應(yīng)任務(wù)并進行響應(yīng)的一方是消息消費者,功能組件可同時具有消息生產(chǎn)者和消費者的角色。消息生產(chǎn)者將要執(zhí)行的任務(wù)的方法名、參數(shù)、消息主題等信息打包成消息,發(fā)送給消息中樞,消息中樞根據(jù)消息的主題將消息轉(zhuǎn)發(fā)到匹配的隊列,并通知消息消費者。消息消費者從消息隊列中解析相應(yīng)消息并執(zhí)行相應(yīng)任務(wù)。如果消息需要進行響應(yīng),則消息生產(chǎn)者端在發(fā)送消息時建立一個消息消費者,而消息消費者端在執(zhí)行任務(wù)后建立一個消息生產(chǎn)者,發(fā)送響應(yīng)的消息。
數(shù)據(jù)庫組件保存云資源池中所有物理機、虛擬機、存儲和網(wǎng)絡(luò)等基礎(chǔ)資源的動態(tài)以及靜態(tài)信息,并可由各個功能組件共享相關(guān)狀態(tài),基于不同的狀態(tài)信息完成相應(yīng)的業(yè)務(wù)處理。
為了滿足電信運營商對于云資源池的跨域管理,其開放式IaaS云平臺系統(tǒng)必然是層次化部署模式。理想中的IaaS云平臺系統(tǒng)分層部署,包括4個層次,分別為:中心控制層、資源區(qū)域?qū)?、?shù)據(jù)中心層以及集群層,具體介紹如下。
(1)中心控制層
中心控制層主要負責(zé)全網(wǎng)資源的調(diào)度以及用戶的統(tǒng)一認證授權(quán),主要由統(tǒng)一認證、系統(tǒng)接口、資源調(diào)度、數(shù)據(jù)庫、消息中樞5個組件組成。用戶通過中心控制層實現(xiàn)云資源池的訪問,中心控制層的認證服務(wù)會對用戶進行授權(quán),并提供完備的API實現(xiàn)用戶的對接操作。另外中心控制層的資源調(diào)度組件實現(xiàn)全網(wǎng)資源池的總體調(diào)度,包括所有資源的狀態(tài)信息、配置信息、能力信息等的管理以及資源的有效調(diào)度管理。中心控制層的消息中樞組件實現(xiàn)資源區(qū)域?qū)痈鱾€功能組件的消息存儲與轉(zhuǎn)發(fā),數(shù)據(jù)庫組件則保存所有用戶信息和各個資源區(qū)域?qū)?、?shù)據(jù)中心層以及集群層的信息。
(2)資源區(qū)域?qū)?/p>
資源區(qū)域?qū)又饕獙崿F(xiàn)本區(qū)域內(nèi)所有數(shù)據(jù)中心以及集群資源的調(diào)度工作,主要由系統(tǒng)接口、資源調(diào)度、數(shù)據(jù)庫、消息中樞4個組件組成。其中,系統(tǒng)接口組件主要提供本資源區(qū)域所有資源的API服務(wù);資源調(diào)度組件實現(xiàn)資源總體調(diào)度,包括資源定位、資源配置、資源生命周期管理等;消息中樞組件主要實現(xiàn)本地各個功能模塊的消息存儲與轉(zhuǎn)發(fā)以及同上層中心控制層以及下層數(shù)據(jù)中心層的消息中樞進行通信;數(shù)據(jù)庫組件主要存儲本區(qū)域所有資源的能力信息。
(3)數(shù)據(jù)中心層
數(shù)據(jù)中心層部署于單一數(shù)據(jù)中心內(nèi)部,主要實現(xiàn)本地數(shù)據(jù)中心的資源管理與調(diào)度服務(wù),其涵蓋所有相關(guān)功能模塊。數(shù)據(jù)中心層完成底層計算、存儲和網(wǎng)絡(luò)物理資源池化工作,并為上層用戶提供彈性、可擴展以及靈活的資源服務(wù),在此基礎(chǔ)上實現(xiàn)監(jiān)控、鏡像模板、安全防護、負載均衡等應(yīng)用服務(wù)。
(4)集群層
集群層是IaaS云平臺系統(tǒng)的最小管理單元,一個集群的設(shè)備必須在同一機房甚至同一LAN內(nèi),其軟硬件設(shè)備盡可能避免異構(gòu)。提出集群的概念,是考慮虛擬機熱遷移范圍、單節(jié)點物理機納管數(shù)量、共享存儲訪問效率,都受限于現(xiàn)有虛擬化技術(shù),需要定義和劃分建設(shè)部署的基本單元,保證該單元實現(xiàn)性能最優(yōu)化和效率最大化。
開放式IaaS云平臺系統(tǒng)實現(xiàn)了底層物理資源的計算虛擬化。該平臺兼容多種主流虛擬化軟件,包括VMware ESX、Xen Server、Hyper-V等商業(yè)虛擬化軟件,也包括XCP、KVM等開源虛擬化軟件;平臺封裝了底層虛擬化軟件的調(diào)用細節(jié),向上提供了統(tǒng)一接口進行訪問,簡化上層調(diào)用平臺功能編程的復(fù)雜度。計算虛擬化兼容平臺架構(gòu)如圖2所示。
圖2 計算虛擬化兼容平臺架構(gòu)
計算虛擬化兼容平臺架構(gòu)采用面向?qū)ο笤O(shè)計的思想,實現(xiàn)了底層虛擬化技術(shù)的兼容能力。接口模塊作為基類封裝底層虛擬化軟件的功能,向上層應(yīng)用提供計算虛擬化服務(wù)接口;底層虛擬化技術(shù)模塊 (VMware模塊、Xen模塊、Hyper-V模塊、KVM模塊等)作為子類繼承接口模塊,根據(jù)不同虛擬化技術(shù)的API調(diào)用底層的虛擬化軟件,實現(xiàn)計算虛擬化功能。計算虛擬化兼容平臺通過新增模塊的形式添加新的虛擬化技術(shù)。新增模塊只需要繼承接口模塊基類、改寫其中的接口實現(xiàn),就能使得新虛擬化技術(shù)添加到計算虛擬化兼容平臺中。
開放式IaaS云平臺系統(tǒng)的快速塊存儲組件提供給虛擬機使用但獨立于虛擬機的永久塊存儲服務(wù),快速塊存儲相當于云中的硬盤,這種硬盤通過掛載的方式附加到虛擬機上使用,但其生命周期與虛擬機無關(guān),當虛擬機刪除后,硬盤依然存在。CTOC系統(tǒng)的快速塊存儲服務(wù)兼容不同類型的標準設(shè)備(如SSD、SAS、SATA等)、不同標準通信協(xié)議的設(shè)備(如iSCSI、AoE、FCoE等)??焖賶K存儲兼容架構(gòu)采用面向?qū)ο笤O(shè)計思想,實現(xiàn)兼容各種不同接口、不同工業(yè)廠商生產(chǎn)的存儲設(shè)備。接口模塊作為基類封裝調(diào)用底層存儲功能的細節(jié),向上層提供統(tǒng)一的存儲服務(wù)接口。由于不同工業(yè)廠商生產(chǎn)的存儲產(chǎn)品眾多,且不同的存儲產(chǎn)品具有不同的編程接口,因此快速塊存儲架構(gòu)根據(jù)不同的標準通信協(xié)議(ISCSI、FCoE、AoE)劃分為大子類直接繼承接口模塊(如圖3所示的FCoE模塊、iSCSI模塊);使用相同標準通信協(xié)議存儲設(shè)備的驅(qū)動模塊繼承對應(yīng)的大子類;如果同種標準通信協(xié)議的存儲設(shè)備的大部分接口功能相同,則可以把相同的接口抽象形成新的中間模塊,進而簡化編程復(fù)雜度。
根據(jù)上述設(shè)計思路最終形成的快速塊存儲架構(gòu)如圖3所示,快速塊存儲的模塊組成形成樹狀圖,葉子節(jié)點模塊繼承模塊,根據(jù)存儲設(shè)備提供的特定接口實現(xiàn)存儲設(shè)備的使用管理。當IaaS云平臺系統(tǒng)新增存儲設(shè)備時,只需根據(jù)存儲設(shè)備的特點歸類添加到特定的父類下,并根據(jù)存儲設(shè)備的接口改寫父類的方法實現(xiàn)存儲設(shè)備的驅(qū)動模塊,此后系統(tǒng)便能使用新增的存儲設(shè)備。
圖3 開放式IaaS云平臺系統(tǒng)的快速塊存儲兼容架構(gòu)
智能虛擬網(wǎng)絡(luò)提供虛擬網(wǎng)絡(luò)服務(wù)。用戶能將自己在彈性計算中的虛擬機納入虛擬網(wǎng)絡(luò)中。虛擬網(wǎng)絡(luò)能劃分為多個子網(wǎng)。智能虛擬網(wǎng)絡(luò)也通過在子網(wǎng)級別設(shè)置訪問控制列表和在實例級別設(shè)置安全組增加子網(wǎng)內(nèi)實例的安全性。智能虛擬網(wǎng)絡(luò)組件的架構(gòu)如圖4所示。
圖4 智能虛擬網(wǎng)絡(luò)組件的架構(gòu)
IaaS云平臺系統(tǒng)智能虛擬網(wǎng)絡(luò)主要提供與虛擬網(wǎng)絡(luò)、子網(wǎng)、安全組、訪問控制列表相關(guān)的操作接口,負責(zé)載入智能虛擬網(wǎng)絡(luò)插件,并將API請求交給智能虛擬網(wǎng)絡(luò)插件處理。
開放式IaaS云平臺為分層、模塊化的體系架構(gòu)。架構(gòu)中的各功能模塊分布式部署且相對獨立,通過消息中樞進行通信,通過數(shù)據(jù)庫共享云資源狀態(tài)等信息,方便增加新的服務(wù)模塊,該部署架構(gòu)中包括高可用的分布式消息中樞網(wǎng)絡(luò),用來支持系統(tǒng)不同層次區(qū)域之間的通信,同時功能模塊所在的節(jié)點也可設(shè)計為冗余模式,支持容災(zāi)備份,提供高可靠、高安全的部署方式。傳統(tǒng)電信運營商需要充分利用自身網(wǎng)絡(luò)基礎(chǔ)設(shè)施優(yōu)勢,積極探索與拓展開放式公有云的廣域服務(wù)提供能力,基于智能管道致力于功能的細化、架構(gòu)的優(yōu)化與部署的規(guī)?;罱K實現(xiàn)云平臺精細化、構(gòu)件化與服務(wù)化的運營。
1 Openstack.Openstack Compute Administration Manual,2012
2 中國電信集團公司.云計算技術(shù)手冊,2010