理解雲計算:SaaS,PaaS與IaaS

概要前端

 

做爲一個廣義的術語,雲計算描述了一種範圍普遍的服務。許多IT廠 商都抓住了「雲」這個概念,並將其做爲產品的一種通用技術。對於公司而言,爲了真正瞭解並利用雲計算的價值,首先要了解什麼是雲計算,及其不一樣的組成部 分。因爲雲服務是一個普遍的服務集合,所以用戶能夠選擇什麼時候、何地以及如何使用雲計算。在這份報告中,咱們將解釋不一樣類型的雲計算服務,包括軟件即服務(SaaS),平臺即服務(PaaS)和基礎架構即服務(IaaS);並給出一些例子來講明他們如何工做。咱們也將說明雲計算在什麼狀況下,不是最好的選擇。web

 

雲計算層次(Stack)數據庫

雲計算常被描述爲一個層次堆棧(Stack),每一個層次創建在另外一個層次的頂部,並向上提供服務接口,所以被稱爲「雲」。一般,對於雲計算的的定義來自於美國國家標準與技術研究院(NIST)。NIST將雲計算定義爲一個模型,簡易的管理便可方便地按需配置網絡訪問,並能夠配置計算資源(如網絡,服務器,存儲,應用程序和服務)。編程

 

這意味着最終用戶能夠方便快捷地利用大塊資源。NIST還提供了幾個特色,而且這些特色被認爲是「雲」服務中必不可少的。這些特徵包括:安全

 

•按需自助式服務。用戶經過註冊得到服務,而傳統的IT技術須要很長時間才能爲最終用戶提供服務。服務器

•普遍的網絡訪問資源。能夠經過標準平臺(如臺式機,筆記本電腦,手機等)來訪問服務。網絡

•資源池。資源可被多個客戶享用。架構

•擁有快速的擴展性。能夠隨突發需求高峯來快速擴展。併發

•計費服務。按照使用協定來進行計費。運維

 

近幾年,向市場推出的「雲計算」概念,已經被傳統軟件廠商廣泛接受。下圖描繪了雲計算堆棧的三個不一樣的類別:軟件即服務(SaaS),平臺即服務(PaaS)和基礎設施即服務(IaaS)。

mm.jpg 
在這份報告中,咱們將對全部三個類別進行區分,而區分這三種方式有一個很是簡單的方法:

 

•SaaS經過網絡運行,爲最終用戶提供應用服務。

•PaaS是一套工具服務,能夠爲編碼和部署應用程序提供快速、高效的服務。

•IaaS包括硬件和軟件,例如服務器,存儲,網絡,操做系統。

 

有人曾將這3個組件相互關聯,並寫了一個比喻爲了幫助理解:就其自己而言,單獨的IaaS基礎設施毫無做用,它只能爲上一層的資源提供幫助來發揮其生產力,就比如道路的存在是爲了汽車和卡車來運送乘客與貨物。在這個比喻中,道路被比做爲IaaS基礎設施,而汽車和卡車是坐落在基礎設施之上的工具(PaaS),運送的貨物和人員則可被比做軟件和信息(SaaS)。

 

須要注意的是,雖然本文對SaaS,PaaS和IaaS的差別進行了區分,可是PaaS和IaaS的概念已日趨模糊。如今咱們對這些組件的交互有了大體的瞭解,下面將會把注意力轉向堆棧的頂層——SaaS。

 

 
SaaS:軟件即服務

軟件即服務(SaaS)被定義爲部署在互聯網上的軟件。經過SaaS受權後,能夠訂閱按需服務,即「支付使用」的模式,或經過廣告等方式提供免費服務。這種服務的快速增加使得SaaS迅速流行,所以用戶必須瞭解,什麼是SaaS,以及在哪些場合下SaaS是重要的。

 

SaaS的特色

SaaS遵照廣義雲計算中的定義,並有以下特色:

 

•可經過Web訪問的商業軟件。

•軟件集中式管理。

•軟件經過「一對多」模式進行交付使用。

•最終用戶無需處理軟件升級和補丁。

•應用程序接口(API)可在不一樣軟件之間集成。

  
SaaS的適用場合

SaaS爲雲計算的最終交付提供了一項技術方法。當使用雲計算時,公司必須考慮所遷移的應用程序是否合適SaaS。在如下場合中將應用程序移植到SaaS是個不錯選擇:

 

