1.4 云計算實現機制
由于云計算分為IaaS、PaaS和SaaS三種類型,不同的廠家又提供了不同的解決方案,目前還沒有一個統一的技術體系結構,對讀者了解云計算的原理造成了障礙。為此,本書綜合不同廠家的方案,構造了一個供讀者參考的云計算技術體系結構。這個體系結構如圖1-4所示,它概括了不同解決方案的主要特征,每一種方案或許只實現其中部分功能,或許還有部分相對次要的功能尚未概括進來。

圖1-4 云計算技術體系結構
云計算技術體系結構分為四層:物理資源層、資源池層、管理中間件層和SOA(Service-Oriented Architecture,面向服務的體系結構)構建層。物理資源層包括計算機、存儲器、網絡設施、數據庫和軟件。資源池層將大量相同類型的資源構成同構或接近同構的資源池,如計算資源池、數據資源池等。構建資源池更多的是物理資源的集成和管理工作,如研究在一個標準集裝箱的空間如何裝下2000個服務器、解決散熱和故障節點替換的問題并降低能耗。管理中間件層負責對云計算的資源進行管理,并對眾多應用任務進行調度,使資源能夠高效、安全地為應用提供服務。SOA構建層將云計算能力封裝成標準的Web Services服務,并納入SOA體系進行管理和使用,包括服務接口、服務注冊、服務查找、服務訪問和服務工作流。管理中間件層和資源池層是云計算技術最關鍵的部分,SOA構建層的功能更多依靠外部設施提供。
管理中間件層負責資源管理、任務管理、用戶管理和安全管理工作。資源管理負責均衡地使用云資源節點,檢測節點的故障并試圖恢復或屏蔽它,并對資源的使用情況進行監視統計;任務管理負責執行用戶或應用提交的任務,包括完成用戶任務映象(Image)部署和管理、任務調度、任務執行、生命期管理;用戶管理是實現云計算商業模式必不可少的一個環節,包括賬號管理、用戶環境配置、用戶交互管理、使用計費;安全管理保障云計算設施的整體安全,包括身份認證、訪問授權、綜合防護和安全審計。
基于上述體系結構,本書以IaaS云計算為例,簡述云計算的實現機制,如圖1-5所示。

圖1-5 簡化的IaaS云計算實現機制
用戶交互接口向應用以Web Services方式提供訪問接口,獲取用戶需求。服務目錄是用戶可以訪問的服務清單。系統管理模塊負責管理和分配所有可用的資源,其核心是負載均衡。配置工具負責在分配的節點上準備任務運行環境。監視統計模塊負責監視節點的運行狀態,并完成用戶使用節點情況的統計。其執行過程并不復雜,用戶交互接口允許用戶從服務目錄中選取并調用一個服務,該請求傳遞給系統管理模塊后,它將為用戶分配適當的資源,然后調用配置工具為用戶準備運行環境。