PaaS平臺(tái)即服務(wù)
平臺(tái)即服務(wù)(Platform-As-A-Service,PaaS)已經(jīng)成為業(yè)界探討云計(jì)算的熱點(diǎn)之一,采用 PaaS 模式構(gòu)建應(yīng)用運(yùn)行平臺(tái)是實(shí)現(xiàn)平臺(tái)服務(wù)的重要實(shí)踐。
云計(jì)算(Cloud Computing)是當(dāng)前 IT 領(lǐng)域的熱點(diǎn),它的目標(biāo)之一是通過(guò)互聯(lián)網(wǎng),使用戶更加方便、快捷、靈活地使用各種有質(zhì)量保障的 IT 資源,這些資源以服務(wù)形式提供,終極的云計(jì)算環(huán)境將使得消費(fèi)這些服務(wù)就像今天使用水、電和煤氣等公共基礎(chǔ)設(shè)施一樣便捷。
通常,云計(jì)算包括三個(gè)主要的層次:基礎(chǔ)設(shè)施服務(wù)(Infrastructure Services),平臺(tái)服務(wù)(Platform Services)和應(yīng)用服務(wù)(Application Services)。如圖 1 所示:
圖 1. 云計(jì)算的三個(gè)層次
其中,平臺(tái)服務(wù)已經(jīng)成為實(shí)踐云計(jì)算的重點(diǎn)之一,它將應(yīng)用運(yùn)行所需的 IT 資源和基礎(chǔ)設(shè)施以服務(wù)的方式提供給用戶,包括了中間件服務(wù),信息服務(wù),連通性服務(wù),整合服務(wù)和消息服務(wù)等多種服務(wù)形式。為實(shí)現(xiàn)平臺(tái)服務(wù),業(yè)界提出了 “平臺(tái)即服務(wù)(Platform as a Services,以下簡(jiǎn)稱 PaaS)”的交付模式。PaaS 模式,基于互聯(lián)網(wǎng)提供對(duì)應(yīng)用完整生命周期(包括設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和部署等階段)的支持,減少了用戶在購(gòu)置和管理應(yīng)用生命周期內(nèi)所必須的軟硬件以及部署應(yīng)用 和 IT 基礎(chǔ)設(shè)施的成本,同時(shí)簡(jiǎn)化了以上工作的復(fù)雜度。為了確保高效地交付具備較強(qiáng)靈活性的平臺(tái)服務(wù),在 PaaS 模式中,平臺(tái)服務(wù)通?;谧詣?dòng)化的技術(shù)通過(guò)虛擬化的形式交付,在運(yùn)行時(shí),自動(dòng)化,自優(yōu)化等技術(shù)也將被廣泛應(yīng)用,以確保實(shí)時(shí)動(dòng)態(tài)地滿足應(yīng)用生命周期內(nèi)的各種 功能和非功能需求。
具體來(lái)說(shuō),搭建傳統(tǒng) IT 基礎(chǔ)平臺(tái)是一個(gè)漫長(zhǎng)的過(guò)程,通常由申請(qǐng),審計(jì),硬件購(gòu)買與運(yùn)輸,硬件安裝與配置,軟件安裝與配置等步驟組成。在這個(gè)過(guò)程中繁復(fù)的手工配置工作費(fèi)時(shí)費(fèi)力,而 且容易產(chǎn)成人為配置錯(cuò)誤。同時(shí),平臺(tái)環(huán)境的升級(jí)維護(hù)也面臨人為配置錯(cuò)誤頻繁產(chǎn)生問(wèn)題,造成不必要的影響和損失。由于這些原因,搭建完成的應(yīng)用運(yùn)行平臺(tái),即 使在一定時(shí)期內(nèi)不再需要,也不會(huì)被及時(shí)釋放回收,以供新項(xiàng)目使用。這是造成空閑硬件資源的原因之一。此外,傳統(tǒng)基礎(chǔ)平臺(tái)提供的應(yīng)用運(yùn)行能力是靜態(tài)的。然而 在不同時(shí)間,應(yīng)用負(fù)載往往是不一樣的。為了確保高負(fù)載時(shí)應(yīng)用的正常運(yùn)行,應(yīng)用運(yùn)行平臺(tái)必須能夠提供最高運(yùn)行能力,這就造成了非高峰時(shí)的眾多空閑硬件資源。
云計(jì)算的產(chǎn)生,尤其是平臺(tái)服務(wù)的理念,從產(chǎn)生空閑硬件資源的根本原因入手。建立了快速搭建部署應(yīng)用運(yùn)行環(huán)境和動(dòng)態(tài)調(diào)整應(yīng)用運(yùn)行時(shí)環(huán)境資源這 兩個(gè)目標(biāo)。依據(jù)虛擬化與自動(dòng)化技術(shù)實(shí)現(xiàn)應(yīng)用運(yùn)行環(huán)境的即時(shí)部署以及快速回收,降低了環(huán)境搭建時(shí)間,避免了手工配置錯(cuò)誤,快速重復(fù)搭建環(huán)境,及時(shí)回收資源, 減少了低利用率硬件資源的空置。另一方面,根據(jù)應(yīng)用運(yùn)行時(shí)的需求對(duì)應(yīng)用環(huán)境進(jìn)行動(dòng)態(tài)調(diào)整,實(shí)現(xiàn)了應(yīng)用平臺(tái)的彈性擴(kuò)展和自優(yōu)化,減少了非高峰時(shí)硬件資源的空 置。
在實(shí)際應(yīng)用中,PaaS 模式的重要應(yīng)用場(chǎng)景之一是向用戶交付一個(gè)支撐應(yīng)用運(yùn)行的應(yīng)用運(yùn)行平臺(tái)(Applications Running Platform,以下簡(jiǎn)稱 ARP)?;?PaaS 模式構(gòu)建應(yīng)用運(yùn)行平臺(tái),需要滿足以下典型需求:
- 提供定義應(yīng)用需求的接口:用戶可以方便地定義滿足應(yīng)用功能需求所需的組件,同時(shí)可以定義應(yīng)用的非功能性需求,例如可用性,服務(wù)水平等;
- 提供基于應(yīng)用需求快速構(gòu)建應(yīng)用運(yùn)行環(huán)境的能力:能將應(yīng)用需求映射為物理的 IT 資源和基礎(chǔ)設(shè)施的具體配置和拓?fù)浣Y(jié)構(gòu),并進(jìn)行快速部署;
- 提供運(yùn)行時(shí)實(shí)時(shí)動(dòng)態(tài)滿足應(yīng)用需求的能力:將應(yīng)用需求映射為運(yùn)行策略,在運(yùn)行時(shí),根據(jù)系統(tǒng)運(yùn)行的實(shí)際狀況,例如負(fù)載狀況,動(dòng)態(tài)地對(duì)物理的 IT 資源和基礎(chǔ)設(shè)施進(jìn)行調(diào)整,例如調(diào)整負(fù)載分配或增減計(jì)算資源,使 ARP 具備足夠的彈性和靈活性,以實(shí)時(shí)動(dòng)態(tài)地滿足應(yīng)用需求。
針對(duì)上述需求,基于 PaaS 模式構(gòu)建 ARP 的解決方案至少需要包括如下組件:
- 需求與運(yùn)行策略庫(kù): 向用戶提供定義應(yīng)用需求的界面,保存應(yīng)用需求,并將應(yīng)用需求轉(zhuǎn)化為部署及運(yùn)行策略,提供給平臺(tái)交付組件和運(yùn)行時(shí)控制組件;
- 軟件映像庫(kù): 提供應(yīng)用運(yùn)行平臺(tái)所需的基礎(chǔ)軟件;
- ARP硬件資源池: 基于 Hypervisor,以虛擬化的方式,提供應(yīng)用運(yùn)行平臺(tái)所需的硬件資源;
- 平臺(tái)交付組件: 根據(jù)部署或調(diào)整策略,通過(guò)部署或調(diào)整軟件及 APR 硬件資源池來(lái)創(chuàng)建或調(diào)整應(yīng)用運(yùn)行平臺(tái);
- 運(yùn)行時(shí)控制組件: 根據(jù)運(yùn)行策略和實(shí)際運(yùn)行狀況動(dòng)態(tài)調(diào)整 ARP 資源池,并向平臺(tái)交付組件動(dòng)態(tài)提供調(diào)整策略。
如下圖 2 所示:
圖 2. 基于 PaaS 模式的應(yīng)用運(yùn)行平臺(tái)