•Vanilla提供的SaaS功能更爲全面。一個很好的例子是Vanilla提供的衆多服務中包含了電子郵件;而原先使用的是單一功能的軟件,儘管也能知足商務需求,但並無競爭優點。

•須要網絡或可經過移動設備訪問的應用。例如,移動銷售管理軟件

•用於短時間需求的軟件,例如一個特定項目的協做軟件。

•在特定時間需求使用的軟件,例如每個月使用一次稅收或收費軟件。

 

SaaS在引入到商業界後,被Salesforce做爲客戶關係管理(CRM)產品普遍接受。CRM是最流行的SaaS應用之一,一樣,電子郵件,財務管、客戶服務和費用管理也經過SaaS取得了良好的吸取。

  
SaaS不適用的場合

SaaS是一種很是有價值的工具,可是在一些特定的狀況下,SaaS並非軟件交付的最佳選擇。例如,SaaS可能不適合於如下場景:

 

•在須要實時處理數據,以及高速的數據處理應用

•不容許數據被外部託管的狀況

•已有現有的內部部署解決方案可以知足全部需求

 

SaaS,即「軟件即服務」是雲計算最廣爲人知的一種服務,世界各地都在利用雲平臺作爲服務,可是它使得SaaS的易用性和IaaS變得更爲混淆。

 

案例分析:SaaS使得Groupon公司按需爲客戶提供服務

 

Groupon網站於2008年11月推出,提供了橫跨40多個國家,500多個市場的購物、消費交易平臺。公司擁有的數千名員工分佈在芝加哥以及帕洛阿爾託辦事處,而且在歐洲、拉丁美洲、亞洲和非洲區域設立了辦事處。Groupon公司爲客戶提供了優質的產品和出色的服務。

 

Groupon公司的客戶服務主任Harrow介紹道:在公司成立的幾個月內,客戶數量以指數級上升。起初,Groupon公司幾乎花費了10%的時間來響應客戶請求。這些事務甚至須要幾個員工才得以應付。隨後,Groupon公司意識到,在沒有一個真正的解決方案前,沒法繼續運行下去。

 

在確信了Groupon的快速增加將繼續後,他對幾個企業級的系統解決方案進行了研究。企業級解決方案很是複雜,而且很難創建,而且會阻礙客戶體驗。Harrow隨後在網上搜索了在線支持軟件,發現了Zendesk。經過對Zendesk進行評估後,Harrow得出了正確的解決方案。

 

而且他認爲Zendesk使用直觀。和其餘平臺相比,Zendesk更強大,而且評價更高。此外,因爲它是一個基於Web的解決方案,可以對其進行擴展,以支持更多用戶。

 

如今Groupon僱傭了150多個客戶支持代理,可以天天處理近15,000個請求。在代理爲客戶提供公司服務的過程當中,Groupon的宏幫助(即一些FAQ的模板)爲公司創建起了一鍵式解決的客戶形象。

 

同時,Groupon認爲Zendesk可以與其餘解決方案更容易地集成,經過在Zendesk中加入GoodData,Groupon可以擴展和加強其報告,而且不受電子表格的限制。

 
PaaS:平臺即服務

 

在軟件開發時,平臺即服務(PaaS)爲SaaS提供了基礎。PaaS被定義爲一個計算平臺,它使得用戶可以快速、方便地建立web應用,而且無需擔憂維護下層軟件。

 

PaaS相似於SaaS,不一樣之處在於其經過網絡創建一個軟件平臺,而不是經過Web軟件提供服務。

  
PaaS的特色

PaaS由許多不一樣的特徵構成,如下是一些基本的特徵:

 

•在相同的集成開發環境中用來開發、測試、部署、託管和維護的應用。

•基於Web的用戶界面來建立工具,可用於建立、修改、測試和部署不一樣的UI場景

•多客戶架構,可以使多個併發用戶使用相同的開發應用

•內置部署軟件的可擴展性,包括負載平衡和故障轉移

•經過公共標準集成Web服務和數據庫

•支持開發團隊協做,包括一些PaaS解決方案以及項目規劃、溝通工具

•用來處理賬單和訂閱管理的工具

 

儘管PaaS在許多方面相似於第三部分的IaaS,但PaaS有附加的服務價值以及兩個顯著特徵:

