云計算可以按需提供彈性資源,它的表現形式是一系列服務的集合。結合當前云計算的應用與研究,其體系架構可分為核心服務、服務管理、用戶訪問接口3層,如圖所示:

核心服務層將硬件基礎設施、軟件運行環境、應用程序抽象成服務,這些服務具有可靠性強、可用性高、規??缮炜s等特點,滿足多樣化的應用需求。服務管理層為核心服務提供支持,進一步確保核心服務的可靠性、可用性與安全性[1]。用戶訪問接口層實現端到云的訪問。
1.核心服務層
云計算核心服務通常可以分為3個子層:基礎設施即服務層(Infrastructure as a Service,IaaS)、平臺即服務層(Platform as a Service,PaaS)、軟件即服務層(Software as a Service,SaaS)。表10-1對3層服務的特點進行了比較。
表10-1 云計算的3層服務
IaaS提供硬件基礎設施部署服務,為用戶按需提供實體或虛擬的計算、存儲和網絡等資源。在使用IaaS層服務的過程中,用戶需要向IaaS層服務提供商提供基礎設施的配置信息,運行于基礎設施的程序代碼以及相關的用戶數據。由于數據中心是IaaS層的基礎,因此數據中心的管理和優化問題近年來成為研究熱點。另外,為了優化硬件資源的分配,IaaS層引入了虛擬化技術。借助于Xen、KVM、VMware等虛擬化工具,可以提供可靠性高、可定制性強、規??蓴U展的IaaS層服務。
PaaS是云計算應用程序運行環境,提供應用程序部署與管理服務。通過PaaS層的軟件工具和開發語言,應用程序開發者只需上傳程序代碼和數據即可使用服務,而不必關注底層的網絡、存儲、操作系統的管理問題。由于目前互聯網應用平臺(如Facebook、Google、淘寶等)的數據量日趨龐大,PaaS層應當充分考慮對海量數據的存儲與處理能力,并利用有效的資源管理與調度策略提高處理效率。
SaaS是基于云計算基礎平臺所開發的應用程序。企業可以通過租用SaaS層服務解決企業信息化問題,如企業通過Gmail建立屬于該企業的電子郵件服務。該服務托管于Google的數據中心,企業不必考慮服務器的管理、維護問題。對于普通用戶來講,SaaS層服務將桌面應用程序遷移到互聯網,可實現應用程序的泛在訪問。
2.服務管理層
服務管理層對核心服務層的可用性、可靠性和安全性提供保障。服務管理包括服務質量(Quality of Service,QoS)保證和安全管理等。云計算需要提供高可靠、高可用、低成本的個性化服務。然而,云計算平臺規模龐大且結構復雜,很難完全滿足用戶的QoS需求。為此,云計算服務提供商需要和用戶進行協商,并制定服務水平(Service Level Agreement,SLA)協議,使得雙方對服務質量的需求達成一致。當服務提供商提供的服務未能達到SLA的要求時,用戶將得到補償。
3.用戶訪問接口層
用戶訪問接口實現了云計算服務的泛在訪問,通常包括命令行、Web服務、Web門戶等形式。命令行和Web服務的訪問模式既可為終端設備提供應用程序開發接口,又便于多種服務的組合。Web門戶是訪問接口的另一種模式。通過Web門戶,云計算將用戶的桌面應用遷移到互聯網,從而使用戶隨時隨地通過瀏覽器就可以訪問數據和程序,提高了工作效率。