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