1、它是軟件開發的協做平臺,可用於管理應用程序的數據源和工做流。一個例子是Heroku的PaaS的,其利用Ruby on Rails語言開發。

2、它容許用戶來利用應用程序的公共數據來建立軟件,該類型的PaaS能夠被看做是一種方法來建立具備一系列具備公共數據格式或類型的應用程序。Force.com的PaaS即是一個很好的例子。

 

PaaS的重要性

當多個開發人員對同一個項目進行開發或者須要外部人員對開發進行交互時,PaaS特別有用。下面的案例代表,對於那些擁有客戶關係管理工具(例如銷售信息)並但願應用程序能充分利用這些數據的人而言,PaaS被證實是無價的。同時,對於那些但願自動化測試和部署服務的開發人員,PaaS是很是有用的。

 

基於迭代和增量開發的方法使得軟件開發加快並得以普及,它簡化了PaaS的開發和軟件迭代的困難度。

  PaaS的一些例子有:谷歌的App Engine,微軟Azure服務,以及Force.com平臺。

  
不適合使用PaaS的場合

 咱們認爲,PaaS將成爲軟件開發的主流方法。實現流程自動化、而且使用預先定義的組件和構件,自動部署到生產的能力將提供足夠的價值,而且很是有說服力的。雖然如此,可是在必定的狀況下,PaaS可能並不太理想,例如:

 

•當應用在託管時須要較高的可移植性

•當專用開發語言會妨礙從此的另外一提供商的上層服務

•當應用程序性能須要經過底層硬件和軟件來進行定製


案例分析:Menumate公司部署使用PaaS

Menumate爲澳大利亞的整個酒店行業銷售硬件和軟件。使用PaaS的優點使得Menumate在Force.com在遷移的過程當中,可以使用相同的應用程序。

爲其負責軟件開發的Trineo公司的執行董事Fowlie說,使用Force.com的PaaS平臺容許Menumate得以集中控制。

Trineo的執行董事Keswani以爲傳統方式須要顯著增長基礎設施、鏈接以及安全性需求,而Force.com平臺自己提供的這些非功能性需求,使得Menumate和Trineo可以純粹專一於開發所需的功能。此外,利用PaaS的作法意味着Trineo能夠採起現有的集成和自動化部署工具來簡化整個軟件的開發過程。

 

經過使用PaaS,Trineo已經可以在不一樣業務中利用一系列現成的應用程序來開發新應用。如下是PaaS的一些應用:

 

許可證密鑰:Menumate軟件經過使用許可證密鑰來激活客戶已支付的功能。PaaS編程語言的強大功能容許Menumate軟件快速部署到Force.com(其許可證密鑰經過Salesforce.com的CRM中連接),這使得銷售和支持人員能夠快速查看許可證的狀態。

 

案例管理加強:Menumate處理的不少案例與消耗品訂單有關。爲了解決這個問題,Menumate擁有一個單獨的基於DOS的應用程序,容許用戶建立訂單和發票。Menumate可以在支持案例中添加產品,並用現有的集成軟件自動將發票發送到會計軟件上。

 

  
標籤印刷:另外一項傳統應用,可以爲耗材和硬件建立貨運標籤,並將其發送給發送客戶。使用PaaS技術,能夠將這些標籤直接打印到客戶記錄中。

 

IaaS:基礎設施即服務

基礎設施即服務(IaaS)提供了雲計算基礎架構,包括服務器、存儲、網絡和操做系統。它做爲一種按需服務,使得客戶無需購買服務器、軟件、數據庫空間或網絡設備,而只要按需購買這些資源的外包服務。

正如以往的白皮書介紹過,IaaS也有一些值得注意的地方。一般它能夠分爲公共和私有兩種基礎設施或是二者的組合。「公共雲」被認爲是包含了共享資源並在互聯網上部署了自助式服務的基礎設施。

相比之下,「私有云」也集成了一些諸如虛擬化等的雲計算功能,但它是運行在專用網絡上的基礎設施。此外,一些託管服務提供商已經開始在提供傳統託管服務的同時,也提供公共或私有云的網絡組合。這種組合方式一般被稱爲「混合雲」。

  
IaaS的特色

