匡華
(中國移動通信集團廣東有限公司 廣東省廣州市 510623)
1.1.1 研究背景
廣東移動管理領(lǐng)域應(yīng)用系統(tǒng)經(jīng)過多年的建設(shè)發(fā)展,已經(jīng)擁有了一大批成熟的IT 系統(tǒng)基礎(chǔ)能力服務(wù),并基于基礎(chǔ)能力服務(wù)構(gòu)建了大量的應(yīng)用系統(tǒng),目前管理領(lǐng)域現(xiàn)有應(yīng)用系統(tǒng)多,軟件廠商多,各系統(tǒng)技術(shù)平臺差異性大,系統(tǒng)升級與維護難度大,也給云平臺的使用、維護管理帶來了一定難度。
2016年廣東移動規(guī)劃基于下層綜合管理支撐平臺提供的統(tǒng)一的綜合辦公支撐系統(tǒng)的底座和運行環(huán)境。按照《綜合支撐平臺服務(wù)規(guī)范-V1.0.0》,旨在通過“統(tǒng)一應(yīng)用建設(shè)”的模式,致力于在應(yīng)用統(tǒng)建的過程中,降低應(yīng)用開發(fā)商更換門檻、降低統(tǒng)一維護門檻、提高開發(fā)速度和長期降低投資的目的。
隨著云計算技術(shù)的快速發(fā)展和容器技術(shù)的不斷成熟,廣東移動PaaS 平臺的逐步建設(shè)完善,支持基于Docker 的CaaS 容器等云平臺新技術(shù)。已有云平臺基礎(chǔ)設(shè)施將更好的為應(yīng)用建設(shè)提供環(huán)境與基礎(chǔ)支撐,未來仍有非常廣闊的發(fā)展空間以及需要持續(xù)深入的精耕細(xì)作,合理利用資源并充分發(fā)揮出云平臺的優(yōu)勢和效率。
1.1.2 研究意義
廣東移動管理域應(yīng)用系統(tǒng)眾多,所需資源較多且環(huán)境差異大,云平臺資源的合理規(guī)劃、使用,對于公司應(yīng)用建設(shè)與云平臺的良性發(fā)展有著非常重大的意義,主要體現(xiàn)在如下方面:
(1)通過對廣東移動云平臺現(xiàn)狀、承載應(yīng)用情況進行梳理、分析,充分了解現(xiàn)有優(yōu)勢、不足及方向,為后續(xù)工作理清思路;(2)梳理云平臺發(fā)展方向與應(yīng)用建設(shè)方向,探索未來工作思路;(3)嘗試建立參考標(biāo)準(zhǔn),為云平臺使用及對應(yīng)用的承載、應(yīng)用建設(shè)提供參考和依據(jù);
(4)探索未來云平臺與應(yīng)用結(jié)合的運維管理工作與方向。
本次課題的研究,也為廣東移動技術(shù)更新?lián)Q代進行研究、實踐、驗證,為后續(xù)持續(xù)性發(fā)展奠定基礎(chǔ)。
1.2.1 研究目標(biāo)
結(jié)合廣東移動云平臺建設(shè)情況及發(fā)展方向以及所承載的應(yīng)用系統(tǒng),對廣東移動云平臺實際情況、各廠商應(yīng)用系統(tǒng)建設(shè)情況調(diào)研,結(jié)合廣東移動云平臺資源,探索云平臺未來建設(shè)方向,嘗試建立應(yīng)用環(huán)境參考標(biāo)準(zhǔn),充分發(fā)揮云平臺的優(yōu)勢并為應(yīng)用系統(tǒng)更好的服務(wù),使應(yīng)用能更好的實現(xiàn)基于軟、硬件集群、負(fù)載及橫向動態(tài)擴容能力,支持應(yīng)用與數(shù)據(jù)庫的跨平臺部署。
1.2.2 研究內(nèi)容
基于以上研究目標(biāo),主要針對云平臺及應(yīng)用開發(fā)現(xiàn)狀分析、承載應(yīng)用系統(tǒng)調(diào)研分析、云平臺與應(yīng)用建設(shè)探索幾個方面進行研究、分析和探索。
(1)云平臺及應(yīng)用開發(fā)現(xiàn)狀分析。研究分析廣東移動云平臺建設(shè)及使用現(xiàn)狀以及發(fā)展方向,針對行業(yè)現(xiàn)狀、集團關(guān)于Paas 的指導(dǎo)意見、廣東移動Paas 演進方向等規(guī)劃進行分析。
(2)承載應(yīng)用系統(tǒng)調(diào)研分析。對當(dāng)前云平臺承載應(yīng)用信息進行收集,包括主機、操作系統(tǒng)、應(yīng)用中間件、數(shù)據(jù)庫等情況,研究應(yīng)用軟件開發(fā)環(huán)境、技術(shù)架構(gòu)、開發(fā)框架與技術(shù)情況,形成調(diào)研分析報告與初步建議。
(3)云平臺與應(yīng)用建設(shè)探索。根據(jù)對云平臺及承載應(yīng)用現(xiàn)狀的分析研究,并結(jié)合廣東移動云平臺、應(yīng)用未來發(fā)展方向,嘗試建立應(yīng)用運行環(huán)境參考標(biāo)準(zhǔn),探索后續(xù)運維管理工作內(nèi)容與關(guān)注點,為更好的響應(yīng)業(yè)務(wù)需要并能充分利用和發(fā)揮云平臺的優(yōu)勢,同時能進行合理有效的運維管理進行初步探索。
2.1.1 行業(yè)現(xiàn)狀
近年,云計算市場規(guī)??焖僭鲩L,私有云市場漲幅明顯,而且在相當(dāng)長一段時間內(nèi),仍將保持高速增長趨勢。目前市場各大互聯(lián)網(wǎng)企業(yè)、運營商均提供公有云平臺,其中阿里云、騰訊云、華為云為代表,除提供基礎(chǔ)云服務(wù)外,阿里云在網(wǎng)絡(luò)應(yīng)用、綜合處理能力方面有優(yōu)勢,騰訊云在即時通訊、網(wǎng)絡(luò)游戲方面比較擅長,華為云則在基礎(chǔ)設(shè)施方面有很深的積累。
基于合規(guī)要求、信息安全、通信等方面的要求,大型企業(yè)都建立自己的私有云。私有云IaaS、PaaS 層經(jīng)過積累已漸趨成熟,其中IaaS 層以VMware、OpenStack 產(chǎn)品以及各種基于開源的XEN、KVM 等構(gòu)建的虛擬化產(chǎn)品為代表,PaaS 層有Cloud Foundry、Openshift、Swarm、Kubernetes 和Mesos 等。
業(yè)內(nèi)領(lǐng)先的互聯(lián)網(wǎng)企業(yè)、大企業(yè)及國內(nèi)外運營商IT 系統(tǒng)正在由以資源為中心的架構(gòu)向以應(yīng)用為中心的PaaS 架構(gòu)演進發(fā)展,均采用厚平臺、薄應(yīng)用的設(shè)計理念?;贒ocker 的輕量級容器平臺發(fā)展迅速,容器可以動態(tài)擴容,實現(xiàn)敏捷開發(fā),靈活、有彈性,可以加快應(yīng)用發(fā)布速度,結(jié)合Swarm、Kubernetes 等管理平臺,讓部署容器化的應(yīng)用更簡單并且高效。
2.1.2 移動PaaS 平臺發(fā)展策略
當(dāng)前PaaS 層存在組件不標(biāo)準(zhǔn),資源管理分散、調(diào)度低效,應(yīng)用開發(fā)效率低,運營流程割裂、能力不足等問題;為避免在去“IOE”的同時形成新的壟斷,順應(yīng)技術(shù)發(fā)展趨勢,快速支撐業(yè)務(wù)發(fā)展,打造“跨域能力共享、業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)、技術(shù)能力統(tǒng)一”的企業(yè)級PaaS 平臺,構(gòu)建可控的自主開發(fā)框架,加強標(biāo)準(zhǔn)管理,引導(dǎo)合作伙伴、自有開發(fā)人員采用統(tǒng)一框架進行應(yīng)用開發(fā)和部署。堅持以集中化PaaS 平臺目標(biāo)為導(dǎo)向策略。
廣東移動PaaS 平臺符合未來統(tǒng)一PaaS 的演進方向,目標(biāo)采用全統(tǒng)一的基礎(chǔ)框架,實現(xiàn)統(tǒng)一管理(云管平臺),統(tǒng)一iPaaS(彈性計算服務(wù)、技術(shù)能力服務(wù)、微服務(wù)框架)、統(tǒng)一aPaaS(業(yè)務(wù)能力服務(wù))。
2.2.1 操作系統(tǒng)
根據(jù)近兩年綜合管理域應(yīng)用開發(fā)項目使用操作系統(tǒng)情況統(tǒng)計,更多項目采用Linux 操作系統(tǒng),占比超過60%,Windows 操作系統(tǒng)的項目占比約25%,而前期舊系統(tǒng)大多為Window 操作系統(tǒng),可見Linux 系統(tǒng)比重在逐步增大。
2.2.2 數(shù)據(jù)庫
根據(jù)對關(guān)系數(shù)據(jù)庫分析,目前綜合管理域主要使用數(shù)據(jù)庫為Oracle,占比達到55%,MySQL 占比30%,SQL Server 占比15%。
從非關(guān)系數(shù)據(jù)庫分析結(jié)果可以看出目前綜合管理域主流非關(guān)系數(shù)據(jù)庫為Redis 占比達到92.3%。
圖1
2.2.3 中間件
通過對Web 服務(wù)器、應(yīng)用服務(wù)器使用情況分析,目前綜合管理域主流中間件中,Nginx 占比約45%,主要用于反向代理或基于軟件的負(fù)載均衡,開源的Tomcat 占比已超過50%,其他中間件主要是早期建設(shè)系統(tǒng)使用。
2.2.4 負(fù)載均衡
廣東移動負(fù)載均衡目前主要基于硬件及網(wǎng)絡(luò)層負(fù)載,基于軟件實現(xiàn)負(fù)載均衡器主要為Nginx,占比超過80%。
基于對現(xiàn)有云平臺現(xiàn)狀情況以及承載的管理域應(yīng)用運行現(xiàn)狀進行分析,目前廣東移動云平臺按照集團公司、廣東移動規(guī)劃思路逐步演進和完善。而管理域應(yīng)用運行環(huán)境多樣、所用技術(shù)繁雜,與云平臺的發(fā)展不匹配,與廣東移動“統(tǒng)一應(yīng)用建設(shè)”的思路與方向差距較遠,因此,需要結(jié)合云平臺發(fā)展方向和統(tǒng)一應(yīng)用建設(shè)思路,為后續(xù)更好的匹配做好準(zhǔn)備。
互聯(lián)網(wǎng)企業(yè)PaaS 由統(tǒng)一的iPaaS+aPaaS 自主研發(fā)實現(xiàn),非互聯(lián)網(wǎng)企業(yè)由統(tǒng)一的iPaaS(同一開發(fā)商)+不同aPaaS 實現(xiàn)(按不同開發(fā)商分類)?;谌萜鹘aaS 已成為業(yè)界事實。廣東公司云平臺分層結(jié)構(gòu)如圖1所示。
其中IaaS 面向資源設(shè)計,關(guān)注申請資源與資源的穩(wěn)定性,為云平臺架構(gòu)提供基礎(chǔ)設(shè)施與資源管理,按照滿足提供服務(wù)最大資源配置申請資源;
PaaS 平臺則面向應(yīng)用,重點關(guān)注業(yè)務(wù)/應(yīng)用如何部署和運行穩(wěn)定,按照滿足提供服務(wù)最小資源配置申請資源,靠標(biāo)準(zhǔn)容器鏡像進行安裝部署,分鐘級別完成業(yè)務(wù)部署。對應(yīng)用有要求,需要應(yīng)用廠商對業(yè)務(wù)進行微服務(wù)化改造;
最上層則為應(yīng)用系統(tǒng),管理域應(yīng)用系統(tǒng)屬于該層次,需要基于PaaS 平臺實現(xiàn)應(yīng)用的云化,從而使應(yīng)用充分利用云平臺的優(yōu)勢。
目前云平臺PaaS 環(huán)境多基于虛擬機方式進行管理,虛擬機實現(xiàn)了基于硬件的虛擬化,不同虛擬機對系統(tǒng)資源完全獨立控制,效能接近物理機。
隨著虛擬化技術(shù)的發(fā)展,容器技術(shù)應(yīng)用而生,容器是基于操作系統(tǒng)之上實現(xiàn)的虛擬化,不需要實現(xiàn)對硬件的虛擬化,容器比虛擬機更節(jié)省內(nèi)存,啟動更快,占用資源更少,遷移部署快速、運行高效等特點。
虛擬機對服務(wù)器進行虛擬化,解決的核心問題是資源調(diào)配,而容器解決的核心問題是應(yīng)用開發(fā)、測試和部署。虛擬化最終是要為應(yīng)用軟件提供環(huán)境和服務(wù),對于應(yīng)用軟件的規(guī)劃、部署以及實現(xiàn)方便有效的運維管理,涌現(xiàn)了基于云平臺的運維管理平臺軟件,如Kubernetes 等,都是基于容器進行應(yīng)用的管理,可以對龐大的容器化應(yīng)用進行管理,簡單高效的實現(xiàn)負(fù)載均衡、集群、動態(tài)擴容/縮容等。廣東移動PaaS 平臺未來規(guī)劃也將采用容器化的應(yīng)用管理模式,采用容器化實現(xiàn)應(yīng)用環(huán)境將是未來一段時間發(fā)展的必然趨勢。
廣東移動已有云平臺基礎(chǔ)設(shè)施已經(jīng)比較完善,運行環(huán)境基于現(xiàn)有基礎(chǔ)資源,操作系統(tǒng)采用Linux 的比重在逐步增大,而Windows系統(tǒng)仍然還有較多系統(tǒng)在使用,很長一段時間內(nèi)Linux 與Window仍然是主流使用的系統(tǒng),目前云平臺相應(yīng)的技術(shù)以及軟件開發(fā)相關(guān)技術(shù)和環(huán)境仍然對Linux 和Windows 環(huán)境給予支持。運行環(huán)境方面采用何種操作系統(tǒng)影響不大,但應(yīng)用開發(fā)仍需要考慮對Linux 和Windows 環(huán)境的支持。
運行環(huán)境參考標(biāo)準(zhǔn)給出了基于云平臺的應(yīng)用系統(tǒng)的建議運行環(huán)境,應(yīng)用的建設(shè)過程參考該標(biāo)準(zhǔn)進行應(yīng)用運行環(huán)境的規(guī)劃,主要內(nèi)容包括:
(1)資源要求:所需主機(容器)數(shù)量、部署結(jié)構(gòu)、主機的CPU、內(nèi)存、磁盤空間等基本參數(shù);
(2)軟件環(huán)境:Java 版本、容器、數(shù)據(jù)庫要求及參數(shù)配置要求、配置方法等;
(3)應(yīng)用配置:應(yīng)用運行相關(guān)的基礎(chǔ)參數(shù)說明、配置方法、常見的問題與排查方法等。
應(yīng)用運行環(huán)境參考標(biāo)準(zhǔn)可以指導(dǎo)應(yīng)用開發(fā)廠商快速的搭建基于云平臺應(yīng)用系統(tǒng)環(huán)境,所需資源并應(yīng)對有關(guān)環(huán)境的問題處理方法。
基于云平臺發(fā)布與更新指引對開發(fā)完成的應(yīng)用系統(tǒng)發(fā)布到測試環(huán)境與運行環(huán)境的規(guī)范,這些都講基于廣東移動PaaS 平臺及容器化進行實現(xiàn)。
針對應(yīng)用系統(tǒng)關(guān)鍵運維工作內(nèi)容及運維過程中所采用的技術(shù)工作開展運維,結(jié)合容器化技術(shù)以及運維管理平臺(或工具)進行運維管理,主要包括:
(1)基礎(chǔ)環(huán)境運維,包括基礎(chǔ)部署環(huán)境的快速搭建、運維管理平臺搭建、容器倉庫的搭建。
(2)基于運維管理平臺、容器化的應(yīng)用發(fā)布管理、應(yīng)用鏡像庫維護。
(3)基于容器倉庫快速的拉取合適的容器,建立應(yīng)用環(huán)境,應(yīng)用發(fā)布、應(yīng)用集群的配置實現(xiàn)。
(4)日常運維工作內(nèi)容,應(yīng)用的啟動、停止、動態(tài)擴容/縮容等的日常運維管理。
通過本次云平臺以及對管理域應(yīng)用的支持環(huán)境進行研究和探索,為后續(xù)云平臺發(fā)展方向指出方向,為云平臺的管理域應(yīng)用環(huán)境、發(fā)布與更新建立參考標(biāo)準(zhǔn)與指引,并結(jié)合云平臺及運維管理平臺等合理的實現(xiàn)應(yīng)用的高效管理,搭建高可用的應(yīng)用環(huán)境指明了發(fā)展方向,有利于云平臺與管理域應(yīng)用建設(shè)相互促進,共同發(fā)展,充分利用云平臺資源的情況下,保持與PaaS 平臺發(fā)展規(guī)劃思路一致,為后期很好的適應(yīng)及融入PaaS 平臺并有效承載和管理維護應(yīng)用打好了基礎(chǔ)。