徐海勇,黃巖
?
基于PaaS技術(shù)的大數(shù)據(jù)云化平臺(tái)實(shí)踐
徐海勇,黃巖
(中國(guó)移動(dòng)通信集團(tuán)有限公司,北京 100032)
大數(shù)據(jù)平臺(tái)作為數(shù)據(jù)存儲(chǔ)、處理和服務(wù)的基礎(chǔ)平臺(tái),需支撐內(nèi)部和外部多種大數(shù)據(jù)應(yīng)用的開(kāi)發(fā)及運(yùn)行。提出一種把PaaS(platform as a service,平臺(tái)即服務(wù))技術(shù)應(yīng)用到大數(shù)據(jù)平臺(tái)的方案,詳細(xì)描述了大數(shù)據(jù)PaaS云化平臺(tái)的架構(gòu)體系以及分層調(diào)度、多租戶管理、Hadoop任務(wù)全局調(diào)度等關(guān)鍵技術(shù)方案。實(shí)踐證明,該平臺(tái)可以顯著提高大數(shù)據(jù)應(yīng)用的開(kāi)發(fā)效率,實(shí)現(xiàn)應(yīng)用快速部署上線;同時(shí),其良好的彈性伸縮能力可以有效地提高大數(shù)據(jù)應(yīng)用系統(tǒng)資源的使用效率。
大數(shù)據(jù);PaaS;Hadoop;YARN調(diào)度器;云服務(wù)
中國(guó)移動(dòng)作為全球規(guī)模最大的運(yùn)營(yíng)商,擁有9億戶移動(dòng)用戶資源,其用戶使用通信服務(wù)的過(guò)程中產(chǎn)生的海量數(shù)據(jù),如用戶profile、通信話單、網(wǎng)絡(luò)信令、上網(wǎng)行為等,形成了寶貴的大數(shù)據(jù)資產(chǎn)。利用大數(shù)據(jù)技術(shù)挖掘海量數(shù)據(jù)背后隱藏的規(guī)律,可以有效地改善用戶業(yè)務(wù)質(zhì)量,優(yōu)化運(yùn)營(yíng)效率,促進(jìn)產(chǎn)品創(chuàng)新,發(fā)揮巨大價(jià)值。隨著數(shù)據(jù)規(guī)模的急速增長(zhǎng),大數(shù)據(jù)平臺(tái)規(guī)模的逐漸擴(kuò)大,應(yīng)用需求日趨強(qiáng)烈,如何協(xié)同多家應(yīng)用開(kāi)發(fā)者在集中、安全、可靠的平臺(tái)上開(kāi)發(fā)自己的應(yīng)用,成為關(guān)注的焦點(diǎn)。目前,面臨以下挑戰(zhàn)。
首先,中國(guó)移動(dòng)傳統(tǒng)的大數(shù)據(jù)平臺(tái)為總部—省級(jí)二級(jí)架構(gòu),數(shù)據(jù)呈現(xiàn)分散狀態(tài),而全網(wǎng)類應(yīng)用如金融客戶需要信用評(píng)估服務(wù)、政府部門需要全國(guó)人口統(tǒng)計(jì)服務(wù)等,都需要全網(wǎng)數(shù)據(jù)的支撐;其次,大數(shù)據(jù)應(yīng)用上線時(shí)間長(zhǎng)且重復(fù)開(kāi)發(fā),對(duì)于特定場(chǎng)景的大數(shù)據(jù)應(yīng)用,如位置應(yīng)用、精準(zhǔn)營(yíng)銷應(yīng)用、信用評(píng)估應(yīng)用等,缺乏統(tǒng)一業(yè)務(wù)開(kāi)發(fā)平臺(tái),導(dǎo)致存在各省份公司重復(fù)開(kāi)發(fā)、重復(fù)運(yùn)維的情況,浪費(fèi)了投資,且技術(shù)力量分散,難以聚焦形成精品大數(shù)據(jù)應(yīng)用;最后,現(xiàn)網(wǎng)中多個(gè)煙囪式的數(shù)據(jù)分析平臺(tái)存在數(shù)據(jù)和資源相互隔離、無(wú)法共享的問(wèn)題,當(dāng)突發(fā)數(shù)據(jù)處理任務(wù)時(shí),即使其他平臺(tái)有大量閑置資源,也無(wú)法調(diào)配資源,造成業(yè)務(wù)阻塞。
隨著企業(yè)IT架構(gòu)向云化轉(zhuǎn)型,IT資源逐步由共享資源池取代,同時(shí)應(yīng)用的開(kāi)發(fā)迭代周期從年變成周,需要給開(kāi)發(fā)人員和管理人員提供支撐服務(wù),這些需求引發(fā)了近年來(lái)PaaS(platform as a service)[1,2]技術(shù)的蓬勃發(fā)展。谷歌(Google)基于自己的Borg[3]平臺(tái)推出開(kāi)源Kubernetes[4],為容器化Docker[5]的應(yīng)用提供資源調(diào)度、部署運(yùn)行、服務(wù)發(fā)現(xiàn)、擴(kuò)容縮容等整套功能,實(shí)現(xiàn)大規(guī)模CloudNative[6]應(yīng)用的集中管理。隨著大數(shù)據(jù)技術(shù)應(yīng)用廣泛和日趨成熟,開(kāi)源軟件在資源和任務(wù)調(diào)度、多租戶管理、自動(dòng)運(yùn)維等方面已經(jīng)取得眾多成果,如Hadoop[7]2.0重構(gòu)MapReduce框架,以YARN[8]作為通用的資源調(diào)度層,支持MapReduce、Spark、Storm、MPI[9-11]等更多編程框架,實(shí)現(xiàn)了不同類型的數(shù)據(jù)處理任務(wù)共享底層集群資源。
本文提出了一種大數(shù)據(jù)平臺(tái)云化解決方案:基于PaaS的理念和技術(shù)實(shí)現(xiàn)大數(shù)據(jù)平臺(tái)云化服務(wù),將大數(shù)據(jù)平臺(tái)的數(shù)據(jù)采集、分析、處理及展現(xiàn)能力作為PaaS能力對(duì)外開(kāi)放。同時(shí),面向大數(shù)據(jù)業(yè)務(wù)開(kāi)發(fā)者,提供開(kāi)發(fā)環(huán)境和作業(yè)執(zhí)行環(huán)境,使開(kāi)發(fā)者可以使用PaaS中各種資源、開(kāi)發(fā)工具、軟件中間件等能力,PaaS的彈性伸縮及大數(shù)據(jù)平臺(tái)處理能力的結(jié)合,實(shí)現(xiàn)資源效率和開(kāi)發(fā)效率最大化的目標(biāo)。
基于PaaS技術(shù)的大數(shù)據(jù)云化平臺(tái)功能涵蓋集中數(shù)據(jù)平臺(tái)、應(yīng)用開(kāi)發(fā)平臺(tái)、數(shù)據(jù)服務(wù)平臺(tái)三大功能,具體如下。
? ? 集中數(shù)據(jù)平臺(tái),匯聚中國(guó)移動(dòng)網(wǎng)絡(luò)域(O域)、業(yè)務(wù)支撐域(B域)、管理域(M域)、專業(yè)公司及外部引入數(shù)據(jù),定義統(tǒng)一的數(shù)據(jù)模型,形成數(shù)據(jù)的匯聚及全網(wǎng)服務(wù)。
? ? 應(yīng)用開(kāi)發(fā)平臺(tái),提供數(shù)據(jù)分析常用的開(kāi)發(fā)工具、軟件中間件、任務(wù)部署工具等開(kāi)發(fā)環(huán)境,業(yè)務(wù)開(kāi)發(fā)者在平臺(tái)上在線選擇所需的開(kāi)發(fā)環(huán)境資源,開(kāi)發(fā)自己的大數(shù)據(jù)作業(yè)和應(yīng)用。支持多個(gè)開(kāi)發(fā)團(tuán)隊(duì)并行開(kāi)發(fā),并支持開(kāi)發(fā)成員之間開(kāi)發(fā)協(xié)同。
? ? 數(shù)據(jù)服務(wù)平臺(tái),為業(yè)務(wù)單位和合作伙伴的數(shù)據(jù)分析作業(yè)、大數(shù)據(jù)應(yīng)用提供運(yùn)行執(zhí)行環(huán)境。從資源池中分配計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)等資源,作業(yè)執(zhí)行完畢時(shí),資源重新回收到資源池,形成資源共享,租戶在大數(shù)據(jù)云化平臺(tái)上可以直接對(duì)外提供數(shù)據(jù)應(yīng)用及服務(wù)。
基于PaaS的大數(shù)據(jù)云化平臺(tái)包括四層一域,整體架構(gòu)如圖1所示。
?? IaaS(infrastructure as a service,基礎(chǔ)設(shè)施即服務(wù))層,采用 OpenStack架構(gòu),統(tǒng)一接入VMware、Fusionsphere等主流廠商的Hypervisor虛擬化軟件,統(tǒng)一管理CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)等IT基礎(chǔ)設(shè)施資源。以O(shè)penStack標(biāo)準(zhǔn)化接口,向PaaS層提供IaaS基礎(chǔ)資源。
圖1 基于PaaS的大數(shù)據(jù)云化平臺(tái)基礎(chǔ)架構(gòu)
? ?? PaaS層,負(fù)責(zé)應(yīng)用和服務(wù)生命周期管理、資源調(diào)度、多租戶管理、軟件倉(cāng)庫(kù)等PaaS公共能力,為平臺(tái)開(kāi)發(fā)者調(diào)用訪問(wèn)。
? ?? Hadoop存儲(chǔ)和計(jì)算資源池層,數(shù)據(jù)分布式存儲(chǔ)和分布式計(jì)算的核心執(zhí)行引擎,以Hadoop為核心,包括Hadoop協(xié)議族中HDFS、MapReduce、Spark、HBase、Kafka、Flume等組件。
? ?? 大數(shù)據(jù)服務(wù)層,將基礎(chǔ)資源、大數(shù)據(jù)開(kāi)發(fā)工具、數(shù)據(jù)資產(chǎn)等封裝成服務(wù),供平臺(tái)開(kāi)發(fā)者使用。同時(shí),對(duì)PaaS平臺(tái)管理服務(wù)的上架、發(fā)布和狀態(tài)監(jiān)控,對(duì)平臺(tái)開(kāi)發(fā)者提供使用平臺(tái)服務(wù)能力的統(tǒng)一入口。
? ? 統(tǒng)一運(yùn)維域,負(fù)責(zé)整個(gè)平臺(tái)運(yùn)維,包括應(yīng)用和服務(wù)的部署、彈性伸縮、故障告警監(jiān)測(cè)等,為平臺(tái)運(yùn)維人員提供運(yùn)維工具和管理工具,同時(shí)將運(yùn)維能力開(kāi)放給平臺(tái)租戶,使租戶可以管理自己的應(yīng)用、服務(wù)和資源。
開(kāi)發(fā)者使用大數(shù)據(jù)PaaS平臺(tái),主要包括資源申請(qǐng)及應(yīng)用開(kāi)發(fā)兩個(gè)主要步驟,具體如下。
(1)資源申請(qǐng)流程
開(kāi)發(fā)者首先注冊(cè)成為平臺(tái)租戶,然后創(chuàng)建開(kāi)發(fā)項(xiàng)目;再為項(xiàng)目申請(qǐng)Hadoop資源、各種大數(shù)據(jù)分析工具服務(wù)。所需的資源申請(qǐng)批準(zhǔn)后,業(yè)務(wù)單位即可進(jìn)入大數(shù)據(jù)開(kāi)發(fā)。申請(qǐng)流程如圖2所示。
圖2 資源申請(qǐng)流程
開(kāi)發(fā)者在平臺(tái)的服務(wù)市場(chǎng)中選擇所需的資源和服務(wù)界面,如圖3所示。
(2)大數(shù)據(jù)應(yīng)用開(kāi)發(fā)流程
業(yè)務(wù)單位開(kāi)發(fā)人員獲得所需資源后,進(jìn)入應(yīng)用開(kāi)發(fā)階段。開(kāi)發(fā)者需要經(jīng)過(guò)公共數(shù)據(jù)資源申請(qǐng)、數(shù)據(jù)模型定義、其他私有數(shù)據(jù)上傳、數(shù)據(jù)處理邏輯集成開(kāi)發(fā)及分析、最終形成數(shù)據(jù)應(yīng)用。開(kāi)放數(shù)據(jù)訪問(wèn)API或者形成SaaS類應(yīng)用展示結(jié)果等幾大基本過(guò)程,具體如圖4所示。
大數(shù)據(jù)集成開(kāi)發(fā)環(huán)境支持圖形化開(kāi)發(fā),如圖5所示。
圖3 開(kāi)發(fā)者資源申請(qǐng)界面
圖4 開(kāi)發(fā)者應(yīng)用開(kāi)發(fā)流程
圖5 開(kāi)發(fā)者應(yīng)用開(kāi)發(fā)界面
基于PaaS平臺(tái)的大數(shù)據(jù)云化平臺(tái),提供了統(tǒng)一的數(shù)據(jù)存儲(chǔ)、開(kāi)發(fā)環(huán)境、應(yīng)用部署對(duì)外服務(wù)等基本能力,其關(guān)鍵技術(shù)包括多應(yīng)用類型的分層調(diào)度、基于IAM(identity and access management,統(tǒng)一身份認(rèn)證服務(wù))的多租戶管理以及全局優(yōu)化的YARN調(diào)度技術(shù)。
一個(gè)完整的大數(shù)據(jù)業(yè)務(wù)系統(tǒng)包含多種應(yīng)用形態(tài):既有框架類的應(yīng)用,如MapReduce作業(yè);也有普通的交易類應(yīng)用,如營(yíng)銷門戶等。如何同時(shí)管理和調(diào)度這兩類的應(yīng)用,成為研究焦點(diǎn),本文實(shí)現(xiàn)了兩種方案。
一種是獨(dú)立調(diào)度,即對(duì)不同類型的應(yīng)用提供不同的資源調(diào)度器,資源調(diào)度器之間相互獨(dú)立。Hadoop集群使用YARN管理調(diào)度自己的資源,支持框架類應(yīng)用;PaaS另外部署以Kubernetes為核心的調(diào)度器,管理虛擬機(jī)、容器等資源支持普通應(yīng)用,獨(dú)立調(diào)度技術(shù)方案如圖6所示。
另一種為兩層調(diào)度方式,即將兩種類型應(yīng)用的資源調(diào)度器疊加起來(lái),從而實(shí)現(xiàn)資源共享的目的,同時(shí)也實(shí)現(xiàn)應(yīng)用的統(tǒng)一管理。需要進(jìn)一步提升租戶間的資源共享程度,就需要采取多層資源調(diào)度的方式。比如,以Kubernetes作為統(tǒng)一的1層資源調(diào)度器,以YARN/Mesos作為針對(duì)大數(shù)據(jù)應(yīng)用的兩層資源調(diào)度器,如圖7所示。
圖6 獨(dú)立調(diào)度技術(shù)方案
圖7 兩層調(diào)度技術(shù)方案
當(dāng)大數(shù)據(jù)云化平臺(tái)把各種能力以云服務(wù)方式對(duì)外提供時(shí),存在兩種典型的云服務(wù)形態(tài)——邏輯多租和物理多租。
? ? 邏輯多租服務(wù):所有租戶應(yīng)用共享同一個(gè)服務(wù)實(shí)例,租戶共享服務(wù)實(shí)例以及實(shí)例中的數(shù)據(jù)、計(jì)算能力和存儲(chǔ)。
? ? 物理多租服務(wù):每個(gè)租戶申請(qǐng)一套獨(dú)立的服務(wù)實(shí)例,租戶間不共享服務(wù)實(shí)例。
在邏輯多租的場(chǎng)景下,存在對(duì)租戶的多層級(jí)多域管理的需求。為了能夠?qū)崿F(xiàn)租戶可以創(chuàng)建自己獨(dú)立管理的應(yīng)用(物理多租場(chǎng)景),又能夠在集團(tuán)租戶的空間內(nèi)創(chuàng)建應(yīng)用(邏輯多租場(chǎng)景),參考OpenStack Keystone[11]架構(gòu)實(shí)現(xiàn)了IAM。
基于IAM的能力,同一個(gè)租戶可以在不同的租戶空間中創(chuàng)建應(yīng)用(項(xiàng)目),并對(duì)自己創(chuàng)建的應(yīng)用進(jìn)行管理,并接受租戶空間管理員的統(tǒng)一管理,如圖8所示。
圖8 基于IAM的多租戶管理模型
以上多租戶管理方案在對(duì)外服務(wù)時(shí),解決了租戶對(duì)公共數(shù)據(jù)的訪問(wèn)問(wèn)題,租戶可在管理者租戶創(chuàng)建的域中創(chuàng)建自己的項(xiàng)目來(lái)訪問(wèn)管理者租戶中的數(shù)據(jù)資源,同時(shí)租戶也可以選擇創(chuàng)建自己的域,建立自己的大數(shù)據(jù)平臺(tái)。
開(kāi)源的Hadoop YARN系統(tǒng)中目前包括兩大類調(diào)度器:公平調(diào)度器(fair scheduler)和容量調(diào)度器(capacity scheduler),開(kāi)源的調(diào)度器都是基于計(jì)算節(jié)點(diǎn)心跳驅(qū)動(dòng)的資源反向匹配作業(yè)的調(diào)度機(jī)制,每個(gè)計(jì)算節(jié)點(diǎn)定期發(fā)送心跳來(lái)通知YARN的資源管理器(resource manager)自身的節(jié)點(diǎn)狀態(tài)并同時(shí)啟動(dòng)調(diào)度器,為這個(gè)節(jié)點(diǎn)分配作業(yè)。這種調(diào)度機(jī)制把調(diào)度的周期同心跳結(jié)合在一起,當(dāng)集群規(guī)模增大時(shí),會(huì)遇到系統(tǒng)擴(kuò)展性以及調(diào)度性能瓶頸。另外,因?yàn)椴捎昧速Y源反向匹配作業(yè)的調(diào)度機(jī)制,開(kāi)源調(diào)度器在調(diào)度精度上也有局限性,例如計(jì)算正向數(shù)據(jù)分配準(zhǔn)確性低,系統(tǒng)也無(wú)法支持基于負(fù)載的調(diào)度策略等,其主要原因是調(diào)度器在選擇作業(yè)時(shí),缺乏全局的資源視圖,很難做到最優(yōu)選擇。
本文提出了一種全局的YARN調(diào)度算法以優(yōu)化任務(wù)調(diào)度、提高調(diào)度性能、系統(tǒng)資源利用率和大規(guī)模集群擴(kuò)展程度。全局優(yōu)化的調(diào)度器內(nèi)部采用了與開(kāi)源不同的調(diào)度機(jī)制,其調(diào)度流程采用了從作業(yè)到資源的正向匹配方法,通過(guò)轉(zhuǎn)有調(diào)度線程,查看所有待處理作業(yè),通過(guò)對(duì)全局作業(yè)和資源的了解匹配合適的任務(wù),這樣每個(gè)調(diào)度的作業(yè)都有全局的資源視圖,可以很大程度地提高調(diào)度的精度,對(duì)比流程如圖9所示。
圖9 全局任務(wù)調(diào)度與開(kāi)源任務(wù)調(diào)度流程
同時(shí),全局調(diào)度器引入了專門的調(diào)度線程,把調(diào)度同心跳剝離開(kāi),避免了在超大規(guī)模集群時(shí)容易出現(xiàn)的系統(tǒng)心跳風(fēng)暴問(wèn)題。相比開(kāi)源調(diào)度器,優(yōu)化的調(diào)度器在系統(tǒng)吞吐量、利用率、數(shù)據(jù)親和性等方面都有很大提升。
全局調(diào)度器和開(kāi)源調(diào)度器功能對(duì)比見(jiàn)表1。
表1 開(kāi)源調(diào)度器與全局調(diào)度器優(yōu)勢(shì)對(duì)比
基于上述的整體架構(gòu)及關(guān)鍵技術(shù),中國(guó)移動(dòng)進(jìn)行了基于PaaS的大數(shù)據(jù)云化平臺(tái)的建設(shè)實(shí)踐。在數(shù)據(jù)層面實(shí)現(xiàn)了各省B、O、M三域數(shù)據(jù)整合,構(gòu)建了中國(guó)移動(dòng)公共的數(shù)據(jù)資產(chǎn)模型?;A(chǔ)能力層面實(shí)現(xiàn)了Hadoop服務(wù)、公共數(shù)據(jù)資產(chǎn)服務(wù)、數(shù)據(jù)治理服務(wù)、數(shù)據(jù)集成服務(wù)、統(tǒng)一調(diào)度服務(wù)、數(shù)據(jù)探索服務(wù)、數(shù)據(jù)API開(kāi)發(fā)服務(wù)和數(shù)據(jù)挖掘服務(wù)等,以供省級(jí)公司和專業(yè)公司申請(qǐng)使用。平臺(tái)共部署集群規(guī)模上百節(jié)點(diǎn),存儲(chǔ)數(shù)據(jù)量數(shù)十PB,由租戶開(kāi)發(fā)大數(shù)據(jù)應(yīng)用,支撐了應(yīng)用的快速迭代開(kāi)發(fā)及上線。
經(jīng)過(guò)為期半年的應(yīng)用實(shí)踐,目前基于云化的大數(shù)據(jù)PaaS平臺(tái)主要承載了信用分應(yīng)用和暢游業(yè)務(wù)兩大業(yè)務(wù)應(yīng)用,初步驗(yàn)證了大數(shù)據(jù)PaaS平臺(tái)的能力。
信用分應(yīng)用通過(guò)對(duì)移動(dòng)用戶的身份特征、消費(fèi)能力、人脈關(guān)系、信用歷史、行為偏好這5個(gè)維度客觀地呈現(xiàn)個(gè)人的信用價(jià)值。通過(guò)信用分應(yīng)用可以優(yōu)化移動(dòng)內(nèi)部服務(wù),并擴(kuò)展外部合作。信用分應(yīng)用覆蓋11億用戶和200多個(gè)脫敏標(biāo)簽數(shù)據(jù),共包含12個(gè)月的數(shù)據(jù)周期。該應(yīng)用僅通過(guò)4周就在PaaS平臺(tái)上完成了需求分析、數(shù)據(jù)導(dǎo)入、9輪建模評(píng)估、6輪聯(lián)調(diào)測(cè)試和上線試商用,上線后,信用分應(yīng)用于2017年8月底開(kāi)始試商用,到同年10月底累計(jì)訪問(wèn)量已經(jīng)超過(guò)8億次。9?11月信用分查詢次數(shù)增長(zhǎng)趨勢(shì)如圖10所示。
圖10 信用分查詢次數(shù)增長(zhǎng)趨勢(shì)
在組織的iPhone購(gòu)機(jī)活動(dòng)、“雙十一”、開(kāi)發(fā)者大會(huì)等市場(chǎng)營(yíng)銷活動(dòng)中,基于PaaS的大數(shù)據(jù)平臺(tái)利用資源的彈性擴(kuò)展能力,有效支撐了活動(dòng)過(guò)程中用戶訪問(wèn)量的激增。后續(xù)將支撐多渠道信用購(gòu)機(jī)、國(guó)際漫游信用免押金等多種場(chǎng)景。
暢游業(yè)務(wù)主要通過(guò)分析國(guó)際漫游用戶的通話和流量,利用機(jī)器學(xué)習(xí)識(shí)別沉默用戶,開(kāi)展國(guó)際漫游精準(zhǔn)營(yíng)銷。暢游應(yīng)用基面向北京、上海等4省市300萬(wàn)國(guó)際漫游移動(dòng)用戶,基于用戶信息、國(guó)際漫游用戶訪問(wèn)信息、漫游通話交往圈信息等公共數(shù)據(jù)資產(chǎn),租戶僅3周就完成了業(yè)務(wù)的需求分析、數(shù)據(jù)導(dǎo)入、模型開(kāi)發(fā)、界面開(kāi)發(fā)和上線發(fā)布。暢游業(yè)務(wù)實(shí)現(xiàn)了國(guó)際漫游沉默用戶分析等應(yīng)用,充分利用營(yíng)銷資源進(jìn)行沉默客戶激活。暢游業(yè)務(wù)的展示界面如圖11所示。
圖11 暢游業(yè)務(wù)系統(tǒng)展示
基于PaaS的大數(shù)據(jù)云化平臺(tái)的應(yīng)用效果表明,該平臺(tái)可以有效地為多租戶提供統(tǒng)一的全網(wǎng)數(shù)據(jù)資源;在大數(shù)據(jù)開(kāi)發(fā)過(guò)程中提升了開(kāi)發(fā)效率,縮短了應(yīng)用的上線周期;彈性擴(kuò)展能力可以有效地利用資源支撐業(yè)務(wù)突發(fā)。表2 從硬件資源準(zhǔn)備時(shí)間、開(kāi)發(fā)工具準(zhǔn)備時(shí)間、數(shù)據(jù)準(zhǔn)備時(shí)間、應(yīng)用部署時(shí)間及資源利用率幾大方面,分析了基于PaaS的大數(shù)據(jù)云化平臺(tái)與傳統(tǒng)大數(shù)據(jù)平臺(tái)的差異。
表2 開(kāi)發(fā)模式優(yōu)勢(shì)對(duì)比
本文提出了一種基于PaaS技術(shù)的大數(shù)據(jù)云化平臺(tái)方案,分析了中國(guó)移動(dòng)大數(shù)據(jù)應(yīng)用中的問(wèn)題和挑戰(zhàn),給出了大數(shù)據(jù)PaaS平臺(tái)的系統(tǒng)框架。針對(duì)租戶模型、服務(wù)接入、資源調(diào)度、彈性伸縮等關(guān)鍵環(huán)節(jié),給出了技術(shù)解決方案?;谠撈脚_(tái),實(shí)現(xiàn)了多個(gè)開(kāi)發(fā)單位的應(yīng)用開(kāi)發(fā)和應(yīng)用部署上線,同時(shí)業(yè)務(wù)單位在平臺(tái)實(shí)際開(kāi)展了開(kāi)發(fā)和應(yīng)用部署,證明該方案達(dá)到了預(yù)期效果。
在今后的工作中,在應(yīng)用設(shè)計(jì)中結(jié)合微服務(wù)松耦合、上線敏捷、應(yīng)用彈性的優(yōu)勢(shì),在PaaS能力方面構(gòu)建深度學(xué)習(xí)框架及機(jī)器學(xué)習(xí)能力等成為研究的重點(diǎn)。未來(lái)中國(guó)移動(dòng)會(huì)著力于打造良好的大數(shù)據(jù)生態(tài)圈,吸引更多的合作伙伴基于該平臺(tái)構(gòu)建百花齊放的應(yīng)用。
[1] Gartner. Platform as a service(PaaS)[EB/OL].(2014-04-28)[2017-11-28]. https://www.gartner.com/it-glossary/platform-as- a-service-paas/.
[2] 齊磊, 張海峰, 張?zhí)祢? 等. 基于容器技術(shù)的PaaS云平臺(tái)方案[J]. 電信科學(xué), 2017, 33(4): 177-182.
QI L, ZHANG H F, ZHANGT X, et al. PaaS cloud platform based on container technology[J]. Telecommunications Science, 2017, 33(4): 177-182.
[3] VERMA A, PEDROSA L, KORUPOLU M, et al. Large-scale cluster management at Google with Borg[C]//10th European Conference on Computer Systems, April 21-24, 2015, Bordeaux, France. New York: ACM Press, 2015: 18.
[4] 張基, 李大中, 張呈宇, 等. DC/OS關(guān)鍵技術(shù)與應(yīng)用場(chǎng)景[J]. 電信科學(xué), 2016, 32(12): 13-19.
ZHANG J, LI D Z, ZHANG C Y, et al. Key technologies and application scenario of DC/OS[J]. Telecommunications Science, 2016, 32(12): 13-19.
[5] BERNSTEIN D. Containers and cloud: from LXC to Docker to Kubernetes[J]. IEEE Cloud Computing, 2015, 1(3): 81-84.
[6] BALALAIE A, HEYDARNOORI A, JAMSHIDI P. Microservices Architecture enables DevOps: migration to a cloud-native architecture[J]. IEEE Software , 2016 , 33 (3): 42-52.
[7] 王峰, 雷葆華. Hadoop分布式文件系統(tǒng)的模型分析[J]. 電信科學(xué), 2010, 26(12): 95-99.
WANG F, LEI B H. Modeling and analysis of Hadoop distributed file system[J]. Telecommunications Science, 2010, 26(12): 95-99.
[8] KONAR M. Apache Hadoop YARN: yet another resource negotiator[C]//ACM Symposium on Cloud Computing, Oct 1-3, 2013, Santa Clara, CA, USA. New York: ACM Press, 2013: 5.
[9] LU X, LIANG F, WANG B, et al. DataMPI: Extending MPI to Hadoop-like big data computing[C]//International Parallel and Distributed Processing Symposium, May 19-23, 2014, Phoenix, Arizona, USA. Piscataway: IEEE Press, 2014: 829-838.
[10] 鄭文武, 李先緒, 黃執(zhí)勤. 云計(jì)算中的并行計(jì)算技術(shù)分析[J]. 電信科學(xué), 2012, 27(12): 31-38.
ZHENG W W, LI X X, HUANG Z Q. Technolical analysis of parallel computing in cloud computing[J]. Telecommunications Science, 2012, 27(12): 31-38.
[11] 李小寧, 李磊, 金連文, 等. 基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J]. 電信科學(xué), 2012, 27(9): 1-8.
LI X N, LI L, JIN L W, et al. Constructing a private cloud computing platform based on OpenStack[J]. Telecommunications Science, 2012, 27(9): 1-8.
Applications of a big data platform based on PaaS
XU Haiyong, HUANG Yan
China Mobile Communications Groups Co., Ltd., Beijing 100032, China
As a platform of data storage, processing, and service, big data platform needs to support internal and external various big data applications. A solution applied PaaS technology to the big data platform was proposed. Details of the key technical solutions such as the architecture of PaaS cloud computing platform, hierarchical scheduling scheme, multi-tenant management and global scheduling of Hadoop tasks were described. It was proved that the platform could remarkably improve big data application development efficiency and help application deployment fast. In the meantime, good elastic scaling capability can effectively improve big data application system resource utilization.
big data, PaaS, Hadoop, YARN scheduler, cloud service
TP311
A
10.11959/j.issn.1000?0801.2018043
2017?11?15;
2017?12?01
徐海勇(1970?),男,中國(guó)移動(dòng)通信集團(tuán)有限公司業(yè)務(wù)支撐系統(tǒng)部總經(jīng)理、高級(jí)工程師,主要研究方向?yàn)橐苿?dòng)通信、互聯(lián)網(wǎng)、大數(shù)據(jù)。
黃巖(1976?),男,中國(guó)移動(dòng)通信集團(tuán)有限公司業(yè)務(wù)支撐系統(tǒng)部信息管理處經(jīng)理、高級(jí)工程師,主要研究方向?yàn)榇髷?shù)據(jù)、能力開(kāi)放。