目錄
目錄- 一、IaaS(Infrastructure as a Service)基礎設施即服務
- 二、PaaS(Platform as a Service)平臺即服務
- 三、SaaS(Software as a Service)軟體即服務
- 四、三者之間的關聯
- 五、IaaS 和 PaaS 之間的比較
“云”是互聯網的一個隱喻,“云計算”其實就是使用互聯網來接入存盤或者運行服務器端的參考,資料,或者服務,
任何一個在互聯網上提供其服務的公司都可以叫做云計算公司,其實云計算從用戶體驗的角度三層,分別是Infrastructure(基礎設施)-as-a-Service,Platform(平臺)-as-a-Service,Software(軟體)-as-a-Service,基礎設施在最下端,平臺在中間,軟體在頂端,別的一些“軟”的層可以在這些層上面添加,
一、IaaS(Infrastructure as a Service)基礎設施即服務
作用:通過IaaS這種模式,用戶可以從供應商那里獲得他所需要的虛擬機或者存盤等資源來裝載相關的應用,同時這些基礎設施的繁瑣的管理作業將由IaaS供應商來處理,IaaS能通過它上面對虛擬機支持眾多的應用,IaaS主要的用戶是系統管理員,
產品:主要產品包括:Amazon EC2,Linode,Joyent,Rackspace,IBM Blue Cloud和Cisco UCS等,
功能:
- 資源抽象:使用資源抽象的方法(比如,資源池)能更好地調度和管理物理資源
- 資源監控:通過對資源的監控,能夠保證基礎實施高效率的運行
- 負載管理:通過負載管理,不僅能使部署在基礎設施上的應用運能更好地應對突發情況,而且還能更好地利用系統資源
- 資料管理:對云計算而言,資料的完整性,可靠性和可管理性是對IaaS的基本要求
- 資源部署:也就是將整個資源從創建到使用的流程自動化
- 安全管理:IaaS的安全管理的主要目標是保證基礎設施和其提供的資源能被合法地訪問和使用
- 計費管理:通過細致的計費管理能使用戶更靈活地使用資源
二、PaaS(Platform as a Service)平臺即服務
作用:通過PaaS這種模式,用戶可以在一個包括SDK,檔案和測驗環境等在內的開發平臺上非常方便地撰寫應用,而且不論是在部署,或者在運行的時候,用戶都無需為服務器,作業系統,網路和存盤等資源的管理操心,這些繁瑣的作業都由PaaS供應商負責處理,而且PaaS在整合率上面非常驚人,比如一臺運行Google App Engine的服務器能夠支撐成千上萬的應用,也就是說,PaaS是非常經濟的,PaaS主要的用戶是開發人員,
產品:主要產品包括:Google App Engine,force.com,heroku和Windows Azure Platform等,
功能:
- 友好的開發環境:通過提供SDK和IDE等工具來讓用戶能在本地方便地進行應用的開發和測驗
- 豐富的服務:PaaS平臺會以API的形式將各種各樣的服務提供給上層的應用
- 自動的資源調度:也就是可伸縮這個特性,它將不僅能優化系統資源,而且能自動調整資源來幫助運行于其上的應用更好地應對突發流量
- 精細的管理和監控:通過PaaS能夠提供應用層的管理和監控,比如,能夠觀察應用運行的情況和具體數值(比如,吞吐量和反映時間)來更好地衡量應用的運行狀態,還有能夠通過精確計量應用使用所消耗的資源來更好地計費
三、SaaS(Software as a Service)軟體即服務
作用: 通過SaaS這種模式,用戶只要接上網路,并通過瀏覽器,就能直接使用在云端上運行的應用,而不需要顧慮類似安裝等瑣事,并且免去初期高昂的軟硬體投入,SaaS主要面對的是普通的用戶,
產品:Salesforce Sales Cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等,
功能:
- 隨時隨地訪問:在任何時候或者任何地點,只要接上網路,用戶就能訪問這個SaaS服務
- 支持公開協議:通過支持公開協議(比如HTML4/5),能夠方便用戶使用
- 安全保障:SaaS供應商需要提供一定的安全機制,不僅要使存盤在云端的用戶資料處于絕對安全的境地,而且也要在客戶端實施一定的安全機制(比如HTTPS)來保護用戶
- 多住戶(Multi-Tenant)機制:通過多住戶機制,不僅能更經濟地支撐龐大的用戶規模,而且能提供一定的可定制性以滿足用戶的特殊需求
四、三者之間的關聯
它們之間的關系主要可以從兩個角度進行分析:其一是用戶體驗角度,從這個角度而言,它們之間關系是獨立的,因為它們面對不同型別的用戶,其二是技術角度,從這個角度而言,它們并不是簡單的繼承關系(SaaS基于PaaS,而PaaS基于IaaS),因為首先SaaS可以是基于PaaS或者直接部署于IaaS之上,其次PaaS可以構建于IaaS之上,也可以直接構建在物理資源之上,
五、IaaS 和 PaaS 之間的比較
PaaS的主要作用是將一個開發和運行平臺作為服務提供給用戶,而IaaS的主要作用是提供虛擬機或者其他資源作為服務提供給用戶,接下來,將在七個方面對PaaS和IaaS進行比較:
- 開發環境:PaaS基本都會給開發者提供一整套包括IDE在內的開發和測驗環境,而IaaS方面用戶主要還是沿用之前比較熟悉那套開發環境,但是因為之前那套開發環境在和云的整合方面比較欠缺,所以使用起來不是很方便
- 支持的應用:因為IaaS主要是提供虛擬機,而且普通的虛擬機能支持多種作業系統,所以IaaS支持的應用的范圍是非常廣泛的,但如果要讓一個應用能跑在某個PaaS平臺不是一件輕松的事,因為不僅需要確保這個應用是基于這個平臺所支持的語言,而且也要確保這個應用只能呼叫這個平臺所支持的API,如果這個應用呼叫了平臺所不支持的API,那么就需要對這個應用進行修改
- 開放標準:雖然很多IaaS平臺都存在一定的私有功能,但是由于OVF等協議的存在,使得IaaS在跨平臺和避免被供應商鎖定這兩面是穩步前進的,而PaaS平臺的情況則不容樂觀,因為不論是Google的App Engine,還是Salesforce的Force.com都存在一定的私有API
- 可伸縮性:PaaS平臺會自動調整資源來幫助運行于其上的應用更好地應對突發流量,而IaaS平臺則需要開發人員手動對資源進行調整才能應對
- 整合率和經濟性: PaaS平臺整合率是非常高,比如PaaS的代表Google App Engine能在一臺服務器上承載成千上萬的應用,而普通的IaaS平臺的整合率最多也不會超過100,而且普遍在10左右,使得IaaS的經濟性不如PaaS
- 計費和監管:因為PaaS平臺在計費和監管這兩方面不僅達到了IaaS平臺所能企及的作業系統層面,比如,CPU和記憶體的使用量等,而且還能做到應用層面,比如,應用的反應時間(Response Time)或者應用所消耗的事務多少等,這將提高計費和管理的精確性
- 學習難度:因為在IaaS上面開發和管理應用和現有的方式比較接近,而PaaS上面開發則有可能需要學一門新的語言或者新的框架,所以IaaS學習難度更低
| PaaS | IaaS | |
|---|---|---|
| 開發環境 | 完善 | 普通 |
| 支持的應用 | 有限 | 廣 |
| 通用性 | 欠缺 | 稍好 |
| 可伸縮性 | 自動伸縮 | 手動伸縮 |
| 整合率和經濟性 | 高整合率,更經濟 | 低整合率 |
| 計費和監管 | 精細 | 簡單 |
| 學習難度 | 略難 | 低 |
IaaS 和 PaaS 未來
在當今云計算環境當中,IaaS是非常主流的,無論是Amazon EC2還是Linode或者Joyent等,都占有一席之地,但是隨著Google的App Engine,Salesforce的Force.com還是微軟的Windows Azure等PaaS平臺的推出,使得PaaS也開始嶄露頭角,談到這兩者的未來,特別是這兩者之間的競爭關系,我個人認為,短期而言,因為IaaS模式在支持的應用和學習難度這兩方面的優勢,使得IaaS將會在短期之內會成為開發者的首選,但是從長期而言,因為PaaS模式的高整合率所帶來經濟型使得如果PaaS能解決諸如通用性和支持的應用等方面的挑戰,它將會替代IaaS成為開發者的“新寵”,
它們之間的關系主要可以從兩個角度進行分析:其一是用戶體驗角度,從這個角度而言,它們之間關系是獨立的,因為它們面對不同型別的用戶,其二是技術角度,從這個角度而言,它們并不是簡單的繼承關系,
微信搜一搜 : 全堆疊小劉 ,獲取文章 pdf 版本
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/183614.html
標籤:其他
