詳解多種云計算要素
由于需要在請求計算資源時,可以對其進行快速的添加,人們發(fā)展出了允許提供資源,但不用明確地知道資源具體是什么,以及資源所在位置的技術(shù)。這種在彈性環(huán)境上,提供所需資源供應(yīng)的技術(shù),叫做云計算。大家認(rèn)同這種計算方式變化的主要原因之一,是將快速的大比例的資源用到更小的受限制環(huán)境中的潛力。
由于虛擬計算得到了廣泛的采用,目前,這種新的計算模式在商業(yè)上已經(jīng)可行了。就像虛擬機可以建立在相對較少考慮底層硬件(除了容量)的基礎(chǔ)上,虛擬計算允許對資源進行快速地配置。(已經(jīng)可以實現(xiàn)的是,物理地對處理器這樣的所需新資源進行分配,至少在技術(shù)上,供應(yīng)商已經(jīng)提供很多年了;但是,就采用這些技術(shù)而言,仍然沒有建立一個可行的收費模式并讓人所接受。)
云計算要素
在一個云計算環(huán)境中,抽象和缺乏控制的水平都依賴于特定的解決方案。然而,大多數(shù)的解決方案都是通過相同的要素來搭建環(huán)境,而不太考慮,實際上賦予了用戶多少控制權(quán)。這些要素包括:應(yīng)用程序接口(API)、網(wǎng)絡(luò)、處理周期(CPU)和存儲。
API:API要素通常被稱為客戶端接口,可以為開發(fā)者提供對特定抽象元素的控制(比如Java要素、存儲空間等等)。
網(wǎng)絡(luò):網(wǎng)絡(luò)要素通常對于云用戶來說是不可見的。但是,對于從公共互聯(lián)網(wǎng)到私有云資源之間的事務(wù)相互轉(zhuǎn)換,網(wǎng)絡(luò)要素是其基礎(chǔ)。網(wǎng)絡(luò)元素通常也是虛擬化的,讓網(wǎng)絡(luò)可以彈性地進行失效備援,同時可以離線地為系統(tǒng)以及可能存在的網(wǎng)絡(luò)路由器、交換機賦予網(wǎng)絡(luò)地址。
CPU:依賴于提供的解決方案,對于云用戶來說,處理周期可能可見也可能不可見。在某些環(huán)境下,可能需要基于系統(tǒng)提供的指令數(shù)量,提供資源,并建立相應(yīng)的列表。在更高的層次上來說,這些處理周期是中央處理單元,或者通過虛擬化的部分中央處理單元。
存儲:由于其相對較高的成本,以及難以對增長進行規(guī)劃并進行相應(yīng)的供應(yīng),所以存儲很適合通過云計算來實現(xiàn)。根據(jù)解決方案,存儲可能會提供給用戶。比如說,EMC公司的Mozy Backup solution提供了可訪問的存儲,以對個人電腦進行備份。
利用Eucalyptus的開源云計算
Eucalyptus云計算軟件,在一個開源的平臺上(也可以商業(yè)化),提供了對這些資源的抽象。Eucalyptus的源碼是公開的。并且有提供給CentOS 5.3、OpenSUSE 11、Debian 5以及Ubuntu 9.04的軟件包。
Eucalyptus選擇Xen和KVM作為虛擬化的管理程序。截止到本文發(fā)表,其發(fā)布的版本是1.5。
Eucalyptus組件:在邏輯上,Eucalyptus云包括4個組件:客戶端、云控制器(簡稱cls或者“cloud”)、集群控制器 (cc)以及節(jié)點控制器(nc)。客戶端依賴于解決方案,但可能以瀏覽器腳本、一個用戶空間應(yīng)用程序、或者甚至是一個內(nèi)核模塊的形式出現(xiàn)。云控制器是從客戶端進入云的接口,并為云提供邏輯決定。云控制執(zhí)行對客戶端進行認(rèn)證的服務(wù),并將客戶端的請求轉(zhuǎn)化為事務(wù)。集群控制器是一個節(jié)點控制器集合。它負(fù)責(zé)狀態(tài)信息并與所提供的虛擬機進行交互??墒?,節(jié)點自身是通過管理程序(Xen或者KVM)來與在線以及離線虛擬機進行交互的。一個節(jié)點控制器在一個單獨的機器上是作為一個獨立的實例存在的。但是,多個節(jié)點控制器組成了特定的云。
【編輯推薦】