1. 程式人生 > >雲端計算三種服務模式

雲端計算三種服務模式

三種服務模式


根據現在最常用,也是比較權威的NIST(National Institute of Standards and Technology,美國國家標準技術研究院)定義,雲端計算主要分為三種服務模式,而且這個三層的分法重要是從使用者體驗的角度出發的:


Software as a Service,軟體即服務,簡稱SaaS,這層的作用是將應用作為服務提供給客戶。


Platform as a Service,平臺即服務,簡稱PaaS,這層的作用是將一個開發平臺作為服務提供給使用者。


Infrastructure as a Service, 基礎設施即服務,簡稱IaaS,這層的作用是提供虛擬機器或者其他資源作為服務提供給使用者。


一、SaaS模式


作用


通過SaaS這種模式,使用者只要接上網路,並通過瀏覽器,就能直接使用在雲端上執行的應用,而不需要顧慮類似安裝等瑣事,並且免去初期高昂的軟硬體投入。SaaS主要面對的是普通的使用者。


產品


主要產品包括:Salesforce Sales Cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等。


功能


談到SaaS的功能,也可以認為是要實現SaaS服務,供應商需要完成那些功能?主要有四個方面:


隨時隨地訪問:在任何時候或者任何地點,只要接上網路,使用者就能訪問這個SaaS服務。


支援公開協議:通過支援公開協議(比如HTML4/5),能夠方便使用者使用。


安全保障:SaaS供應商需要提供一定的安全機制,不僅要使儲存在雲端的使用者資料處於絕對安全的境地,而且也要在客戶端實施一定的安全機制(比如HTTPS)來保護使用者。


多住戶(Multi-Tenant)機制:通過多住戶機制,不僅能更經濟地支撐龐大的使用者規模,而且能提供一定的可定製性以滿足使用者的特殊需求。


二、PaaS模式


作用


通過PaaS這種模式,使用者可以在一個包括SDK,文件和測試環境等在內的開發平臺上非常方便地編寫應用,而且不論是在部署,或者在執行的時候,使用者都無需為伺服器,作業系統,網路和儲存等資源的管理操心,這些繁瑣的工作都由PaaS供應商負責處理,而且PaaS在整合率上面非常驚人,比如一臺執行Google App Engine的伺服器能夠支撐成千上萬的應用,也就是說,PaaS是非常經濟的。PaaS主要的使用者是開發人員。


產品


主要產品包括:Google App Engine,force.com,heroku和Windows Azure Platform等。


功能


為了支撐著整個PaaS平臺的執行,供應商需要提供那麼功能?主要有四大功能:


友好的開發環境:通過提供SDK和IDE等工具來讓使用者能在本地方便地進行應用的開發和測試。


豐富的服務:PaaS平臺會以API的形式將各種各樣的服務提供給上層的應用。


自動的資源排程:也就是可伸縮這個特性,它將不僅能優化系統資源,而且能自動調整資源來幫助運行於其上的應用更好地應對突發流量。


精細的管理和監控:通過PaaS能夠提供應用層的管理和監控,比如,能夠觀察應用執行的情況和具體數值(比如,吞吐量和反映時間)來更好地衡量應用的執行狀態,還有能夠通過精確計量應用使用所消耗的資源來更好地計費。


三、IaaS模式


作用


通過IaaS這種模式,使用者可以從供應商那裡獲得他所需要的虛擬機器或者儲存等資源來裝載相關的應用,同時這些基礎設施的繁瑣的管理工作將由IaaS供應商來處理。IaaS能通過它上面對虛擬機器支援眾多的應用。IaaS主要的使用者是系統管理員。


產品


主要產品包括:Amazon EC2,Linode,Joyent,Rackspace,IBM Blue Cloud和Cisco UCS等。


功能


IaaS供應商需要在那些方面對基礎設施進行管理以給使用者提供資源?或者說IaaS雲有那些功能?在《虛擬化與雲端計算》中列出了IaaS的七個基本功能:


資源抽象:使用資源抽象的方法(比如,資源池)能更好地排程和管理物理資源。


資源監控:通過對資源的監控,能夠保證基礎實施高效率的執行。


負載管理:通過負載管理,不僅能使部署在基礎設施上的應用運能更好地應對突發情況,而且還能更好地利用系統資源。


資料管理:對雲端計算而言,資料的完整性,可靠性和可管理性是對IaaS的基本要求。


資源部署:也就是將整個資源從建立到使用的流程自動化。


安全管理:IaaS的安全管理的主要目標是保證基礎設施和其提供的資源能被合法地訪問和使用。


計費管理:通過細緻的計費管理能使使用者更靈活地使用資源。


三種模式之間的關係


它們之間的關係主要可以從兩個角度進行分析:其一是使用者體驗角度,從這個角度而言,它們之間關係是獨立的,因為它們面對不同型別的使用者。其二是技術角度,從這個角度而言,它們並不是簡單的繼承關係(SaaS基於PaaS,而PaaS基於IaaS),因為首先SaaS可以是基於PaaS或者直接部署於IaaS之上,其次PaaS可以構建於IaaS之上,也可以直接構建在物理資源之上。