陳 泳,高 昂
(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信股份有限公司廣東分公司 廣州510081)
大數(shù)據(jù)技術自2012年爆發(fā)式宣傳和進入企業(yè)應用以來,目前已在互聯(lián)網(wǎng)和企業(yè)中廣泛應用。著名IT咨詢公司Gartner在新發(fā)布的2014年IT技術成熟度曲線報告[1]中指出,大數(shù)據(jù)從之前的炒作高峰已轉向低潮期,應用領域已有多種較成熟和合理的解決方案,業(yè)務需求仍然很高,但已從引入和管理大數(shù)據(jù),轉為規(guī)?;?、常態(tài)化地利用大數(shù)據(jù)進行更好的業(yè)務運營。
[2]概述了運營商企業(yè)的大數(shù)據(jù)發(fā)展策略,平臺建設是5個策略之一,大數(shù)據(jù)在基礎設施層面須共享和發(fā)揮規(guī)模集群優(yōu)勢,以大數(shù)據(jù)中心的形式進行集約化建設與運營。
目前國內(nèi)企業(yè)的大數(shù)據(jù)應用大部分仍處于規(guī)模化部署運營初期,基礎平臺的建設運營包括硬件架構設計、軟件平臺規(guī)劃、資源的共享與各類接口的規(guī)范制定,直接關系到大數(shù)據(jù)應用能否超越傳統(tǒng)的數(shù)據(jù)倉庫方案,低成本實現(xiàn)海量數(shù)據(jù)處理和挖掘數(shù)據(jù)價值,從而成功上線應用。本文對大數(shù)據(jù)的基礎平臺建設運營進行探討與案例分析,旨在為規(guī)?;渴疬\營大數(shù)據(jù)應用提供參考。
大數(shù)據(jù)廣為接受的4V(volume、velocity、value和variety,分別代表海量、快速、價值密度低和多變)特點和新興技術的生態(tài)狀況帶來了大數(shù)據(jù)應用與傳統(tǒng)IT應用的如下3個差別和特點。
·分布式架構:利用廉價軟硬件分布式集群,解決海量數(shù)據(jù)的存儲和處理,實現(xiàn)高度的彈性可擴展和冗余可靠性,單節(jié)點故障是預期的常態(tài)現(xiàn)象。
·基礎平臺生態(tài):Apache開源軟件基金下的Hadoop平臺框架成為大數(shù)據(jù)的事實技術標準,圍繞周邊的還有基于Hadoop平臺的延伸軟件產(chǎn)品方案、開放的x86服務器平臺和存儲/網(wǎng)絡方案,開放的軟硬件平臺帶來眾多產(chǎn)品供應商,如廣泛使用的Hadoop發(fā)行版本CDH、眾多的x86服務器廠商等。
·平臺化建設運營:大數(shù)據(jù)應用都是建立在硬件資源管理層、分布式文件系統(tǒng)、數(shù)據(jù)處理層等有機組合的平臺框架之上的,有很強的通用性和互操作能力,但平臺版本和新的軟件方案發(fā)展很快,對規(guī)劃運營帶來較大影響。
上述特點,說明基礎平臺包括硬件架構、軟件平臺的選型、集成以及相關的運營方法,對大數(shù)據(jù)應用成功部署和發(fā)揮價值所起的關鍵作用。目前國內(nèi)知名互聯(lián)網(wǎng)企業(yè)已搭建了海量規(guī)模的大數(shù)據(jù)基礎平臺,基礎平臺的規(guī)劃運營有成功實踐。
以騰訊公司分布式數(shù)據(jù)倉庫(TDW)集群平臺為例[3],該平臺的建設驅動力在于整合已有的多個大數(shù)據(jù)集群,實現(xiàn)數(shù)據(jù)和資源共享,通過規(guī)?;渴鸷蛷椥怨芾恚玫匕l(fā)揮大數(shù)據(jù)應用的價值。目前TDW集群的服務器節(jié)點數(shù)量超過8 000個,硬盤數(shù)量超過50 000個。在TDW大數(shù)據(jù)基礎平臺的建設運營中,騰訊公司對Hadoop開源平臺進行定制以滿足海量規(guī)模集群下的資源和任務調(diào)度要求,并實現(xiàn)特定的業(yè)務需求,確定節(jié)點硬件配置保證投資性價比最優(yōu),實施海量集群的集中監(jiān)控,設備出現(xiàn)故障時可以自動隔離和通知,定期批量維修。這些基礎平臺的規(guī)劃與運營工作,直接關系到TDW平臺能否成功應用。通過有效的軟硬件規(guī)劃和運營流程設計,TDW平臺成為騰訊公司大數(shù)據(jù)應用的核心基礎。
目前運營商企業(yè)中的大數(shù)據(jù)應用,很多仍是分省建設,各自摸索基礎平臺建設方案,除個別發(fā)達省份外,實際上線的大數(shù)據(jù)業(yè)務應用數(shù)量不多,集群規(guī)模較小,技術積累、研發(fā)與運營經(jīng)驗存在欠缺。今后運營商的大數(shù)據(jù)應用趨勢是全網(wǎng)或大區(qū)集中而不再分特定地域,集群規(guī)模、數(shù)據(jù)模型和軟件平臺需要統(tǒng)一規(guī)劃,與現(xiàn)有分省建設大數(shù)據(jù)應用有非常大的區(qū)別。目前運營商大數(shù)據(jù)基礎平臺的規(guī)劃,對今后規(guī)?;l(fā)展有較大影響。
本文總結了中國電信股份有限公司部分省公司的成功經(jīng)驗,結合當前技術趨勢,給出大數(shù)據(jù)基礎平臺規(guī)?;ㄔO運營的思路與方法論。
基礎平臺目的在于提供集約管理和池化運營的基礎能力,實現(xiàn)軟硬件資源的共享和快速提供,為大數(shù)據(jù)應用提供高效和靈活的基礎平臺。根據(jù)當前主流的大數(shù)據(jù)技術架構,基礎平臺可劃分如下5個功能層面,為各類大數(shù)據(jù)應用提供共享的基礎服務。
·資源管理層:承載各類負載的硬件平臺及資源的動態(tài)分配,包括服務器、存儲、網(wǎng)絡、資源調(diào)度。
·數(shù)據(jù)存儲層:提供海量數(shù)據(jù)的分布式存儲,大數(shù)據(jù)應用主要是使用Hadoop框架中的HDFS。
·數(shù)據(jù)處理層:提供大數(shù)據(jù)并行計算基礎服務,主流的并行計算框架包括Hadoop平臺的Map Reduce框架及之上的Hive和新興的Spark框架等。
·接入層:為前端應用界面提供訪問接口,為后端服務提供負載均衡,當前主流為REST風格的HTTP訪問接口。
·平臺管理層:提供安全、監(jiān)控、配置、容災切換等基礎管理。
圖1給出了一個電信運營商大數(shù)據(jù)集群基礎平臺的邏輯框架。
大數(shù)據(jù)基礎平臺建設運營應結合業(yè)務需求和持續(xù)發(fā)展的技術趨勢,對上述5個功能層面選用合適和符合發(fā)展趨勢的軟硬件平臺并定期更新,根據(jù)生產(chǎn)、測試、研發(fā)等用途規(guī)劃配置不同規(guī)模的集群,基于可擴展可維護、安全性、穩(wěn)定性、持續(xù)演進的原則,逐步擴大基礎平臺規(guī)模,保證總體演進的平滑和可靠,從而構建規(guī)模化可擴展、安全穩(wěn)定和持續(xù)演進的大數(shù)據(jù)基礎平臺。前述幾個大數(shù)據(jù)基礎平臺建設運營原則的具體說明如下。
·可擴展可維護:Hadoop平臺本身提供了較好的存儲和運算擴展能力,但需要合理的集群規(guī)劃以保證資源的有效利用和平臺的可用可維護,包括軟件平臺版本的統(tǒng)一、功能節(jié)點的規(guī)劃、HDFS數(shù)據(jù)塊的大小設計、服務器機架和網(wǎng)絡拓撲規(guī)劃等。
·安全性:運營商大數(shù)據(jù)應用大多涉及客戶隱私數(shù)據(jù),需規(guī)劃實施認證框架、角色配置、實時監(jiān)控、審計日志、網(wǎng)絡隔離等技術和運營流程,保證數(shù)據(jù)安全性。
·穩(wěn)定性:廉價軟硬件平臺的故障是常態(tài)化現(xiàn)象,在平臺規(guī)劃和運營中必須包含軟硬件故障監(jiān)控,使用剔除單點的軟件版本和部署方案,應急預案中需包含集群重啟和數(shù)據(jù)重建。
·持續(xù)演進:大數(shù)據(jù)軟硬件技術都在持續(xù)和快速發(fā)展,包括新的版本和新的產(chǎn)品,例如可以運行在Hadoop平臺的Storm實時數(shù)據(jù)處理框架、定制高密度服務器等,解決了困擾大數(shù)據(jù)應用和發(fā)展的瓶頸,在大數(shù)據(jù)基礎平臺規(guī)劃建設中,必須定期評估技術趨勢發(fā)展和適用情況,及時應用成熟的新版本和新技術。
下面將以實際案例的形式,介紹大數(shù)據(jù)基礎平臺的具體建設與運營方法。
以中國電信股份有限公司廣東分公司(以下簡稱廣東電信)大數(shù)據(jù)基礎平臺的逐步建設完善為案例,說明其建設運營的思路和方法。
大數(shù)據(jù)應用及其基礎平臺的引入和持續(xù)完善,涉及IT基礎架構的根本改變,需要有充足的驅動力和合適的策略,以克服技術變革必然帶來的阻力和新系統(tǒng)初期的不完善不穩(wěn)定。廣東電信自2012年起開始將大數(shù)據(jù)技術應用在通話清單查詢系統(tǒng),初期的驅動力在于解決傳統(tǒng)IOE商用基礎架構越來越不適應業(yè)務發(fā)展的瓶頸以及掌握大數(shù)據(jù)應用的研發(fā)、部署建設和運營能力。
隨著清單查詢大數(shù)據(jù)應用及基礎平臺的持續(xù)完善,建設和運營大數(shù)據(jù)基礎平臺的驅動力變?yōu)榭焖俳尤胄碌拇髷?shù)據(jù)應用,共享軟硬件資源和統(tǒng)一高效的運營管理,規(guī)?;鸵?guī)范化運營管理大數(shù)據(jù)應用。陸續(xù)接入的賬單查詢、話單采集和預處理、財務量收報表等業(yè)務系統(tǒng),越來越體現(xiàn)大數(shù)據(jù)基礎平臺的價值,大數(shù)據(jù)的研發(fā)運營進入良性循環(huán)。
廣東電信在建設、運營大數(shù)據(jù)基礎平臺過程中,通過以下的策略降低研發(fā)和運營的風險,逐步鍛煉提升能力,保證了新技術的成功應用。
·迭代完善:互聯(lián)網(wǎng)思維的一個體現(xiàn),不追求一步到位的架構改造,使用快速見效、新技術和傳統(tǒng)技術結合的混合架構,在新系統(tǒng)研發(fā)運營管理上使用互聯(lián)網(wǎng)企業(yè)廣泛應用的敏捷模式,降低研發(fā)運營的風險,通過小步快走的微創(chuàng)新,持續(xù)優(yōu)化系統(tǒng)架構,最終達到高效、可用、彈性、便利等目標。
·業(yè)務驅動:選取業(yè)務需求迫切、傳統(tǒng)技術方案無法滿足需求的系統(tǒng)作為新技術應用的切入,合適的大數(shù)據(jù)技術可帶來明顯的優(yōu)勢,包括成本、性能、擴展性等;強烈的業(yè)務需求帶來充分的系統(tǒng)使用反饋和顯著的業(yè)務效益,對大數(shù)據(jù)應用和基礎平臺的迭代完善非常重要。以廣東電信首個大數(shù)據(jù)生產(chǎn)應用——通話清單查詢系統(tǒng)為例,該系統(tǒng)業(yè)務需求和業(yè)務負載都較大,清單數(shù)據(jù)隨業(yè)務發(fā)展持續(xù)增加,網(wǎng)上營業(yè)廳、掌上營業(yè)廳等新渠道也增大了系統(tǒng)業(yè)務負載,原有的商用基礎架構采購和擴容成本高,系統(tǒng)性能和用戶體驗隨數(shù)據(jù)規(guī)模增加而顯著下降,現(xiàn)有的大數(shù)據(jù)技術對該類業(yè)務場景有比較成熟的解決方案,與原有基礎架構相比,有明顯優(yōu)勢。
圖1 大數(shù)據(jù)基礎平臺框架
·規(guī)?;y(tǒng)一規(guī)劃:企業(yè)內(nèi)大數(shù)據(jù)相關的技術資源較為稀缺,包括研發(fā)運營團隊和需要集群化部署的基礎平臺,統(tǒng)一規(guī)劃和規(guī)模效應才能體現(xiàn)大數(shù)據(jù)應用在總體成本、海量數(shù)據(jù)存儲和處理的優(yōu)勢,統(tǒng)一的團隊也有助于集中解決大數(shù)據(jù)研發(fā)和運營遇到的問題。
前文介紹了廣東電信大數(shù)據(jù)基礎平臺的總體發(fā)展過程,本節(jié)詳細說明在大數(shù)據(jù)基礎平臺初始引入和進入規(guī)?;ㄔO運營兩個階段的平臺建設整體情況。不同階段的工作側重各有不同,循序漸進地實現(xiàn)了大數(shù)據(jù)的成功運營。
在沒有大數(shù)據(jù)研發(fā)運營經(jīng)驗的初始引入階段,廣東電信大數(shù)據(jù)基礎平臺只承載單個應用,服務器節(jié)點數(shù)較小,所用的基礎軟件平臺相比于更為成熟的開源軟件產(chǎn)品,自身的管理能力較為簡單,平臺建設目標是穩(wěn)定承載應用,逐步掌握大數(shù)據(jù)應用的運營方法。本階段的總體規(guī)劃建設步驟如下。
(1)根據(jù)業(yè)務需求選取合適軟件平臺
清單查詢數(shù)據(jù)模型和功能簡單,業(yè)務需求主要為非功能性的高并發(fā)、數(shù)據(jù)量大、月末出賬海量清單入庫、實時查詢返回等,由此確定選用較為成熟的開源大數(shù)據(jù)和相關的軟 件 平 臺, 包 括:Hadoop(HDFS、MapReduce、HBase、ZooKeeper)承載主要的存儲和運算,Ganglia分布平臺監(jiān)控系統(tǒng),Nagios硬件監(jiān)控和告警,Jetty中間件提供JSON數(shù)據(jù)訪問服務。
(2)根據(jù)業(yè)務規(guī)模和業(yè)界狀況選取合適硬件
統(tǒng)計全省月清單數(shù)據(jù)量、業(yè)務要求的入庫和查詢時限、查詢并發(fā)量,以業(yè)界主流x86服務器運行HBase的入庫和查詢效率,估算需要的Hadoop應用主機和需配備的磁盤數(shù)量,最終的基礎平臺服務器配置見表1,均為2路機架服務器,操作系統(tǒng)均使用開源的CentOS Linux。
初始階段的大數(shù)據(jù)基礎平臺經(jīng)過兩年多的運營,成功摸索出研發(fā)—運營相結合的建設運營模式(第4.3節(jié)中說明),熟悉大數(shù)據(jù)應用日常運營的各項管理要求。在此基礎上,逐步把適合遷移到大數(shù)據(jù)平臺的話單采集和預處理、財務量收報表、積分查詢、CRM歷史訂單查詢等應用,實施第二階段的應用改造和基礎平臺規(guī)劃。
在第二階段的基礎平臺規(guī)?;ㄔO運營中,提出了“平臺先行”的策略,目標是使用共享的大數(shù)據(jù)基礎平臺,統(tǒng)一承載和管理后續(xù)的大數(shù)據(jù)應用,實現(xiàn)高效、安全、便利和規(guī)模化運營的基礎平臺目標。本階段統(tǒng)一規(guī)劃和研發(fā)部署了角色授權、應用接入申請、資源監(jiān)控和分配等平臺管理層功能模塊,完善基礎平臺的管理能力,同時根據(jù)業(yè)務需求和各類基礎軟硬件的發(fā)展情況,補充了基礎平臺中的服務器型號和軟件平臺。
由于大數(shù)據(jù)應用的陸續(xù)接入,本階段基礎平臺的服務器節(jié)點數(shù)已擴展到超過160個,在服務器選型中補充完善了采購規(guī)格,把已逐步成熟和完善的高密度服務器納入其中,以提高機房的空間利用率,具體見表2。
在軟件平臺規(guī)劃上,對不同的業(yè)務應用劃分為事務型和批處理型兩種類型,規(guī)劃兩類軟件集群以實現(xiàn)不同的硬件配置和軟件優(yōu)化,增加MySQL、Redis、Kettle等軟件平臺,滿足特定業(yè)務需求??刂聘鱾€集群數(shù)量和統(tǒng)一軟件平臺版本,實現(xiàn)業(yè)務應用的規(guī)范化、業(yè)務數(shù)據(jù)共享、減輕版本控制和監(jiān)控等運營工作量。在接入層統(tǒng)一規(guī)劃和實施提供REST風格接口的業(yè)務引擎,使用基礎平臺的應用都需要遵守預定的接口規(guī)格。
表1 基礎平臺初始階段服務器配置
大數(shù)據(jù)基礎平臺運營與傳統(tǒng)的企業(yè)IT系統(tǒng)運營有很大不同,根本原因在于大數(shù)據(jù)使用廉價硬件和分布式軟件平臺,而傳統(tǒng)的企業(yè)IT技術架構則依賴高端和商用軟硬件平臺,兩者的運營差別體現(xiàn)為以下幾點。
表2 基礎平臺服務器配置規(guī)格
·高端硬件與廉價硬件集群在節(jié)點數(shù)量上存在非常大的差別,大數(shù)據(jù)應用的處理節(jié)點數(shù)量大大增加,自帶的管理功能則普遍弱于商用平臺,對運維工具提出更高的自動化要求。
·大數(shù)據(jù)所用基礎軟件平臺以開源為主,開源軟件大多無官方技術支持,運維人員需了解開源軟件內(nèi)部機制才能有效運營;同時開源軟件自身有很大的定制潛力和適用場景限制,系統(tǒng)研發(fā)人員需要了解業(yè)務需求和存在問題,選用和定制開源軟件,這些開源軟件特點需要研發(fā)—運維一體化的機制。
·開源軟件版本變更頻繁,軟件平臺升級是常態(tài),需要高效工具和流程。
基于上述差別,廣東電信在大數(shù)據(jù)基礎平臺中采用平臺運維、應用研發(fā)一體化運營模式,類似軟件開發(fā)中的敏捷模式。運維與研發(fā)兩個職能團隊相比傳統(tǒng)的運營模式,溝通和配合更為頻繁和緊密,工作地點盡量相近以確?,F(xiàn)場面對面溝通的便利。
具體的運維、研發(fā)團隊的分工如下。
·平臺運維人員職責:負責平臺安裝部署和版本升級,監(jiān)控系統(tǒng)狀況、應用接入管理、業(yè)務配置變更、業(yè)務故障響應,基于對開源軟件的理解大致定位問題所在,并與研發(fā)人員溝通。
·應用研發(fā)人員職責:系統(tǒng)代碼開發(fā)、代碼缺陷修復,了解業(yè)務需求和生產(chǎn)環(huán)節(jié)故障,定制完善開源軟件。
·雙方共同完成的職責:平臺架構演進、業(yè)務需求分析、數(shù)據(jù)模型分析。
為提升知識共享能力,建立了專家知識庫的機制,記錄平臺運營各類問題的解決方法以及各種開源軟件的使用方法、注意事項。
廣東電信規(guī)劃建設和運營大數(shù)據(jù)基礎平臺后,在系統(tǒng)投資同比基本持平的情況下,系統(tǒng)架構的彈性大大增加,可以更從容應對數(shù)據(jù)規(guī)模和業(yè)務需求快速增長的考驗,系統(tǒng)響應效率逐步提高;擺脫了之前對高端軟硬件的過度依賴,由于性能和數(shù)據(jù)在線時限的提升,客戶感知有顯著改善;運營—研發(fā)一體化的模式,促進了業(yè)務需求的快速實現(xiàn)和交付,運維效率也大大增加。
以廣東電信各個BSS統(tǒng)一調(diào)用的賬單查詢和更新平臺為例,使用基于Hadoop平臺的大數(shù)據(jù)技術,由傳統(tǒng)的IOE基礎架構改造為賬單云平臺,通過大數(shù)據(jù)基礎平臺的資源分配、權限和接口管理等流程接入公共平臺運營。相比之前的傳統(tǒng)高端商用基礎架構,使用新的賬單云平臺后,原來的BSS J2EE應用節(jié)點峰值運算負荷降低約30%,釋放了Oracle數(shù)據(jù)庫約2000個連接,普通公眾客戶的賬單服務其平均響應時間為140 ms,涉及多個產(chǎn)品實例的政企客戶也可以進行實時的賬單查詢。數(shù)據(jù)存儲和處理能力的彈性擴容,可實現(xiàn)賬單數(shù)據(jù)永久在線而基本不影響用戶體驗,擴容成本較之前的商用架構極大降低,數(shù)據(jù)的冗余存放也滿足企業(yè)的可靠性要求。
目前廣東電信大數(shù)據(jù)基礎平臺存在的不足,主要使用的Hadoop/HBase/Hive平臺框架適用于批處理場景,對于實時計算、交互式計算不太適用,無法滿足后續(xù)企業(yè)級大數(shù)據(jù)平臺的多種業(yè)務場景要求;大數(shù)據(jù)應用集約化程度有待進一步提高,基礎平臺的規(guī)模與運營能力,與互聯(lián)網(wǎng)企業(yè)相比,還有較大的差距。
本文結合運營商企業(yè)大數(shù)據(jù)平臺現(xiàn)狀,總結了與傳統(tǒng)企業(yè)IT應用有較大差別的大數(shù)據(jù)基礎平臺建設運營思路和方法,涵蓋了基礎平臺選型與集成,基礎平臺運營設計,旨在為企業(yè)規(guī)?;ㄔO運營大數(shù)據(jù)應用提供參考。
大數(shù)據(jù)基礎平臺是云計算的一種形式,通過共享的基礎設施和相應的運營流程,實現(xiàn)了軟硬件資源的高效利用、業(yè)務應用的快速提供,為客戶提供更優(yōu)質(zhì)服務,從而提升企業(yè)的整體市場競爭能力。
參考文獻
1 Gartner.Gartner’s hype cycle special report for 2014.https://www.gartner.com/doc/2816917,2014
2 黃勇軍,馮明,丁圣勇等.電信運營商大數(shù)據(jù)發(fā)展策略探討.電信科學,2013,29(3)
3 崔艷堂.騰訊大規(guī)模Hadoop集群實踐.程序員,2014(2):99~103
4 中國電信集團公司.分布式平臺實施技術指南,2014
5 中國電信股份有限公司江西分公司.Hadoop平臺規(guī)劃方案V2.0,2014