與以前兩個部分的SaaS和PaaS相比,IaaS的是一個迅速發展的領域。能夠說,它廣泛遵照如下幾個核心特徵:

•以資源分配做爲服務

•容許動態調整

•成本可變,以效用訂價

•一般在單一硬件上支持多用戶

 

目前已有大量的IaaS供應商,其中既有諸如Amazon和Rackspace的超大型雲供應商,也有區域型的佼佼者。

 

正如以前所述,PaaS和IaaS的之間的界限正變得愈來愈模糊,由於供應商正將平臺工具做爲IaaS的一部分來幫助雲的多種類型的部署。

  
IaaS的適用場合

IaaS在與雲計算密切相關的場合下將會發揮效益,這些場合包括:

•要求基礎設施能在任意時刻能適應變化無窮的需求量

•當新公司沒有預算投資於硬件

•當公司發展迅速,在擴展硬件時遇到問題

•當公司迫於預算限制,須要將資金轉移到經營開支上

•一些特定的商務領域,也可用於測試或臨時性的設施需求

 

不適合使用IaaS的場合

雖然IaaS有可擴展性強和大規模部署迅速的優點,但在某些狀況下也有它的侷限性。在如下場合中,建議慎用IaaS:

•限於法律的規定,要求數據存儲和處理進行隔離

•對基礎設施有很是高的性能要求,或原先的內部部署或專用託管基礎設施已經知足需求

  
案例分析:Live Smart經過採起基礎設施來幫助減肥者

 

Live Smart是推廣該飲食解決方案的幕後公司,主要出版飲食類書籍和策劃在線活動。Beyond Diet是該公司旗下的一個與減肥者互動的社區網站。

從2008年起該公司的業績增加迅猛,甚至在2010年有了50倍的收益增加。這至關於網站有30萬日的均實訪客量,峯值甚至高達100萬人次。當在考慮基礎設施的架構時,Beyond Diet須要的是可託管性和可擴展性。重要的是,Beyond Diet網站規模須要動態的擴大或縮小的能力,以來應對按期的大流量高峯。

 

Live Smart首席技術官Rob·Volk說:「遷移到雲基礎設施後他省心了,而在此以前Live Smart在其網站上須要有一個兼職系統管理員,這是顯然不是最好的選擇;如今有了Managed Cloud(由雲提供商Rackspace提供的IaaS服務),Rackspace基本上能夠扮演咱們的Linux和Windows系統管理員,全天24小時任什麼時候刻若是發生當機,幾分鐘以內他們的工程師就會來解決這些問題,這個雲改變了咱們的工做,所以咱們須要這種基礎設施。」

 

對於Volk來講,將其網站移動到雲的主要動力是他能夠更加專一核心業務,而讓那些基礎設施的專家來平常管理雲的運維,由於雲供應商提供多級冗餘的硬件、快速的配置和高度的靈活性,這些都起了決定性因素。有趣的是,Volk甚至從未考慮過經營本身的物理服務器,而是考慮究竟選擇託管服務器仍是雲中的一個。

 

他選擇了雲還由於它下降了成本,相比那些專用服務器,雲的選擇有更高的靈活性。

 

Volk正在使用多個雲服務提供商:他有三個Web服務器,多個數據庫服務器和一個Rackspace的負載平衡器,同時也使用Amazon的S3服務。

 

Volk認爲其中最大的好處是雲基礎設施的可擴展性。他解釋說:「每當過年的時候不少人都去節食,咱們的服務器的高峯時間正是在每一年的1月到到3月之間,此時網站的流量是平時的三倍,而利用雲服務器,咱們只需在幾分鐘以內就能創建好新的Web前端。一旦流量降低,咱們能夠關閉這些前端。只有在雲虛擬化環境中,咱們纔可能有這樣的可擴展性。」

 

結論
雲計算不是一個單一的術語,而是一個總稱,它提出了IasS做爲基礎、PaaS做爲開發工具、SaaS做爲頂層應用,來取代以往的內部部署應用服務。

對於那些打算遷移到雲計算的公司而言,很是重要的一點,是須要了解雲計算的每一個層面,並結合本身的狀況來決定哪些是適合他們需求的解決方案。

隨着IT的發展,雲計算將加速變革,並將成爲將來IT默認的交付方式,因此公司應該儘早考慮將其業務遷移到雲計算上。

相關文章
相關標籤/搜索