雲計算的三種服務模式IaaS、PaaS和SaaS的差異

詳見:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt363node

 

雲服務」如今已經快成了一個家喻戶曉的詞了。若是你不知道PaaS, IaaS 和SaaS的區別,那麼也沒啥,由於不少人確實不知道。

  「雲」實際上是互聯網的一個隱喻,「雲計算」其實就是使用互聯網來接入存儲或者運行在遠程服務器端的應用,數據,或者服務。
  任何一個使用基於互聯網的方法來計算,存儲和開發的公司,均可以從技術上叫作從事雲的公司。然而,不是全部的雲公司都同樣。不是全部人都是CTO,因此有時候看到雲技術背後的一些詞可能會比較頭疼。瀏覽器

雲也是分層的安全

  任何一個在互聯網上提供其服務的公司均可以叫作雲計算公司。其實雲計算分幾層的,分別是Infrastructure(基礎設施)-as-a-Service,Platform(平臺)-as-a-Service,Software(軟件)-as-a-Service。基礎設施在最下端,平臺在中間,軟件在頂端。別的一些「軟」的層能夠在這些層上面添加。服務器

 IaaS: Infrastructure-as-a-Service(基礎設施即服務)網絡

  第一層叫作IaaS,有時候也叫作Hardware-as-a-Service,幾年前若是你想在辦公室或者公司的網站上運行一些企業應用,你須要去買服務器,或者別的高昂的硬件來控制本地應用,讓你的業務運行起來。
  可是如今有IaaS,你能夠將硬件外包到別的地方去。IaaS公司會提供場外服務器,存儲和網絡硬件,你能夠租用。節省了維護成本和辦公場地,公司能夠在任什麼時候候利用這些硬件來運行其應用。
  一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不過這些公司又都有本身的專長,好比Amazon和微軟給你提供的不僅是IaaS,他們還會將其計算能力出租給你來host你的網站。框架

PaaS: Platform-as-a-Service(平臺即服務)工具

  第二層就是所謂的PaaS,某些時候也叫作中間件。你公司全部的開發均可以在這一層進行,節省了時間和資源。
  PaaS公司在網上提供各類開發和分發應用的解決方案,好比虛擬服務器和操做系統。這節省了你在硬件上的費用,也讓分散的工做室之間的合做變得更加容易。網頁應用管理,應用設計,應用虛擬主機,存儲,安全以及應用開發協做工具等。
  一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近興起的公司有AppFog, Mendix 和 Standing Cloudpost

SaaS: Software-as-a-Service(軟件即服務)學習

  第三層也就是所謂SaaS。這一層是和你的生活天天接觸的一層,大可能是經過網頁瀏覽器來接入。任何一個遠程服務器上的應用均可以經過網絡來運行,就是SaaS了。
  你消費的服務徹底是從網頁如Netflix, MOG, Google Apps, Box.net, Dropbox或者蘋果的iCloud那裏進入這些分類。儘管這些網頁服務是用做商務和娛樂或者二者都有,但這也算是雲技術的一部分。
  一些用做商務的SaaS應用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。測試

Iaas和Paas之間的比較

    PaaS的主要做用是將一個開發和運行平臺做爲服務提供給用戶,而IaaS的主要做用是提供虛擬機或者其餘資源做爲服務提供給用戶。接下來,將在七個方面對PaaS和IaaS進行比較:

    1) 開發環境:PaaS基本都會給開發者提供一整套包括IDE在內的開發和測試環境,而IaaS方面用戶主要仍是沿用以前比較熟悉那套開發環境,可是由於以前那套開發環境在和雲的整合方面比較欠缺,因此使用起來不是很方便。
    2) 支持的應用:由於IaaS主要是提供虛擬機,並且普通的虛擬機能支持多種操做系統,因此IaaS支持的應用的範圍是很是普遍的。但若是要讓一個應用能跑在某個PaaS平臺不是一件輕鬆的事,由於不只須要確保這個應用是基於這個平臺所支持的語言,並且也要確保這個應用只能調用這個平臺所支持的API,若是這個應用調用了平臺所不支持的API,那麼就須要對這個應用進行修改。
 3) 開放標準:雖然不少IaaS平臺都存在必定的私有功能,可是因爲OVF等協議的存在,使得IaaS在跨平臺和避免被供應商鎖定這兩面是穩步前進的。而PaaS平臺的狀況則不容樂觀,由於不管是Google的App Engine,仍是Salesforce的Force.com都存在必定的私有API。
    4) 可伸縮性:PaaS平臺會自動調整資源來幫助運行於其上的應用更好地應對突發流量。而IaaS平臺則須要開發人員手動對資源進行調整才能應對。
    5) 整合率和經濟性: PaaS平臺整合率是很是高,好比PaaS的表明Google App Engine能在一臺服務器上承載成千上萬的應用,而普通的IaaS平臺的整合率最多也不會超過100,並且廣泛在10左右,使得IaaS的經濟性不如PaaS。
    6) 計費和監管:由於PaaS平臺在計費和監管這兩方面不只達到了IaaS平臺所能企及的操做系統層面,好比,CPU和內存的使用量等,並且還能作到應用層面,好比,應用的反應時間(Response Time)或者應用所消耗的事務多少等,這將提升計費和管理的精確性。
    7) 學習難度:由於在IaaS上面開發和管理應用和現有的方式比較接近,而PaaS上面開發則有可能須要學一門新的語言或者新的框架,因此IaaS學習難度更低。

  PaaS IaaS
開發環境 完善 普通
支持的應用 有限
通用性 欠缺 稍好
可伸縮性 自動伸縮 手動伸縮
整合率和經濟性 高整合率,更經濟 低整合率
計費和監管 精細 簡單
學習難度 略難

表1. PaaS和IaaS之間的比較

將來的PK

    在當今雲計算環境當中,IaaS是很是主流的,不管是Amazon EC2仍是Linode或者Joyent等,都佔有一席之地,可是隨着Google的App Engine,Salesforce的Force.com仍是微軟的Windows Azure等PaaS平臺的推出,使得PaaS也開始嶄露頭角。談到這二者的將來,特別是這二者之間的競爭關係,我我的認爲,短時間而言,由於IaaS模式在支持的應用和學習難度這兩方面的優點,使得IaaS將會在短時間以內會成爲開發者的首選,可是從長期而言,由於PaaS模式的高整合率所帶來經濟型使得若是PaaS能解決諸如通用性和支持的應用等方面的挑戰,它將會替代IaaS成爲開發者的「新寵」

相關文章
相關標籤/搜索