《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 云計算的開放架構設計
云計算的開放架構設計
摘要: 如何讓云深入人們的生活?其中的關鍵在于開放平臺的提供,它可以使云透過標準通用管道,服務于普通百姓人家??梢哉f,使用云能力的門檻越低、越便利,使用范圍才能越來越廣。云計算的能力開放,不僅方便最終使用者,更是受益第三方企業(yè),他們能利用開放的接口和服務, 提供超出云計算本身能力的服務。
Abstract:
Key words :

  隨著技術的發(fā)展和各行業(yè)對云概念理解的深入,云開始在各個層面和各個領域蔓延。它已經(jīng)變成一種思路、一種潮流,如云計算、云服務、云安全等。它們可以使計算能力、服務、運營能力及安全能力通過一個平臺集中提供并控制,并讓其成為千千萬萬的企業(yè)和個人可以隨需索取的東西。

  如何讓云深入人們的生活?其中的關鍵在于開放平臺的提供,它可以使云透過標準通用管道,服務于普通百姓人家??梢哉f,使用云能力的門檻越低、越便利,使用范圍才能越來越廣。云計算的能力開放,不僅方便最終使用者,更是受益第三方企業(yè),他們能利用開放的接口和服務, 提供超出云計算本身能力的服務。

  1 IaaS能力開放架構

  1.1 虛擬化能力開放

  目前業(yè)界已有很多廠商可以提供虛擬化解決方案,如VMWare、 Microsoft、Citrix以及基于開源的Xen/KVM等。各種虛擬化解決方案各有特色,但目前面臨的最大問題是:不論是生成的虛擬化文件,還是虛擬化的管理都各自為政、互不兼容。

  當前的形式迫切需要一種標準,能向所有參與者提供虛擬化應用的方法,并且減少多個、競爭性的、不兼容的實現(xiàn)所帶來的問題。目前,分布管理任務組織已開始使用開放式虛擬機(OVF)格式。OVF支持多虛擬化映像格式,對于任何監(jiān)管程序的虛擬機都可以使用它引導程序并加載。另外,OVF引導程序是基于數(shù)字簽名的,確保了免費發(fā)布和用戶的利益。

  虛擬化最主要的參與廠商,像Dell、HP、IBM、微軟、VMware以及Citrix都加入了OVF,后幾者的加入表明虛擬化廠商參與的重要性,同時也增強了標準被廣泛采納的可能性。

  中興通訊公司在虛擬化的統(tǒng)一管理方面提供了開放的管理平臺,能夠支持多種底層虛擬化環(huán)境,如圖1所示。它未來也將可以支持OVF, 并能提供用戶側(cè)的監(jiān)控與網(wǎng)管,自由創(chuàng)建、銷毀、遷移及監(jiān)測各虛擬機及上層應用的狀態(tài)。由于虛擬機調(diào)度可能導致網(wǎng)絡設備以及負荷平衡設備的變化,因此將對網(wǎng)絡設備也實現(xiàn)統(tǒng)一管理。虛擬化平臺向應用層提供可信的虛擬化開放接口,可以讓應用系統(tǒng)根據(jù)自身需求,動態(tài)調(diào)度虛擬機。業(yè)務系統(tǒng)通過開放的接口調(diào)用,就能夠?qū)崿F(xiàn)更加廣義的自動化業(yè)務彈性可擴展解決方案。

  

  1.2 存儲能力開放

  存儲能力是最基本的能力之一,也是所有數(shù)據(jù)能夠被處理的基礎。目前的數(shù)據(jù)存儲主要有3種訪問方式:文件存儲、對象存儲以及塊存儲。塊存儲與文件存儲面向底層接口,一般來說對應用透明;對象存儲屬于應用層之上的軟接口[1]。

  從文件系統(tǒng)的角度來看,云計算主要面向的是分布式文件系統(tǒng),它是云基礎架構中最核心的元素,目前比較著名的有RedHat GFS、IBM 的GPFS及SUN的Luster。這些分布式文件系統(tǒng)對硬件設施的要求較高,往往需要存儲節(jié)點自身提供數(shù)據(jù)可靠性的保證。這類文件系統(tǒng)通常會在操作系統(tǒng)核心提供開放接口供文件訪問。另外一類是類似Google GFS產(chǎn)品,如開源的HDFS、KFS、阿里巴巴的盤古文件系統(tǒng)等,此類產(chǎn)品使用廉價商用機器搭建分布式文件系統(tǒng),并在用戶態(tài)提供開放接口。

  不論何種內(nèi)部實現(xiàn)方式,分布式文件系統(tǒng)都需要提供可靠性存儲及可供應用訪問的接口。核心域?qū)崿F(xiàn)的存儲開放方式主要是在操作系統(tǒng)內(nèi)核層面通過專用驅(qū)動實現(xiàn)裸設備的暴露,操作系統(tǒng)使用通用的文件系統(tǒng)如Ext3對應用開放。用戶域的存儲開放方式是Posix接口或?qū)S玫乃接袇f(xié)議接口。使用用戶態(tài)開放接口有如下好處:

  在用戶態(tài)文件系統(tǒng)與操作系統(tǒng)松耦合,便于單獨升級,穩(wěn)定性好。

  減少操作系統(tǒng)導致的底層交互次數(shù),降低復雜度,提高效率。

  接口更豐富,能夠?qū)崿F(xiàn)更好的優(yōu)化。

  安全性更好控制。

  當然,用戶態(tài)開放也有缺點,如接口對應用有侵入性。如果遷移到其他存儲系統(tǒng)將需要重新編譯相關應用。

  對應用戶態(tài)開放的是通用接口方式,如網(wǎng)絡文件系統(tǒng)(NFS)、文件傳輸協(xié)議(FTP)等標準協(xié)議。由于這些標準協(xié)議制訂時并未考慮到分布式問題,所以接口本身的分布式需要重點解決,即接口本身如何尋址、容錯、負載均衡等。同時需要重點解決多文件共享訪問的讀寫鎖問題。

  中興通訊分布式文件系統(tǒng)對于通用接口方式采用動態(tài)域名系統(tǒng)(DNS)結合接口IP虛擬化技術,較好地解決尋址及容錯問題,并且通過服務端增加額外一層接口層實現(xiàn)了根據(jù)能力的負載均衡技術。

  1.3 對象存儲技術

  直接開放文件系統(tǒng)的存儲方式比較適合私有云的構建,對于面向公眾服務的公有云服務,我們期望能夠和WEB協(xié)議(HTTP)兼容?;ヂ?lián)網(wǎng)的快速發(fā)展對存儲系統(tǒng)的容量、性能和功能提出了巨大挑戰(zhàn),主要表現(xiàn)為大容量、高性能、可擴展性、可共享性、自適應性、可管理性,以及高可靠性和可用性,目前市場上沒有一種解決方案可以滿足所有這些要求。對于快速升級的存儲需求,基于對象存儲(OBS)技術是一種非常有前景的解決方法,它融合了高速可直接訪問的存儲網(wǎng)絡(SAN)和安全、良好跨平臺共享數(shù)據(jù)的網(wǎng)絡附屬存儲(NAS)的優(yōu)點。通過對象存儲可以很好地屏蔽底層協(xié)議及網(wǎng)絡結構的復雜性,對象存儲的具體特點如圖2所示。下一代互聯(lián)網(wǎng)和PB級存儲大規(guī)模部署迫切地期待基于對象存儲技術的成熟和大規(guī)模應用。對象存儲設備(OSD) 可以基于獨立的設備(如OSD硬盤),也可以在分布式系統(tǒng)上構建。為保證對象的唯一性,面向分布式系統(tǒng)時一般會劃分對象組,確保在不同對象組內(nèi)對象具有唯一性。

  

  對象設備內(nèi)部管理元數(shù)據(jù)(空間管理)。

  對象ID是訪問該對象的唯一標志(每個OSD設備唯一)。

  圖3所示的是OSD安全模型,它是一個基于證書的訪問控制系統(tǒng),由4個實體組成:應用客戶端、安全服務、策略/存儲管理者及對象服務。

  

  對象存儲一般都要包含如下操作:讀、寫、列表、刪除、獲取元數(shù)據(jù),例如Amazon 簡單存儲服務(S3)面向各種應用提供了面向?qū)ο蟮腟3。

  對象存儲主要是面向應用開放,目前各種系統(tǒng)接口尚未完全統(tǒng)一。提供WebService或RESTful的接口比較便于應用的透明接入,但提供基于長鏈接的定制化客戶端接入則比較容易做到高效訪問。

  中興通訊開發(fā)的分布式鍵值訪問系統(tǒng)就屬于典型的對象存儲方式。它將數(shù)據(jù)區(qū)劃分為不同的桶,每個桶內(nèi)的對象對應唯一的鍵。通過鍵信息,可以獲取對應的訪問權限驗證元數(shù)據(jù)信息和值信息。為了保證系統(tǒng)的可擴展性,整個系統(tǒng)搭建成無主網(wǎng)絡,并且可以做到元數(shù)據(jù)信息以及鍵值信息的自動分布與備份。系統(tǒng)為提高性能,同時支持了持久化存儲與非持久化存儲機制。

  1.4 塊存儲能力開放

  塊存儲將存儲區(qū)域劃分成固定大小的小塊,是傳統(tǒng)裸存儲設備的存儲空間對外暴露方式,如圖4所示。傳統(tǒng)設備的塊存儲面向的是單一的物理設備,而到了云計算環(huán)境,塊存儲設備也將面臨分布式環(huán)境。

  

  在云計算中提供塊存儲能力對于虛擬機與存儲系統(tǒng)的有機結合有著其他存儲方式無法替代的作用[2]。因為很多應用軟件并沒有按照云存儲形式進行改造或優(yōu)化,例如大部分的數(shù)據(jù)庫軟件。如果想要在虛擬機中有效地部署并使用這些應用,提供塊存儲能力必不可少。

  塊存儲的一個問題是安全性較差。因并非直接對應用暴露接口,而是面向操作系統(tǒng)暴露底層設備,因此對于存儲的內(nèi)容往往沒有較好的辦法進行控制。

  中興通訊配合虛擬機技術,實現(xiàn)了分布式的塊存儲訪問模式。通過塊存儲,能夠?qū)⒍嗯_機器上的物理存儲設備虛擬化,并且重新切分,分配給需要使用的虛擬機。使用塊存儲設備還可以很好地利用淘汰下來的舊存儲設備,通過存儲虛擬化接口層,將不同的物理底層設備接口進行屏蔽[3-4]。

  通過存儲虛擬化層整合各種物理存儲設備,并將它的內(nèi)空間按固定的大小統(tǒng)一切片。然后向客戶端提供塊存儲接口,并將多個切片后的小塊存儲區(qū)域通過存儲虛擬化層統(tǒng)一調(diào)度并組成客戶所需要的卷大小,如圖5所示。每個小的切片都會由接口將客戶機的塊訪問請求直接映射成為物理機的塊訪問請求。

  

  1.5 IaaS能力開放的安全性考慮

  對于商業(yè)系統(tǒng)用戶來說,系統(tǒng)的高效訪問、可靠性、易用性是其中一個方面,但最終決定是否使用云計算作為企業(yè)基礎服務的是能力開放的安全性。

 ?。?) 特權使用者的管理

  特權使用者,例如運營商的管理員,由于具有絕對的權力,必須嚴格監(jiān)管。

  (2) 法規(guī)的遵守

  雖然云計算公司是通過運營商提供服務,但法律法規(guī)還需要提供服務的公司遵守并承擔,而非運營商本身。因此客觀要求不僅是服務公司必須滿足相關的法規(guī)要求,為其提供服務的運營商也必須滿足相關的要求才能夠避免法律風險。

  (3) 資料所在地理位置的管控

  隱私保護權在各個國家和地區(qū)有所不同,作為無邊界的網(wǎng)絡服務,必須有能力滿足特定地理位置下用戶的隱私規(guī)則,以保證符合服務地的法規(guī)。有些國家和地區(qū)對敏感數(shù)據(jù)的物理存儲地址也有限定,服務提供商必須能夠滿足這些要求。

 ?。?) 數(shù)據(jù)的隔離

  云服務面向很多用戶,因此必須保障數(shù)據(jù)的有效隔離,必要時要有能夠提供數(shù)據(jù)物理隔離的能力。

 ?。?) 故障情況下數(shù)據(jù)的恢復能力

  故障發(fā)生時,如何能夠快速恢復服務與數(shù)據(jù),并有效備份數(shù)據(jù),是必須考慮的。

 ?。?) 對調(diào)查的支援能力

  某些法律,如《薩班斯法案》中,要求所有的數(shù)據(jù)操作都有可追溯性。如果面臨審計或法律調(diào)查,服務提供商要能夠有效提供相關的操作數(shù)據(jù)。

 ?。?) 永久可用性

  云服務的供應商不一定可以永久地提供服務,例如HP最近就停止了網(wǎng)絡相冊服務。在服務終止時,將數(shù)據(jù)和服務由一個運營商遷移到另一個運營商或自己的數(shù)據(jù)中心是一個非常重要的安全性因素。

  2 PaaS能力開放架構

  2.1 基于虛擬化的業(yè)務云托管與部署

  這種應用場景主要是互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)的運營[5],典型的如Amazon的彈性計算云(EC2),能夠支持各種不同的操作系統(tǒng)以及開發(fā)環(huán)境。這種類型的平臺一般向用戶提供了如下特性:

  靈活性

  系統(tǒng)一般容許用戶對運行實例的類型、數(shù)量、占用的資源量甚至地理位置進行相對自由的定制,并可以根據(jù)用戶需求隨時調(diào)整。

  低成本

  使用運營商提供的這種服務以后,小型企業(yè)就不必自行購置昂貴的機器設備及網(wǎng)絡設備,可根據(jù)服務的容量及時間進行收費。

  安全性

  運營商一般會提供一整套的安全措施,如基于安全外殼協(xié)議(SSH)的訪問鑒權、防火墻設置等,同時容許用戶對他們的應用自行監(jiān)控。

  易用性

  運營商除了提供基礎的虛擬機服務以外,還會提供其他一些基礎服務,如對象存儲、數(shù)據(jù)庫、消息管道等。應用程序不必額外搭建這些基礎設施就能夠直接使用。

  容錯性

  系統(tǒng)一般都提供一定的網(wǎng)絡及存儲容錯機制,一旦發(fā)生故障,能夠保障數(shù)據(jù)的可靠及盡可能穩(wěn)定的用戶服務。

  對外提供的訪問接口主要有3類:

  虛擬機遠程訪問接口。主要是通過統(tǒng)一驗證的SSH服務及可靠數(shù)據(jù)協(xié)議(RDP)服務提供。

  管理服務接口。提供用戶自行監(jiān)控虛擬服務集群的狀態(tài)及創(chuàng)建、刪除、調(diào)整虛擬節(jié)點。

  業(yè)務服務訪問接口。完全由客戶在虛擬機內(nèi)運行的服務提供,但系統(tǒng)可以提供統(tǒng)一的安全訪問服務。

  2.2 業(yè)務能力開放

  業(yè)務開放平臺能夠提供網(wǎng)絡或業(yè)務執(zhí)行的模塊接口。開發(fā)者能夠通過調(diào)用開放應用程序編程接口(API)所提供的各種功能[6],快速集成不同的模塊,以建立新的網(wǎng)絡應用。目前這類服務有很多,最著名的是Google的地圖服務。電信企業(yè)也能夠開放和電信相關的一些業(yè)務,例如手機的位置查詢服務、短信群發(fā)服務等;淘寶也根據(jù)自身需要,開放了與很多用戶商品和交易相關的API。

  為了讓這些不同的服務與資料快速集成,很多公司還同時提供Mashup快速開發(fā)工具,例如Yahoo 的Pipe、Google 的Mashup Editor 以及微軟的Popfly。

  在業(yè)務能力開放平臺,一般還需要設立開發(fā)者沙箱[7],用于協(xié)助開發(fā)者在開發(fā)階段模擬真實系統(tǒng)操作,同時又不干擾真實系統(tǒng)的運營。圖6是業(yè)務能力開放平臺的一套典型部署結構。

  

  業(yè)務能力開放平臺對于客戶端的接入必須要有訪問控制功能,一方面是客戶方的鑒權與認證,只有經(jīng)過合法認證的客戶方才能夠使用業(yè)務服務;另一方面不同級別客戶的訪問權限及調(diào)用頻率需要驗證,以防錯誤的客戶方或惡意的程序?qū)е路债惓;驍?shù)據(jù)異常。

  2.3 在線服務托管模式

  在線業(yè)務托管平臺是企業(yè)資源計劃(ERP)、客戶關系管理(CRM)或通用的服務提供商通過開放平臺,容許第三方在托管平臺上開發(fā)自己的服務并對外提供服務。這些第三方開發(fā)的服務有各自明確的用戶、獨立的需求,但是需要使用平臺方提供的基礎資源進而對外服務。典型的如Google的App Engine、Saleforce 的force.com及ebay與淘寶的托管平臺。第三方服務共享平臺的資源、用戶和數(shù)據(jù),專心開發(fā)需求解決方案,有效地補充了平臺所不具備的各種能力。例如目前eBay 有45%的商品是通過第三方應用上架。

  各平臺包含標準的服務框架、數(shù)據(jù)訪問接口以及特定的編程語言支持。部署在平臺上以后,平臺可以自動根據(jù)訪問的熱度等分配計算資源,進行平滑擴展。

  2.4 開放服務接口的版本管理與動態(tài)升級

  對外服務不可避免地會涉及到接口的版本管理與升級策略,為保證服務的持續(xù)性,我們必須保證能夠在不中斷服務的情況下進行版本升級,保障不同版本客戶端之間的兼容性與可用性。圖7說明了如何進行向前兼容的服務接口設計及升級流程。

  

  2.5 安全的服務開放

  保證服務穩(wěn)定可靠的關鍵是提供可信服務,它有3層含義:需要有手段去驗證服務的使用者身份,只有授權的用戶才能訪問特定服務;服務本身是可靠的,非法用戶或非法訪問不會影響正常的用戶訪問;服務的數(shù)據(jù)保存是安全可靠的,只有可信賴的人能夠訪問可信賴的數(shù)據(jù)。

  保證訪問安全有如下一些做法:

  訪問應用的授權與簽名??蛻舳讼到y(tǒng)或應用接入云服務前,必須經(jīng)過云服務商的認證。認證結果以授權碼方式交給客戶方。以后的每次訪問,客戶方都需要出示授權碼,或請求使用授權碼進行簽名。系統(tǒng)返回的結果也同樣由系統(tǒng)證書進行簽名,以達到通信雙方的互信[8]。

  時間戳方式。對于異步系統(tǒng),使用時間戳及唯一的客戶端ID作為請求的序列號,系統(tǒng)返回時同樣使用相同的方式構造序列號以進行適配。

  冪等檢查。通過客戶端生成唯一的序列號,服務端可以檢測客戶端命令是否重復發(fā)送,如有重復將直接拋棄。冪等檢查可以保證所有服務請求都是一次性且唯一的,即使被惡意截獲并通過網(wǎng)絡設備重播,也不會執(zhí)行。

  通過安全白名單進行控制。通過白名單制度,系統(tǒng)保證只有經(jīng)過安全認證的客戶端能夠接入,通??梢酝ㄟ^認證證書實現(xiàn),這是最嚴格的訪問限制。

  如果涉及到第三方開發(fā)的應用,可以使用系統(tǒng)反向調(diào)用方式保證用戶輸入的認證信息不被第三方應用獲取,并且可以通知第三方應用使用者是否有相關授權。

  圖8說明了用戶聯(lián)邦模式的關系,實現(xiàn)用戶聯(lián)邦模式下的統(tǒng)一用戶開放具體步驟如下:

  

 ?。?) 用戶訪問第三方應用。

 ?。?) 第三方應用將用戶引導到平臺側(cè)進行認證。

 ?。?) 平臺對用戶在平臺所屬界面進行權限認證。

 ?。?) 平臺生成令牌,反向調(diào)用第三方應用接口,將用戶、用戶令牌以及所屬授權信息交給第三方應用。

 ?。?) 第三方應用將用戶與用戶令牌綁定。

 ?。?) 第三方應用需要訪問平臺側(cè)用戶數(shù)據(jù)時,出示用戶令牌,即可按用戶權限進行訪問。

 ?。?) 訪問完成后,第三方應用通知平臺注銷令牌。

  3 SaaS能力開放架構

  Force.com的CRM軟件巨頭Salesforce建立了企業(yè)級的云計算平臺,它允許其客戶在Force.com上開發(fā)用于內(nèi)部使用的應用。2009年,F(xiàn)orce.com推出了一個新的分銷途徑:增值零售商(VAR)。這些VAR通常是為大公司做IT咨詢的顧問和系統(tǒng)集成的公司,它們可以基于Force.com開發(fā)應用,并把這些應用連同F(xiàn)orce.com的基礎數(shù)據(jù)庫打包銷售給大公司。比如,一個人力資源顧問公司可以基于Force.com數(shù)據(jù)開發(fā)一套招聘應用,賣給財富500強。

  這些VAR伙伴不僅能夠分銷Force.com的云計算平臺,也能分銷諸如移動能力、存儲、建站、開發(fā)沙箱等附加功能。為Force.com平臺開發(fā)企業(yè)級應用的可能性非常多。目前,有超過12 萬個圍繞Force.com開發(fā)的應用,如供應鏈管理、貨物跟蹤、品牌管理、應收賬款、投訴處理等等。

  中興通訊針對電信業(yè)務,打造了電信服務能力開放平臺,第三方可以通過這個平臺定制化開發(fā)電信業(yè)務的各種能力。這個平臺還能夠?qū)㈦娦艠I(yè)務的各種原子服務進行組合,在免編程情況下組合成為復雜業(yè)務對外提供。

  中興通訊的電信能力開放平臺主要由業(yè)務開發(fā)環(huán)境,業(yè)務執(zhí)行環(huán)境及管理模塊構成,如圖9 所示。

  

  4 結束語

  云計算作為通用的服務基礎設施,必須能夠被各種業(yè)務和應用使用才能夠體現(xiàn)價值,否則只是封閉的專用系統(tǒng)。就像水和電,必須要有標準化的水管與電路才能夠引入千家萬戶。因此云計算的各個層面,均需要進行開放并遵循相關的開放標準,實現(xiàn)通用的云服務。在IaaS層有OVF的虛擬化標準、標準的文件訪問以及對象存儲和塊存儲;PaaS層是業(yè)務的提供和能力開放平臺,這個層面服務本身千變?nèi)f化,但我們可以遵循一些通用的設計原則保證服務接口的平滑升級以及服務的安全提供;SaaS層面是完整的業(yè)務提供,中興通訊在這個層面關注如何提供平臺,讓第三方也能夠快速開發(fā)各種業(yè)務。

  5 參考文獻

  [1] 劉鵬。云計算[M]。 北京:電子工業(yè)出版社,2010.

 ?。?] 黃然。 虛擬化格式開放推動虛擬化進程[EB/OL]。(2010-01-12).http://virtual.51cto.com/art/200901/106039.htm

  [3] FACTOR M, METH K, NAOR D,et al. Object Storage: The Future Building Block for Storage Systems[C]// Local to Global Data Interoperability-Challenges and Technologies: Proceedings of the 2nd International IEEE Symposium on Mass Storage Systems and Technologies(MMST’05), Jun 20-24,2005, Sardinia, Italy. Washington, DC, USA : IEEE Computer Society, 2005:119-123.

 ?。?] SNIA-Storage Networking Industry Association.OSD: Object Based Storage Devices Technical Work Group[EB/OL].http://www.snia.org/tech _ activities/workgroups/osd/。

  [5] 楊志強,張炎。構建移動互聯(lián)網(wǎng)應用基礎設施—打造“開放花園”[J]。中興通訊技術,2009,15(4):1-4.

 ?。?] 王英浩。網(wǎng)絡存儲技術初探[J]。中小企業(yè)管理與科技,2009(4):238.

 ?。?] 李崴。基于SAML聯(lián)邦身份管理機制研究[C]//全國第19屆計算機技術與應用學術會議(CACIS2008),2008 年7月15-20日,樂山。

 ?。?] KING. Salesforce推面向開源的Force云運算架構[N]。 計算機世界,2008-01-19.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。