Cloud computing is「a style of computing where massively scalable IT-related capabilities are provided ‘as a service’ acros s the Internet to multiple external customers using Internet technologies.」 即,雲計算是用網際網路技術將資訊技術能力整合成以極大規模上可擴展的方式對多個外部客戶作為服務來提供的一種計算方式. 太繞口了,說的白一點吧. 雲計算就是對使用者提供租賃服務的一種計算方式,(由於採用網際網路技術)使用者應該在任何地方都能得到服務,而且(由於在極大規模上可擴展)租金還應該非常便宜。
可是用網際網路技術把大量伺服器聯起來,提供租賃式計算服務,這難道有什麼新意嗎?換一句話:將一個大規模分散式運算網路配備上一個前端計費伺服器(見下圖),那樣一來分散式運算就變成雲計算了嗎? 當然不是! 要不然我就會在如下表示分散式運算的圖中畫上一朵雲彩了。
雲計算具有可擴展計算資源整合的方法. 因此我們也可以認為雲計算是為使用者量身定制一台虛擬電腦. 說到虛擬電腦,我們通常會想到下圖所示意的虛擬機器體系架構. 其中虛擬機器監控器(VMM)是虛擬化技術中的一個重要部件. VMM的主要功能是將硬體資源變成虛擬資源. 將硬體資源變成虛擬資源有許多好處,我就不在此一一列舉了. 只列一條:有時虛擬資源居然會比真實的硬體資源要好,比如我們都知道虛擬記憶體可以遠大於硬體所能提供的記憶體量. 不過用如下圖聯結起來的虛擬機器群還是不能整合出雲計算所需要的為使用者量身定制的虛擬電腦的. 關鍵在於通常的虛擬化方法只考慮到了虛擬單個硬體資源,然後再把虛擬好的單個計算環境聯結起來. 這樣做仍然沒有超脫出上圖所示的分散式運算的思路.
雲計算所需的虛擬化技術必須虛擬架構技術. 簡單說來,聯結要考慮做在VMM群的層面上. 這樣一來,硬體資源的虛擬化就不必局限于單個硬體資源了. 下圖(來源:VMWare的創辦人Mendel Rosenblum)給出了虛擬架構技術的示意. 在這樣的虛擬架構上,一個應用軟體對於硬體資源使用的請求可以不局限于同一個物理硬體資源. 這樣整合出來的虛擬電腦才可以真正是為使用者量身定制的.