隨著技術的發展和各行業對云概念理解的深入,云開始在各個層面和各個領域蔓延。它已經變成一種思路、一種潮流,如云計算、云服務、云安全等。它們可以使計算能力、服務、運營能力及安全能力通過一個平臺集中提供并控制,并讓其成為千千萬萬的企業和個人可以隨需索取的東西。
如何讓云深入人們的生活?其中的關鍵在于開放平臺的提供,它可以使云透過標準通用管道,服務于普通百姓人家。可以說,使用云能力的門檻越低、越便利,使用范圍才能越來越廣。云計算的能力開放,不僅方便最終使用者,更是受益第三方企業,他們能利用開放的接口和服務, 提供超出云計算本身能力的服務。
1 IaaS能力開放架構
1.1 虛擬化能力開放
目前業界已有很多廠商可以提供虛擬化解決方案,如VMWare、 Microsoft、Citrix以及基于開源的Xen/KVM等。各種虛擬化解決方案各有特色,但目前面臨的最大問題是:不論是生成的虛擬化文件,還是虛擬化的管理都各自為政、互不兼容。
當前的形式迫切需要一種標準,能向所有參與者提供虛擬化應用的方法,并且減少多個、競爭性的、不兼容的實現所帶來的問題。目前,分布管理任務組織已開始使用開放式虛擬機(OVF)格式。OVF支持多虛擬化映像格式,對于任何監管程序的虛擬機都可以使用它引導程序并加載。另外,OVF引導程序是基于數字簽名的,確保了免費發布和用戶的利益。
虛擬化最主要的參與廠商,像Dell、HP、IBM、微軟、VMware以及Citrix都加入了OVF,后幾者的加入表明虛擬化廠商參與的重要性,同時也增強了標準被廣泛采納的可能性。
中興通訊公司在虛擬化的統一管理方面提供了開放的管理平臺,能夠支持多種底層虛擬化環境,如圖1所示。它未來也將可以支持OVF, 并能提供用戶側的監控與網管,自由創建、銷毀、遷移及監測各虛擬機及上層應用的狀態。由于虛擬機調度可能導致網絡設備以及負荷平衡設備的變化,因此將對網絡設備也實現統一管理。虛擬化平臺向應用層提供可信的虛擬化開放接口,可以讓應用系統根據自身需求,動態調度虛擬機。業務系統通過開放的接口調用,就能夠實現更加廣義的自動化業務彈性可擴展解決方案。
1.2 存儲能力開放
存儲能力是最基本的能力之一,也是所有數據能夠被處理的基礎。目前的數據存儲主要有3種訪問方式:文件存儲、對象存儲以及塊存儲。塊存儲與文件存儲面向底層接口,一般來說對應用透明;對象存儲屬于應用層之上的軟接口[1]。
從文件系統的角度來看,云計算主要面向的是分布式文件系統,它是云基礎架構中最核心的元素,目前比較著名的有RedHat GFS、IBM 的GPFS及SUN的Luster。這些分布式文件系統對硬件設施的要求較高,往往需要存儲節點自身提供數據可靠性的保證。這類文件系統通常會在操作系統核心提供開放接口供文件訪問。另外一類是類似Google GFS產品,如開源的HDFS、KFS、阿里巴巴的盤古文件系統等,此類產品使用廉價商用機器搭建分布式文件系統,并在用戶態提供開放接口。
不論何種內部實現方式,分布式文件系統都需要提供可靠性存儲及可供應用訪問的接口。核心域實現的存儲開放方式主要是在操作系統內核層面通過專用驅動實現裸設備的暴露,操作系統使用通用的文件系統如Ext3對應用開放。用戶域的存儲開放方式是Posix接口或專用的私有協議接口。使用用戶態開放接口有如下好處:
在用戶態文件系統與操作系統松耦合,便于單獨升級,穩定性好。
減少操作系統導致的底層交互次數,降低復雜度,提高效率。
接口更豐富,能夠實現更好的優化。
安全性更好控制。
當然,用戶態開放也有缺點,如接口對應用有侵入性。如果遷移到其他存儲系統將需要重新編譯相關應用。
對應用戶態開放的是通用接口方式,如網絡文件系統(NFS)、文件傳輸協議(FTP)等標準協議。由于這些標準協議制訂時并未考慮到分布式問題,所以接口本身的分布式需要重點解決,即接口本身如何尋址、容錯、負載均衡等。同時需要重點解決多文件共享訪問的讀寫鎖問題。
中興通訊分布式文件系統對于通用接口方式采用動態域名系統(DNS)結合接口IP虛擬化技術,較好地解決尋址及容錯問題,并且通過服務端增加額外一層接口層實現了根據能力的負載均衡技術。
1.3 對象存儲技術
直接開放文件系統的存儲方式比較適合私有云的構建,對于面向公眾服務的公有云服務,我們期望能夠和WEB協議(HTTP)兼容。互聯網的快速發展對存儲系統的容量、性能和功能提出了巨大挑戰,主要表現為大容量、高性能、可擴展性、可共享性、自適應性、可管理性,以及高可靠性和可用性,目前市場上沒有一種解決方案可以滿足所有這些要求。對于快速升級的存儲需求,基于對象存儲(OBS)技術是一種非常有前景的解決方法,它融合了高速可直接訪問的存儲網絡(SAN)和安全、良好跨平臺共享數據的網絡附屬存儲(NAS)的優點。通過對象存儲可以很好地屏蔽底層協議及網絡結構的復雜性,對象存儲的具體特點如圖2所示。下一代互聯網和PB級存儲大規模部署迫切地期待基于對象存儲技術的成熟和大規模應用。對象存儲設備(OSD) 可以基于獨立的設備(如OSD硬盤),也可以在分布式系統上構建。為保證對象的唯一性,面向分布式系統時一般會劃分對象組,確保在不同對象組內對象具有唯一性。
對象設備內部管理元數據(空間管理)。
對象ID是訪問該對象的唯一標志(每個OSD設備唯一)。
圖3所示的是OSD安全模型,它是一個基于證書的訪問控制系統,由4個實體組成:應用客戶端、安全服務、策略/存儲管理者及對象服務。
對象存儲一般都要包含如下操作:讀、寫、列表、刪除、獲取元數據,例如Amazon 簡單存儲服務(S3)面向各種應用提供了面向對象的S3。
對象存儲主要是面向應用開放,目前各種系統接口尚未完全統一。提供WebService或RESTful的接口比較便于應用的透明接入,但提供基于長鏈接的定制化客戶端接入則比較容易做到高效訪問。
中興通訊開發的分布式鍵值訪問系統就屬于典型的對象存儲方式。它將數據區劃分為不同的桶,每個桶內的對象對應唯一的鍵。通過鍵信息,可以獲取對應的訪問權限驗證元數據信息和值信息。為了保證系統的可擴展性,整個系統搭建成無主網絡,并且可以做到元數據信息以及鍵值信息的自動分布與備份。系統為提高性能,同時支持了持久化存儲與非持久化存儲機制。
1.4 塊存儲能力開放
塊存儲將存儲區域劃分成固定大小的小塊,是傳統裸存儲設備的存儲空間對外暴露方式,如圖4所示。傳統設備的塊存儲面向的是單一的物理設備,而到了云計算環境,塊存儲設備也將面臨分布式環境。
在云計算中提供塊存儲能力對于虛擬機與存儲系統的有機結合有著其他存儲方式無法替代的作用[2]。因為很多應用軟件并沒有按照云存儲形式進行改造或優化,例如大部分的數據庫軟件。如果想要在虛擬機中有效地部署并使用這些應用,提供塊存儲能力必不可少。
塊存儲的一個問題是安全性較差。因并非直接對應用暴露接口,而是面向操作系統暴露底層設備,因此對于存儲的內容往往沒有較好的辦法進行控制。
中興通訊配合虛擬機技術,實現了分布式的塊存儲訪問模式。通過塊存儲,能夠將多臺機器上的物理存儲設備虛擬化,并且重新切分,分配給需要使用的虛擬機。使用塊存儲設備還可以很好地利用淘汰下來的舊存儲設備,通過存儲虛擬化接口層,將不同的物理底層設備接口進行屏蔽[3-4]。
通過存儲虛擬化層整合各種物理存儲設備,并將它的內空間按固定的大小統一切片。然后向客戶端提供塊存儲接口,并將多個切片后的小塊存儲區域通過存儲虛擬化層統一調度并組成客戶所需要的卷大小,如圖5所示。每個小的切片都會由接口將客戶機的塊訪問請求直接映射成為物理機的塊訪問請求。
1.5 IaaS能力開放的安全性考慮
對于商業系統用戶來說,系統的高效訪問、可靠性、易用性是其中一個方面,但最終決定是否使用云計算作為企業基礎服務的是能力開放的安全性。
(1) 特權使用者的管理
特權使用者,例如運營商的管理員,由于具有絕對的權力,必須嚴格監管。
(2) 法規的遵守
雖然云計算公司是通過運營商提供服務,但法律法規還需要提供服務的公司遵守并承擔,而非運營商本身。因此客觀要求不僅是服務公司必須滿足相關的法規要求,為其提供服務的運營商也必須滿足相關的要求才能夠避免法律風險。
(3) 資料所在地理位置的管控
隱私保護權在各個國家和地區有所不同,作為無邊界的網絡服務,必須有能力滿足特定地理位置下用戶的隱私規則,以保證符合服務地的法規。有些國家和地區對敏感數據的物理存儲地址也有限定,服務提供商必須能夠滿足這些要求。
(4) 數據的隔離
云服務面向很多用戶,因此必須保障數據的有效隔離,必要時要有能夠提供數據物理隔離的能力。
(5) 故障情況下數據的恢復能力
故障發生時,如何能夠快速恢復服務與數據,并有效備份數據,是必須考慮的。
(6) 對調查的支援能力
某些法律,如《薩班斯法案》中,要求所有的數據操作都有可追溯性。如果面臨審計或法律調查,服務提供商要能夠有效提供相關的操作數據。
(7) 永久可用性
云服務的供應商不一定可以永久地提供服務,例如HP最近就停止了網絡相冊服務。在服務終止時,將數據和服務由一個運營商遷移到另一個運營商或自己的數據中心是一個非常重要的安全性因素。
2 PaaS能力開放架構
2.1 基于虛擬化的業務云托管與部署
這種應用場景主要是互聯網數據中心(IDC)的運營[5],典型的如Amazon的彈性計算云(EC2),能夠支持各種不同的操作系統以及開發環境。這種類型的平臺一般向用戶提供了如下特性:
靈活性
系統一般容許用戶對運行實例的類型、數量、占用的資源量甚至地理位置進行相對自由的定制,并可以根據用戶需求隨時調整。
低成本
使用運營商提供的這種服務以后,小型企業就不必自行購置昂貴的機器設備及網絡設備,可根據服務的容量及時間進行收費。
安全性
運營商一般會提供一整套的安全措施,如基于安全外殼協議(SSH)的訪問鑒權、防火墻設置等,同時容許用戶對他們的應用自行監控。
易用性
運營商除了提供基礎的虛擬機服務以外,還會提供其他一些基礎服務,如對象存儲、數據庫、消息管道等。應用程序不必額外搭建這些基礎設施就能夠直接使用。
容錯性
系統一般都提供一定的網絡及存儲容錯機制,一旦發生故障,能夠保障數據的可靠及盡可能穩定的用戶服務。
對外提供的訪問接口主要有3類:
虛擬機遠程訪問接口。主要是通過統一驗證的SSH服務及可靠數據協議(RDP)服務提供。
管理服務接口。提供用戶自行監控虛擬服務集群的狀態及創建、刪除、調整虛擬節點。
業務服務訪問接口。完全由客戶在虛擬機內運行的服務提供,但系統可以提供統一的安全訪問服務。
2.2 業務能力開放
業務開放平臺能夠提供網絡或業務執行的模塊接口。開發者能夠通過調用開放應用程序編程接口(API)所提供的各種功能[6],快速集成不同的模塊,以建立新的網絡應用。目前這類服務有很多,最著名的是Google的地圖服務。電信企業也能夠開放和電信相關的一些業務,例如手機的位置查詢服務、短信群發服務等;淘寶也根據自身需要,開放了與很多用戶商品和交易相關的API。
為了讓這些不同的服務與資料快速集成,很多公司還同時提供Mashup快速開發工具,例如Yahoo 的Pipe、Google 的Mashup Editor 以及微軟的Popfly。
在業務能力開放平臺,一般還需要設立開發者沙箱[7],用于協助開發者在開發階段模擬真實系統操作,同時又不干擾真實系統的運營。圖6是業務能力開放平臺的一套典型部署結構。
業務能力開放平臺對于客戶端的接入必須要有訪問控制功能,一方面是客戶方的鑒權與認證,只有經過合法認證的客戶方才能夠使用業務服務;另一方面不同級別客戶的訪問權限及調用頻率需要驗證,以防錯誤的客戶方或惡意的程序導致服務異常或數據異常。
2.3 在線服務托管模式
在線業務托管平臺是企業資源計劃(ERP)、客戶關系管理(CRM)或通用的服務提供商通過開放平臺,容許第三方在托管平臺上開發自己的服務并對外提供服務。這些第三方開發的服務有各自明確的用戶、獨立的需求,但是需要使用平臺方提供的基礎資源進而對外服務。典型的如Google的App Engine、Saleforce 的force.com及ebay與淘寶的托管平臺。第三方服務共享平臺的資源、用戶和數據,專心開發需求解決方案,有效地補充了平臺所不具備的各種能力。例如目前eBay 有45%的商品是通過第三方應用上架。
各平臺包含標準的服務框架、數據訪問接口以及特定的編程語言支持。部署在平臺上以后,平臺可以自動根據訪問的熱度等分配計算資源,進行平滑擴展。
2.4 開放服務接口的版本管理與動態升級
對外服務不可避免地會涉及到接口的版本管理與升級策略,為保證服務的持續性,我們必須保證能夠在不中斷服務的情況下進行版本升級,保障不同版本客戶端之間的兼容性與可用性。圖7說明了如何進行向前兼容的服務接口設計及升級流程。
2.5 安全的服務開放
保證服務穩定可靠的關鍵是提供可信服務,它有3層含義:需要有手段去驗證服務的使用者身份,只有授權的用戶才能訪問特定服務;服務本身是可靠的,非法用戶或非法訪問不會影響正常的用戶訪問;服務的數據保存是安全可靠的,只有可信賴的人能夠訪問可信賴的數據。
保證訪問安全有如下一些做法:
訪問應用的授權與簽名。客戶端系統或應用接入云服務前,必須經過云服務商的認證。認證結果以授權碼方式交給客戶方。以后的每次訪問,客戶方都需要出示授權碼,或請求使用授權碼進行簽名。系統返回的結果也同樣由系統證書進行簽名,以達到通信雙方的互信[8]。
時間戳方式。對于異步系統,使用時間戳及唯一的客戶端ID作為請求的序列號,系統返回時同樣使用相同的方式構造序列號以進行適配。
冪等檢查。通過客戶端生成唯一的序列號,服務端可以檢測客戶端命令是否重復發送,如有重復將直接拋棄。冪等檢查可以保證所有服務請求都是一次性且唯一的,即使被惡意截獲并通過網絡設備重播,也不會執行。
通過安全白名單進行控制。通過白名單制度,系統保證只有經過安全認證的客戶端能夠接入,通常可以通過認證證書實現,這是最嚴格的訪問限制。
如果涉及到第三方開發的應用,可以使用系統反向調用方式保證用戶輸入的認證信息不被第三方應用獲取,并且可以通知第三方應用使用者是否有相關授權。
圖8說明了用戶聯邦模式的關系,實現用戶聯邦模式下的統一用戶開放具體步驟如下:
(1) 用戶訪問第三方應用。
(2) 第三方應用將用戶引導到平臺側進行認證。
(3) 平臺對用戶在平臺所屬界面進行權限認證。
(4) 平臺生成令牌,反向調用第三方應用接口,將用戶、用戶令牌以及所屬授權信息交給第三方應用。
(5) 第三方應用將用戶與用戶令牌綁定。
(6) 第三方應用需要訪問平臺側用戶數據時,出示用戶令牌,即可按用戶權限進行訪問。
(7) 訪問完成后,第三方應用通知平臺注銷令牌。
3 SaaS能力開放架構
Force.com的CRM軟件巨頭Salesforce建立了企業級的云計算平臺,它允許其客戶在Force.com上開發用于內部使用的應用。2009年,Force.com推出了一個新的分銷途徑:增值零售商(VAR)。這些VAR通常是為大公司做IT咨詢的顧問和系統集成的公司,它們可以基于Force.com開發應用,并把這些應用連同Force.com的基礎數據庫打包銷售給大公司。比如,一個人力資源顧問公司可以基于Force.com數據開發一套招聘應用,賣給財富500強。
這些VAR伙伴不僅能夠分銷Force.com的云計算平臺,也能分銷諸如移動能力、存儲、建站、開發沙箱等附加功能。為Force.com平臺開發企業級應用的可能性非常多。目前,有超過12 萬個圍繞Force.com開發的應用,如供應鏈管理、貨物跟蹤、品牌管理、應收賬款、投訴處理等等。
中興通訊針對電信業務,打造了電信服務能力開放平臺,第三方可以通過這個平臺定制化開發電信業務的各種能力。這個平臺還能夠將電信業務的各種原子服務進行組合,在免編程情況下組合成為復雜業務對外提供。
中興通訊的電信能力開放平臺主要由業務開發環境,業務執行環境及管理模塊構成,如圖9 所示。
4 結束語
云計算作為通用的服務基礎設施,必須能夠被各種業務和應用使用才能夠體現價值,否則只是封閉的專用系統。就像水和電,必須要有標準化的水管與電路才能夠引入千家萬戶。因此云計算的各個層面,均需要進行開放并遵循相關的開放標準,實現通用的云服務。在IaaS層有OVF的虛擬化標準、標準的文件訪問以及對象存儲和塊存儲;PaaS層是業務的提供和能力開放平臺,這個層面服務本身千變萬化,但我們可以遵循一些通用的設計原則保證服務接口的平滑升級以及服務的安全提供;SaaS層面是完整的業務提供,中興通訊在這個層面關注如何提供平臺,讓第三方也能夠快速開發各種業務。
5 參考文獻
[1] 劉鵬。云計算[M]。 北京:電子工業出版社,2010.
[2] 黃然。 虛擬化格式開放推動虛擬化進程[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.
[4] SNIA-Storage Networking Industry Association.OSD: Object Based Storage Devices Technical Work Group[EB/OL].http://www.snia.org/tech _ activities/workgroups/osd/。
[5] 楊志強,張炎。構建移動互聯網應用基礎設施—打造“開放花園”[J]。中興通訊技術,2009,15(4):1-4.
[6] 王英浩。網絡存儲技術初探[J]。中小企業管理與科技,2009(4):238.
[7] 李崴。基于SAML聯邦身份管理機制研究[C]//全國第19屆計算機技術與應用學術會議(CACIS2008),2008 年7月15-20日,樂山。
[8] KING. Salesforce推面向開源的Force云運算架構[N]。 計算機世界,2008-01-19.