天天看點

雲計算的SPI服務模型

雲計算的SPI服務模型

雖然目前對于雲計算還沒有一個統一的定義,但是大家對雲計算的服務模型已有了一個相對統一的認識。我們知道雲計算是通過共享資源池的方式來提高資源使用率的。在雲計算中,根據其資源池中資源的類别,可以把雲計算的服務模型分為三種,即所謂的SPI 模型,如表1.1 所示。

表1.1 SPI模型

資源類别 雲計算服務模型(SPI)

應用程式 Software as a Service (SaaS)

系統平台 Platform as a Service (PaaS)

基礎設施 Infrastructure as a Service (IaaS)

1.4.1 軟體即服務(SaaS,Software as a Service)

軟體即服務(SaaS )是使用者擷取軟體服務的一種新形式,也是目前最為常見并且使用最多的一種雲計算服務方式。使用者一般不需要将軟體産品安裝在自己的電腦或伺服器上,而是按某種服務水準協定(SLA )直接通過網絡從專門的提供商擷取自己所需要的、帶有相應軟體功能的服務。本質上而言,軟體即服務就是雲計算服務提供商為滿足使用者某種特定需求而提供其消費的軟體的計算能力。SaaS 類型的雲計算服務有以下主要特點。

(1)使用者主要通過标準的Web 浏覽器來使用網際網路上的軟體服務。

(2)多主租用(Multi-tenancy) 。

(3)使用者不必購買軟體,隻需按需租用軟體或通過廣告模式免費使用。

SaaS 實際上是一個比雲計算出現得更早的概念,而且在業界稱其為SaaS,之前還有一個與之關系密切的概念叫應用服務提供商(ASP,Application Service Provider ),但是現在我們把它歸納為雲計算的一種服務模型。目前,SaaS 有多種典型的應用,如線上郵件服務、網絡會議、線上殺毒等各種工具型服務,還有線上CRM 、線上HR 、線上進銷存、線上項目管理等各種管理型服務。SaaS 是應用軟體的一個發展趨勢,目前已吸引了衆多廠商的參與。像微軟Office365 中的線上服務、Salesforce 的線上CRM 等都是典型的SaaS 服務,國内的用友、金蝶等軟體廠商也都推出了自己的SaaS 應用。

1.4.2 平台即服務(PaaS,Platform as a Service)

平台即服務(PaaS )是指将一個完整的應用程式運作平台作為一種服務提供給客戶。在這種服務模式中,客戶不需要購買底層硬體和平台軟體,隻需要利用PaaS 平台,就能夠建立、測試和部署應用程式。

圖1.13 一個IT層面PaaS的服務

PaaS 類型的雲計算服務有以下主要特點。

(1)提供應用服務平台的程式設計接口,開發人員需要根據平台提供的服務接口進行應用程式開發。

(2)提供應用程式的托管平台,針對這個平台開發的應用程式一般隻能部署在這個平台上面。

為了便于了解平台即服務的服務模型,我們可以把它看成是一個基于雲計算的作業系統,而開發人員可以針對這個新的雲作業系統開發應用程式。目前PaaS 的典型執行個體有微軟的Windows Azure 平台、Google App Engine 等。PaaS 不僅自身擁有很好的市場應用前景,而且能夠推進SaaS 并與其共同發展。對于想進入SaaS 領域的服務提供商而言,PaaS 關鍵是降低了他們開發和提供SaaS 服務的門檻,提高了開發的效率。

1.4.3 基礎設施即服務(IaaS,Infrastructure as a Service)

基礎設施即服務(IaaS )是指把IT 基礎設施作為一種服務通過網絡對外提供。在這種服務模型中,使用者不用自己建構一個資料中心,而是通過租用的方式來使用基礎設施服務,包括伺服器、存儲和網絡等。在使用模式上,IaaS 與傳統的主機托管有相似之處,但是在服務的靈活性、擴充性和成本等方面IaaS 具有很強的優勢。使用者無須購買實體硬體,隻需通過網絡申請服務即可搭建自己的系統環境。這個服務模式相當于把IT 基礎設施像日常生活中的水和電一樣以服務的形式集中供應,并按照服務内容和實際使用量進行計費。由于要保證資源的動态配置設定和定制資源的配置設定粒度,是以在IaaS 的平台實作中一般都需要使用各種虛拟化技術。

