由于云計算分為IaaS、PaaS和SaaS三種類型,不同的廠家又提供了不同的解決方案,目前還沒有一個統一的技術體系結構,對讀者了解云計算的原理構成了障礙。為此,本文綜合不同廠家的方案,構造了一個供商榷的云計算體系結構。這個體系結構如圖所示,它概括了不同解決方案的主要特征,每一種方案或許只實現了其中部分功能,或許也還有部分相對次要功能尚未概括進來。
云計算技術體系結構
云計算技術體系結構分為4層:物理資源層、資源池層、管理中間件層和SOA構建層,如圖3所示。物理資源層包括計算機、存儲器、網絡設施、數據庫和軟件等;資源池層是將大量相同類型的資源構成同構或接近同構的資源池,如計算資源池、數據資源池等。構建資源池更多是物理資源的集成和管理工作,例如研究在一個標準集裝箱的空間如何裝下2000個服務器、解決散熱和故障節點替換的問題并降低能耗;管理中間件負責對云計算的資源進行管理,并對眾多應用任務進行調度,使資源能夠高效、安全地為應用提供服務;SOA構建層將云計算能力封裝成標準的Web Services服務,并納入到SOA體系進行管理和使用,包括服務注冊、查找、訪問和構建服務工作流等。管理中間件和資源池層是云計算技術的最關鍵部分,SOA構建層的功能更多依靠外部設施提供。
云計算的管理中間件負責資源管理、任務管理、用戶管理和安全管理等工作。資源管理負責均衡地使用云資源節點,檢測節點的故障并試圖恢復或屏蔽之,并對資源的使用情況進行監視統計;任務管理負責執行用戶或應用提交的任務,包括完成用戶任務映象(Image)的部署和管理、任務調度、任務執行、任務生命期管理等等;用戶管理是實現云計算商業模式的一個必不可少的環節,包括提供用戶交互接口、管理和識別用戶身份、創建用戶程序的執行環境、對用戶的使用進行計費等;安全管理保障云計算設施的整體安全,包括身份認證、訪問授權、綜合防護和安全審計等。
基于上述體系結構,本文以IaaS云計算為例,簡述云計算的實現機制,如圖所示。
簡化的IaaS實現機制
用戶交互接口向應用以Web Services方式提供訪問接口,獲取用戶需求。服務目錄是用戶可以訪問的服務清單。系統管理模塊負責管理和分配所有可用的資源,其核心是負載均衡。配置工具負責在分配的節點上準備任務運行環境。監視統計模塊負責監視節點的運行狀態,并完成用戶使用節點情況的統計。執行過程并不復雜:用戶交互接口允許用戶從目錄中選取并調用一個服務。該請求傳遞給系統管理模塊后,它將為用戶分配恰當的資源,然后調用配置工具來為用戶準備運行環境。