国产精品无码无卡无需播放器,日韩AV无码午夜免费福利制服,世界上面积最大的国家,黑森林福利视频导航

互聯(lián)網(wǎng)PaaS平臺建立

前言:尋找寫作靈感?中文期刊網(wǎng)用心挑選的互聯(lián)網(wǎng)PaaS平臺建立,希望能為您的閱讀和創(chuàng)作帶來靈感,歡迎大家閱讀并分享。

互聯(lián)網(wǎng)PaaS平臺建立

 

隨著互聯(lián)網(wǎng)技術(shù)及其應(yīng)用的快速發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)提供者越來越呈現(xiàn)小團隊、草根化的趨勢.這些小型的業(yè)務(wù)提供者往往具備新穎的技術(shù)和業(yè)務(wù)理念,但由于規(guī)模不足、資本薄弱,需要面對應(yīng)用訪問網(wǎng)絡(luò)能力困難和應(yīng)用提供成本高、風(fēng)險大等挑戰(zhàn).這些挑戰(zhàn)嚴(yán)重影響了“草根”開發(fā)者業(yè)務(wù)創(chuàng)新能力的發(fā)揮.近年來,高速發(fā)展的云計算技術(shù)[1]為解決上述困境提供了可能.在云計算的3種應(yīng)用形式[2]中,paas是云計算技術(shù)與業(yè)務(wù)提供平臺相結(jié)合的產(chǎn)物,它不但可以為更高可用性、更具擴展性的應(yīng)用提供基礎(chǔ)平臺,還可以提高硬件資源的利用率,降低業(yè)務(wù)運營成本,被認(rèn)為是解放“草根”開發(fā)者業(yè)務(wù)創(chuàng)新能力行之有效的解決方案.   筆者首先從對工業(yè)界有影響的PaaS平臺的分析和比較入手,深入研究了PaaS平臺的體系結(jié)構(gòu),抽象出PaaS平臺的通用概念模型;然后針對互聯(lián)網(wǎng)應(yīng)用的特殊需求,提出了面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺體系結(jié)構(gòu);最后通過對具體項目中該體系結(jié)構(gòu)的實現(xiàn)和測試,進一步說明了該體系結(jié)構(gòu)的有效性和高效性.   1相關(guān)工作   目前,以Google、新浪為代表的眾多互聯(lián)網(wǎng)公司都推出了基于云計算技術(shù)的PaaS平臺[3],如GAE(googleappengine)和SAE(sinaappengine)[4].   GAE是Google管理的數(shù)據(jù)中心用于web應(yīng)用程序的開發(fā)和托管平臺,是互聯(lián)網(wǎng)應(yīng)用服務(wù)的一個引擎,支持Python和Java開發(fā).SAE是由新浪公司開發(fā)運營的開放云計算平臺的核心組成部分,其目標(biāo)是為應(yīng)用開發(fā)者提供穩(wěn)定、快捷、透明、可控的服務(wù)化平臺,支持Java和PHP5運行環(huán)境.有了GAE和SAE這樣的PaaS平臺,用戶不用再為建設(shè)一個小型網(wǎng)站而去租用主機并選擇托管商.用戶只需要利用PaaS平臺,就能創(chuàng)建、測試和部署應(yīng)用與服務(wù),與傳統(tǒng)的軟件開發(fā)相比,費用要低得多.   通過對常見PaaS平臺的分析可以看出,PaaS平臺應(yīng)具備如下功能特性[5].首先,PaaS平臺為應(yīng)用開發(fā)提供了一系列非功能屬性支持,具體包含以下3點:第一,平臺提供了應(yīng)用程序的開發(fā)和運行環(huán)境,開發(fā)者不再需要租用和維護軟硬件設(shè)備,同時免去了繁瑣復(fù)雜的應(yīng)用部署過程;第二,平臺提供了應(yīng)用程序的運行維護能力,開發(fā)者通過平臺可以得知應(yīng)用的運行狀態(tài)和訪問統(tǒng)計信息,全面掌握用戶對應(yīng)用的使用情況;第三,平臺提供了應(yīng)用的高可用性和高可擴展性,開發(fā)者無需關(guān)注底層硬件的規(guī)模和處理能力,平臺會根據(jù)應(yīng)用負(fù)載自動調(diào)整服務(wù)規(guī)模[6].其次,PaaS平臺提供了大量的網(wǎng)絡(luò)能力,開發(fā)者可以便捷地在其應(yīng)用中調(diào)用這些能力.   然而,現(xiàn)有的PaaS平臺也存在一些不足[7].第一,應(yīng)用托管環(huán)境單一化,僅提供特定編程語言或腳本語言的運行環(huán)境.由于應(yīng)用往往對相應(yīng)的運行環(huán)境配置有較高的依賴,這種單一化的運行環(huán)境將導(dǎo)致應(yīng)用兼容性低,需要引入應(yīng)用遷移成本.第二,能力組件封閉化.雖然PaaS平臺向應(yīng)用提供一系列能力已經(jīng)成為PaaS平臺的標(biāo)準(zhǔn)做法,但是僅依靠平臺提供商提供能力的做法顯然大大限制了平臺能力的豐富性,無法滿足應(yīng)用開發(fā)者對能力多樣化的需求.   因此,提出的互聯(lián)網(wǎng)應(yīng)用PaaS平臺將重點關(guān)注和解決如下問題:第一,為各種應(yīng)用提供運行環(huán)境,不僅支持常用編程語言和腳本語言,還可以提供兼容性更強的、更為通用的運行環(huán)境,即將虛擬機也作為一種運行環(huán)境提供給應(yīng)用;第二,提供開放式的能力組件機制,平臺本身不但可以向應(yīng)用提供能力,而且允許第三方基于此平臺提供能力.   2PaaS平臺概念模型   PaaS平臺概念模型如圖1所示.PaaS平臺概念模型采用分層結(jié)構(gòu),由用戶平面(UP)、應(yīng)用平面(AP)、資源平面(RP)、物理平面(PP)和管理平面(MP)組成.   CUP反映了PaaS平臺的目標(biāo)使用者,即應(yīng)用開發(fā)者(Dev/Developer).應(yīng)用開發(fā)者可以開發(fā)多個應(yīng)用,并將其部署到平臺中.   AP反映了應(yīng)用開發(fā)者所開發(fā)的大量的不同類型的應(yīng)用(APP/Application),每個應(yīng)用可以包含多個應(yīng)用實例(AI).這些應(yīng)用具有不同的資源消耗和用戶訪問模型,包括應(yīng)用邏輯、應(yīng)用的計算和通信資源開銷以及用戶請求的分布情況.這些信息將作為MP對應(yīng)用進行管理的依據(jù).   RP反映了AI運行的邏輯環(huán)境,由一系列不同類型的容器(CT/container)組成.這些容器將PP所提供的以主機為單位的分散物理資源匯聚在一起,形成資源池.在該平面中,不同類型的AI運行于相應(yīng)的容器中,使用容器所提供的計算、存儲和連接等資源.因容器中承載的應(yīng)用類型不同,容器可以分為多種類型,如Javaweb服務(wù)器容器(JavaWS-contain-er)、虛擬機容器(VM-container)等.鑒于容器是一個相對獨立的邏輯運行環(huán)境,容器中既可以運行第三方應(yīng)用,也可以運行平臺的自建應(yīng)用.同時,第三方應(yīng)用也可以作為平臺的能力成為其他第三方應(yīng)用可調(diào)用的組件,從而使得PaaS平臺支持能力具有高的可擴充性.   PP反映了PaaS平臺底層的物理資源,由一系列物理實體(PE)組成,包括物理主機(HS/host)、存儲器(ST/storage)和交換機(SW/switch)等硬件設(shè)備,為平臺提供了底層的計算、存儲和通信能力.   MP負(fù)責(zé)完成對其他各平面的調(diào)度和控制.該平面包含2個組件:資源調(diào)度組件(RA)和任務(wù)調(diào)度組件(TS).RA定義了應(yīng)用經(jīng)過多層映射最終分布到物理主機上的部署關(guān)系,即應(yīng)用與AI的對應(yīng)關(guān)系(APP-AI)、AI與容器的對應(yīng)關(guān)系(AI-CT)以及容器與主機的對應(yīng)關(guān)系(CT-HS).TS定義了應(yīng)用訪問請求(REQ/request)到達平臺后的轉(zhuǎn)發(fā)規(guī)則,即為此請求選擇合適的AI規(guī)則(REQ-AI).   3面向互聯(lián)網(wǎng)應(yīng)用PaaS平臺   3.1體系結(jié)構(gòu)   PaaS平臺概念模型提供了面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺的設(shè)計思路.基于此PaaS平臺概念模型,面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺體系結(jié)構(gòu)如圖2所示.該體系結(jié)構(gòu)主要包含3個組件,分別是應(yīng)用集群管理(AppMaster)、智能應(yīng)用路由器(AppRouter)和應(yīng)用服務(wù)器集群(AppServer).#p#分頁標(biāo)題#e#   AppMaster是PaaS平臺的控制核心,它負(fù)責(zé)加載RA以完成整個平臺的資源調(diào)度工作,包括應(yīng)用的部署和動態(tài)伸縮、收集平臺的運行狀態(tài)和統(tǒng)計信息等.AppMaster支持開放式的資源調(diào)度算法,即資源調(diào)度算法以組件的形式插入AppMaster中.App-Master根據(jù)平臺規(guī)模大小等因素動態(tài)加載不同的ra,完成資源調(diào)度工作.AppRouter位于應(yīng)用訪問的前端,其內(nèi)部維護一份全局路由表,負(fù)責(zé)加載ts,完成對應(yīng)用訪問請求的路由和轉(zhuǎn)發(fā),同時調(diào)整應(yīng)用副本間的負(fù)載均衡.Ap-pRouter也支持開放式的任務(wù)調(diào)度算法.此外,為了提高應(yīng)用訪問的效率和可靠性,平臺入口處前置一組反向,對應(yīng)用請求進行分發(fā),即應(yīng)用的訪問請求經(jīng)由網(wǎng)關(guān),通過反向路由至相應(yīng)的處理節(jié)點.   AppServer是包含大量主機的服務(wù)器集群,用于部署應(yīng)用程序和處理應(yīng)用請求.每臺主機上運行著一個節(jié)點和若干容器.節(jié)點負(fù)責(zé)執(zhí)行來自AppMaster的指令,并向AppMaster報告主機和容器的負(fù)載情況以及應(yīng)用運行狀態(tài).容器用于承載部署到平臺上的應(yīng)用,包含Javaweb服務(wù)器容器和虛擬機容器2類,分別用于運行Javaweb應(yīng)用和虛擬機應(yīng)用.   3.2部署模型   物理主機通過交換機連接,每個物理主機承載多個不同類型的容器,不同類型的容器內(nèi)運行相應(yīng)類型的AI.其中,一部分容器面向應(yīng)用開發(fā)者,運行第三方應(yīng)用;另一部分容器面向平臺,運行平臺自建應(yīng)用,完成對平臺的管理和控制,如資源調(diào)度和任務(wù)調(diào)度等.   3.3關(guān)鍵技術(shù)   面向互聯(lián)網(wǎng)應(yīng)用PaaS平臺的實現(xiàn)涉及如下一系列關(guān)鍵技術(shù).   3.3.1通用容器   通用容器(GC)技術(shù)將包括Javaweb服務(wù)器和虛擬機在內(nèi)的各類應(yīng)用運行環(huán)境加以封裝,對外提供統(tǒng)一的管理和操作接口,以達到統(tǒng)一承載多種類型應(yīng)用的目的,從而提高PaaS平臺提供應(yīng)用運行環(huán)境的靈活性.   根據(jù)應(yīng)用種類的不同,GC可以分為Javaweb服務(wù)器容器和虛擬機容器等,前者用于運行Javaweb服務(wù)器,部署Javaweb應(yīng)用,其粒度低,針對性強,但兼容性較低;后者用于運行第三方虛擬機軟件,向用戶提供虛擬主機環(huán)境,其通用性強,具備更好的兼容性.根據(jù)應(yīng)用性質(zhì)的不同,GC還可以分為平臺自建容器和第三方容器.前者用于運行PaaS平臺自身的部分應(yīng)用組件,如能力開放網(wǎng)關(guān)就是作為應(yīng)用運行在GC當(dāng)中的;后者用于運行應(yīng)用開發(fā)者所開發(fā)的第三方應(yīng)用程序.   GC的核心在于對容器接口的抽象,即不論內(nèi)部包含哪種運行環(huán)境,容器總是對外提供統(tǒng)一的接口.   3.3.2資源調(diào)度資源調(diào)度[8]   技術(shù)是指PaaS平臺能自動檢測應(yīng)用負(fù)載,調(diào)整資源的分配和伸縮,以實現(xiàn)負(fù)載均衡并提高資源的利用率,從而保障對應(yīng)用提供透明的高可擴展性.具體來說就是主動完成AI副本的“創(chuàng)建/激活”和“去激活/撤銷”,從而保證應(yīng)用處理能力的平滑擴展.   根據(jù)平臺規(guī)模和應(yīng)用類型等因素的不同,資源調(diào)度算法的側(cè)重點亦有所不同[9].例如,當(dāng)平臺規(guī)模較小時,調(diào)度算法應(yīng)重點關(guān)注資源利用率;當(dāng)平臺規(guī)模較大時,調(diào)度算法則應(yīng)該更加關(guān)注集群的能耗情況等.因此,面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺支持插件式的開放調(diào)度算法(見圖2),新的調(diào)度算法可以通過引入新的調(diào)度算法組件來實現(xiàn).   目前,面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺實現(xiàn)了一種多粒度的資源調(diào)度方案,即基于主機粒度判斷集群負(fù)載情況,基于GC粒度完成應(yīng)用的動態(tài)調(diào)度.該方案劃分為2個階段:第1階段是數(shù)據(jù)準(zhǔn)備階段,完成主機負(fù)載信息的收集,從而判斷主機負(fù)載高低;第2階段是動態(tài)調(diào)度階段,基于負(fù)載信息完成應(yīng)用的動態(tài)擴容和收縮.4結(jié)束語基于提出的面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺體系結(jié)構(gòu),項目組完成了相應(yīng)的設(shè)計和實現(xiàn)工作.PaaS平臺部署于4臺聯(lián)想R510G7服務(wù)器(CPU:2×4核英特爾?至強?處理器E5606;內(nèi)存:4×4GBR-ECCDDR3-1333),AppMaster等內(nèi)部實體運行在2臺服務(wù)器上,同時4臺服務(wù)器均可作為AppServer承載應(yīng)用開發(fā)者的第三方應(yīng)用.PaaS平臺的運行結(jié)果表明,該平臺可以成功完成對Java應(yīng)用和虛擬機的托管,切實提高平臺的應(yīng)用兼容性.   此外,項目組還針對PaaS平臺的各項功能做了一系列測試.這些測試包括應(yīng)用的高可用性測試、根據(jù)業(yè)務(wù)量的動態(tài)應(yīng)用處理能力進行擴展測試等.   應(yīng)用的高可用性測試是指當(dāng)應(yīng)用的某個副本所在服務(wù)器宕機之后,平臺是否能正常處理后續(xù)的應(yīng)用訪問請求,并盡快完成應(yīng)用副本的恢復(fù).測試結(jié)果表明,由于平臺支持應(yīng)用的多副本部署,所以當(dāng)某臺或某些服務(wù)器宕機之后,平臺可以繼續(xù)正常處理相關(guān)應(yīng)用的訪問請求,并可以在30s(約3個心跳周期)內(nèi)完成宕機服務(wù)器上全部應(yīng)用的副本恢復(fù).   應(yīng)用處理能力擴展測試是指平臺是否能根據(jù)應(yīng)用訪問量動態(tài)調(diào)整應(yīng)用副本的數(shù)量,以實現(xiàn)平臺資源利用率最大化.測試結(jié)果表明,應(yīng)用訪問量的持續(xù)激增會導(dǎo)致服務(wù)器長時間負(fù)載過高,平臺的RA可以在10s(約1個心跳周期)內(nèi)檢測到訪問量的激增,并在觀察若干心跳周期后完成應(yīng)用副本的擴充,擴充時延不超過15s(約1個調(diào)度周期).   通過這一系列測試可以看出,所提出的PaaS平臺體系結(jié)構(gòu)不但能提供對應(yīng)用透明的高可用性和高可擴展性支持,而且在應(yīng)用兼容性和擴充性方面有較大優(yōu)勢.下一步工作將對面向互聯(lián)網(wǎng)應(yīng)用的PaaS平臺與業(yè)界現(xiàn)有的PaaS平臺進行比較,并考察平臺在不同調(diào)度算法下的性能,以驗證和調(diào)整當(dāng)前的互聯(lián)網(wǎng)應(yīng)用PaaS平臺體系結(jié)構(gòu).

主站蜘蛛池模板: 阿克| 济南市| 基隆市| 赞皇县| 巴东县| 大悟县| 安福县| 汕尾市| 长乐市| 永新县| 彝良县| 寿宁县| 永兴县| 德兴市| 勐海县| 阜城县| 丰县| 鹤壁市| 北流市| 武邑县| 仁布县| 五台县| 潼南县| 贵阳市| 东辽县| 阿荣旗| 正镶白旗| 长宁区| 大余县| 泰顺县| 扎赉特旗| 尼勒克县| 涞水县| 弥渡县| 合作市| 渭南市| 黎川县| 乌鲁木齐县| 康平县| 虹口区| 尉氏县|