1. 程式人生 > >[轉載]理解雲端計算:SaaS、PaaS與IaaS

[轉載]理解雲端計算:SaaS、PaaS與IaaS

作為一個廣義的術語,雲端計算描述了一種範圍廣泛的服務。許多IT廠商都抓住了“雲”這個概念,並將其作為產品的一種通用技術。對於公司而言,為了真正瞭解並利用雲端計算的價值,首先要了解什麼是雲端計算,及其不同的組成部分。由於雲服務是一個廣泛的服務集合,因此使用者可以選擇何時、何地以及如何使用雲端計算。在這份報告中,我們將解釋不同型別的雲端計算服務,包括軟體即服務(SaaS),平臺即服務(PaaS)和基礎架構即服務(IaaS);並給出一些例子來說明他們如何工作。我們也將說明雲端計算在什麼情況下,不是最好的選擇。

雲端計算層次(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預設的交付方式,所以公司應該儘早考慮將其業務遷移到雲端計算上。