圖1.14 IaaS功能架構

IaaS 類型的雲計算服務有以下主要特點。

(1)以服務的形式提供虛拟硬體資源,包括伺服器、存儲、網絡等。

(2)使用者對基礎設施環境需要自己進行系統管理。

在這個服務類型中,最著名的是亞馬遜提供的AWS(Amazon Web Services )服務。亞馬遜通過不同的服務方式把自己龐大資料中心的基礎設施對外提供出租服務,比如通過彈性計算服務(EC2 )提供虛拟機租用服務,通過簡單儲存服務(S3 )提供存儲租用服務等。

我們可能還會看到一些别的服務形式名稱,比如Office as a Service 、Hardware as a Service 、Database as a Service 、Integration as a Service 等,這些都可以看成是上面三種主要服務模型的延伸或細分,一般都可以把它們歸到業内認可的SPI 模型中的一種。

1.4.4 三種服務模型之間的聯系和差別

雲計算的三種服務模型中的任何一種都可以獨立對外提供服務,雲計算服務提供商也可以直接從底層硬體平台開始建構自己要提供的服務。比如,一個SaaS 服務商完全可以自己建構一個SaaS 平台來提供服務。但是,從層次上講這三種不同的服務是處于不同層次的服務,而且互相之間可以有一定的依賴關系。這三種服務之間的關系可以用圖1.15 來表示。

圖1.15 三種服務之間的聯系

假設一個ISV 想提供SaaS 服務,它可以自己建造資料中心,然後采購軟硬體,并開發相應的應用程式來提供服務。但是一個相對簡單的方式是利用其他服務商提供的PaaS 平台,這樣這個ISV 就可以把主要精力放在建構應用程式的業務邏輯上面,而不用在基礎平台建構、運維,平台擴充性和災備等方面花費太多精力。同樣對于IaaS ,無論是最終使用者、SaaS 提供商還是PaaS 提供商都可以從基礎設施服務中獲得應用所需的計算能力,但卻無須對支援這一計算能力的基礎IT 軟硬體付出較大的原始投資成本。

雲計算的三種服務模型所針對的使用者類型實際上是不一樣的。SaaS 由于提供的是應用服務,是以針對的是最終使用者,也就是一般的應用程式使用人員。使用者在使用SaaS 的時候一般不需要對技術本身有特殊要求,隻需要了解軟體服務本身的一些操作規則即可。使用者一般也不需要對服務商提供的SaaS 服務進行二次開發,隻需要簡單的設定就可以使用。PaaS 提供的是平台服務,是以針對的使用者是開發人員。PaaS 需要開發人員針對平台的程式設計接口進行應用程式設計和開發,然後部署在上面。如果這個部署的應用是對外提供軟體服務的,那就是SaaS 服務。IaaS 提供的是最底層的IT 基礎設施服務,是以它直接針對的使用者是IT 管理人員。IaaS 提供的服務首先需要IT 管理人員來進行配置和管理,然後才能在其上進行應用程式的部署等工作。相對于最終使用者的需求,三種服務類型所提供功能的差别如圖1.16 所示。

圖1.16 三種服務之間的功能對比

SaaS 的好處在于對使用者的要求比較低,基本上是現成的應用,使用者可以直接應用,但問題是使用者的需求不是都有現成應用服務來解決的。PaaS 的好處在于使用者可以直接在上面開發應用程式,而不用關心底層系統平台的維護,但是它的問題在于不利于已有應用的遷移。IaaS 對已有應用的遷移相對比較平滑,使用者使用平台的靈活度相對要大一些,但是要做的事情也相對更多。

圖1.17 三種服務之間的自動化和靈活度對比

是以,三種雲計算服務類型所提供的功能和所針對的使用者是不同的,使用者可以結合實際需求來選取相應的雲計算服務。最後一點需要說明的是,上面三種服務模型的劃分不是絕對的,有時候不同層次的服務覆寫面上有一些互相重複,而雲計算服務提供商也會根據使用者需求等情況對自己的服務進行一些調整和延伸。

繼續閱讀