資源描述:
《互聯(lián)網(wǎng)應(yīng)用paas平臺(tái)體系結(jié)構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、互聯(lián)網(wǎng)應(yīng)用PaaS平臺(tái)體系結(jié)構(gòu)從分析工業(yè)界有影響的平臺(tái)即服務(wù)(PaaS)入手,提出了面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺(tái)的需求,設(shè)計(jì)了PaaS平臺(tái)概念模型,基于PaaS平臺(tái)概念模型提出了面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺(tái)體系結(jié)構(gòu),對(duì)其中的關(guān)鍵技術(shù)做了詳細(xì)說(shuō)明,面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺(tái)體系結(jié)構(gòu)已經(jīng)在相關(guān)項(xiàng)目中得以應(yīng)用。隨著互聯(lián)網(wǎng)技術(shù)及其應(yīng)用的快速發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)提供者越來(lái)越呈現(xiàn)小團(tuán)隊(duì)、草根化的趨勢(shì)。這些小型的業(yè)務(wù)提供者往往具備新穎的技術(shù)和業(yè)務(wù)理念,但由于規(guī)模不足、資本薄弱,需要面對(duì)應(yīng)用訪問(wèn)網(wǎng)絡(luò)能力困難和應(yīng)用提供成本高、風(fēng)險(xiǎn)大等挑戰(zhàn)。這些挑戰(zhàn)嚴(yán)重影響了“草根”開發(fā)者業(yè)務(wù)創(chuàng)新能力的發(fā)揮。近年來(lái),高速發(fā)展的
2、云計(jì)算技術(shù)為解決上述困境提供了可能。在云計(jì)算的3種應(yīng)用形式中,PaaS是云計(jì)算技術(shù)與業(yè)務(wù)提供平臺(tái)相結(jié)合的產(chǎn)物,它不但可以為更高可用性、更具擴(kuò)展性的應(yīng)用提供基礎(chǔ)平臺(tái),還可以提高硬件資源的利用率,降低業(yè)務(wù)運(yùn)營(yíng)成本,被認(rèn)為是解放“草根”開發(fā)者業(yè)務(wù)創(chuàng)新能力行之有效的解決方案。筆者首先從對(duì)工業(yè)界有影響的PaaS平臺(tái)的分析和比較入手,深入研究了PaaS平臺(tái)的體系結(jié)構(gòu),抽象出PaaS平臺(tái)的通用概念模型;然后針對(duì)互聯(lián)網(wǎng)應(yīng)用的特殊需求,提出了面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺(tái)體系結(jié)構(gòu);最后通過(guò)對(duì)具體項(xiàng)目中該體系結(jié)構(gòu)的實(shí)現(xiàn)和測(cè)試,進(jìn)一步說(shuō)明了該體系結(jié)構(gòu)的有效性和高效性。1相關(guān)工作目前,以Google、新浪為代表的眾
3、多互聯(lián)網(wǎng)公司都推出了基于云計(jì)算技術(shù)的PaaS平臺(tái),如GAE(googleappengine)和SAE(sinaappengine)。GAE是Google管理的數(shù)據(jù)中心用于web應(yīng)用程序的開發(fā)和托管平臺(tái),是互聯(lián)網(wǎng)應(yīng)用服務(wù)的一個(gè)引擎,支持Python和Java開發(fā)。SAE是由新浪公司開發(fā)運(yùn)營(yíng)的開放云計(jì)算平臺(tái)的核心組成部分,其目標(biāo)是為應(yīng)用開發(fā)者提供穩(wěn)定、快捷、透明、可控的服務(wù)化平臺(tái),支持Java和PHP5運(yùn)行環(huán)境。有了GAE和SAE這樣的PaaS平臺(tái),用戶不用再為建設(shè)一個(gè)小型網(wǎng)站而去租用主機(jī)并選擇托管商。用戶只需要利用PaaS平臺(tái),就能創(chuàng)建、測(cè)試和部署應(yīng)用與服務(wù),與傳統(tǒng)的軟件開發(fā)相比,費(fèi)用要低得
4、多。通過(guò)對(duì)常見PaaS平臺(tái)的分析可以看出,PaaS平臺(tái)應(yīng)具備如下功能特性。首先,PaaS平臺(tái)為應(yīng)用開發(fā)提供了一系列非功能屬性支持,具體包含以下3點(diǎn):第一,平臺(tái)提供了應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境,開發(fā)者不再需要租用和維護(hù)軟硬件設(shè)備,同時(shí)免去了繁瑣復(fù)雜的應(yīng)用部署過(guò)程;第二,平臺(tái)提供了應(yīng)用程序的運(yùn)行維護(hù)能力,開發(fā)者通過(guò)平臺(tái)可以得知應(yīng)用的運(yùn)行狀態(tài)和訪問(wèn)統(tǒng)計(jì)信息,全面掌握用戶對(duì)應(yīng)用的使用情況;第三,平臺(tái)提供了應(yīng)用的高可用性和高可擴(kuò)展性,開發(fā)者無(wú)需關(guān)注底層硬件的規(guī)模和處理能力,平臺(tái)會(huì)根據(jù)應(yīng)用負(fù)載自動(dòng)調(diào)整服務(wù)規(guī)模。其次,PaaS平臺(tái)提供了大量的網(wǎng)絡(luò)能力,開發(fā)者可以便捷地在其應(yīng)用中調(diào)用這些能力。然而,現(xiàn)有的P
5、aaS平臺(tái)也存在一些不足。第一,應(yīng)用托管環(huán)境單一化,僅提供特定編程語(yǔ)言或腳本語(yǔ)言的運(yùn)行環(huán)境。由于應(yīng)用往往對(duì)相應(yīng)的運(yùn)行環(huán)境配置有較高的依賴,這種單一化的運(yùn)行環(huán)境將導(dǎo)致應(yīng)用兼容性低,需要引入應(yīng)用遷移成本。第二,能力組件封閉化。雖然PaaS平臺(tái)向應(yīng)用提供一系列能力已經(jīng)成為PaaS平臺(tái)的標(biāo)準(zhǔn)做法,但是僅依靠平臺(tái)提供商提供能力的做法顯然大大限制了平臺(tái)能力的豐富性,無(wú)法滿足應(yīng)用開發(fā)者對(duì)能力多樣化的需求。因此,提出的互聯(lián)網(wǎng)應(yīng)用PaaS平臺(tái)將重點(diǎn)關(guān)注和解決如下問(wèn)題:第一,為各種應(yīng)用提供運(yùn)行環(huán)境,不僅支持常用編程語(yǔ)言和腳本語(yǔ)言,還可以提供兼容性更強(qiáng)的、更為通用的運(yùn)行環(huán)境,即將虛擬機(jī)也作為一種運(yùn)行環(huán)境提供給應(yīng)
6、用;第二,提供開放式的能力組件機(jī)制,平臺(tái)本身不但可以向應(yīng)用提供能力,而且允許第三方基于此平臺(tái)提供能力。2PaaS平臺(tái)概念模型PaaS平臺(tái)概念模型如圖1所示。PaaS平臺(tái)概念模型采用分層結(jié)構(gòu),由用戶平面(UP)、應(yīng)用平面(AP)、資源平面(RP)、物理平面(PP)和管理平面(MP)組成。UP反映了PaaS平臺(tái)的目標(biāo)使用者,即應(yīng)用開發(fā)者(Dev/Developer)。應(yīng)用開發(fā)者可以開發(fā)多個(gè)應(yīng)用,并將其部署到平臺(tái)中。AP反映了應(yīng)用開發(fā)者所開發(fā)的大量的不同類型的應(yīng)用(APP/Application),每個(gè)應(yīng)用可以包含多個(gè)應(yīng)用實(shí)例(AI)。這些應(yīng)用具有不同的資源消耗和用戶訪問(wèn)模型,包括應(yīng)用邏輯、應(yīng)用
7、的計(jì)算和通信資源開銷以及用戶請(qǐng)求的分布情況。這些信息將作為MP對(duì)應(yīng)用進(jìn)行管理的依據(jù)。點(diǎn)擊圖片查看大圖圖1PaaS平臺(tái)概念模型RP反映了AI運(yùn)行的邏輯環(huán)境,由一系列不同類型的容器(CT/container)組成。這些容器將PP所提供的以主機(jī)為單位的分散物理資源匯聚在一起,形成資源池。在該平面中,不同類型的AI運(yùn)行于相應(yīng)的容器中,使用容器所提供的計(jì)算、存儲(chǔ)和連接等資源。因容器中承載的應(yīng)用類型不同,容器可以分為多種類型,如Ja