陸鋼,楊新章,何震葦,張凌,嚴麗云
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
電信運營商對容器技術的探索和思考
陸鋼,楊新章,何震葦,張凌,嚴麗云
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
容器是直接運行在操作系統(tǒng)內(nèi)核上,擁有相對隔離、獨立資源的運行環(huán)境。容器技術的發(fā)展符合云計算的本質(zhì)要求,電信運營商作為云計算領域的深度玩家,必須重視容器技術的發(fā)展。簡要介紹了容器技術背景,分析了容器技術在電信運營商的潛在應用場景,總結(jié)了電信運營商在容器技術方面的初步探索案例,探討了容器技術在電信運營商轉(zhuǎn)型升級中可能發(fā)揮的積極作用。
容器;云計算;虛擬機
容器是直接運行在操作系統(tǒng)內(nèi)核上,擁有相對隔離、獨立的資源(如CPU、內(nèi)存、網(wǎng)絡、文件系統(tǒng)),可以運行一個或多個進程的運行環(huán)境。容器可以讓多個獨立的用戶空間運行在同一臺宿主機上。容器技術起源于操作系統(tǒng)的系統(tǒng)隔離工具,初期廣泛應用于各大互聯(lián)網(wǎng)公司軟件系統(tǒng),近幾年來由于Docker公司對容器技術的封裝及開源,形成了良好的產(chǎn)業(yè)生態(tài)和應用案例,容器技術已經(jīng)具備一定的技術成熟度,同時由于云計算產(chǎn)業(yè)經(jīng)過近10年的發(fā)展,已經(jīng)形成了相當可觀的市場規(guī)模,容器作為一種輕量級的虛擬化技術登上了云計算的舞臺,已經(jīng)成為云計算技術發(fā)展的引領者。
電信運營商一直十分重視云計算市場和技術的發(fā)展,其內(nèi)部IT系統(tǒng)已經(jīng)基本完成云化改造,并正在推動其核心網(wǎng)元云化改造,同時紛紛成立專業(yè)云服務公司,開拓企業(yè)市場。但是目前電信運營商存在建設成本、開發(fā)維護和運營機制等方面的諸多挑戰(zhàn),和目前云計算領域的頂級玩家還存在一定的差距,而容器技術具有輕量級、標準化和開源等特點,目前還處于發(fā)展初期,運營商介入并開展相關研發(fā)應用工作恰逢其時,將有助于解決云計算發(fā)展過程中的諸多難題。
云計算本質(zhì)是資源的按需分配和動態(tài)調(diào)度,從而提高資源利用率,降低使用成本。容器技術的出現(xiàn)進一步滿足了云計算的本質(zhì)要求,其技術特點決定了容器有可能成為下一代云計算基礎設施的基石,容器的技術特點如下所示。
(1)輕量級
容器運行占用資源少,單機可以同時運行上百個容器,相比較傳統(tǒng)虛擬化對物理機資源的消耗,容器自身的資源消耗可以忽略不計,其應用裝填密度10倍于虛擬機。
(2)快速啟停
容器啟動速度快,啟動時間在零點幾秒到數(shù)秒之間,這一特性保證了動態(tài)調(diào)度的實時性,在保證應用正常運行的前提下,可以更加高效地調(diào)度和調(diào)整資源。
(3)高性能
容器沒有傳統(tǒng)guest OS層次,直接通過內(nèi)核訪問物理機資源,各方面性能接近裸機,從而可以進一步提高系統(tǒng)資源的利用率。
(4)標準化
采用標準化的容器控制接口和鏡像打包格式,各類管理平臺可以方便地調(diào)用統(tǒng)一接口,實現(xiàn)對容器資源的納管。
(5)鏡像管理
容器采用分層文件系統(tǒng)保存鏡像,通過鏡像倉庫提供鏡像文件的保存和分發(fā),實現(xiàn)了容器鏡像的一鍵式部署和快速復制,保證了開發(fā)測試生產(chǎn)環(huán)境的一致性和應用快速復制的高效性。
(6)集群化
容器往往使用集群方式部署和調(diào)度,通過集群系統(tǒng)自帶的負載分發(fā)和服務發(fā)現(xiàn)等機制實現(xiàn)了大規(guī)模資源的按需分配、動態(tài)調(diào)度,保證了應用的快速部署和彈性擴展。
另外,容器技術的代表——Docker公司從開始就將Docker完全開源,推動了整個容器技術生態(tài)的開源化發(fā)展。目前產(chǎn)業(yè)界各類主流容器解決方案基本采用全開源軟件構(gòu)建,大大降低了后進者的學習門檻和開發(fā)成本,從而保證容器技術生態(tài)圈迅速發(fā)展壯大。
容器技術核心體系主要包括了三大部件,分別是容器引擎、鏡像倉庫和容器管理,在其周邊還有一些網(wǎng)絡、存儲等方面的輔助部件,構(gòu)成了完整的容器技術棧,如圖1所示。
圖1 容器技術棧結(jié)構(gòu)
(1)容器引擎
容器引擎是整個容器技術棧的核心,負責容器的創(chuàng)建、運行和管理,為容器掛載存儲和網(wǎng)絡資源,并對外提供輕量級的容器管理接口。容器引擎在操作系統(tǒng)上引入一個抽象層,封裝了與底層系統(tǒng)內(nèi)核交互的內(nèi)容,屏蔽不同Linux發(fā)行版的差異性,使得容器具備跨OS移植的能力。目前主流的開源容器引擎包括Docker公司的Docker、Ubuntu的 LXC/LXD 和 CoreOS團隊的 Rocket。
(2)鏡像倉庫
鏡像倉庫打包了應用軟件、運行環(huán)境和依賴庫,采用分層結(jié)構(gòu)構(gòu)建,鏡像可以像積木一樣層層堆疊。容器鏡像存儲在鏡像倉庫中,鏡像倉庫管理容器鏡像的迭代版本、依賴關系和其他相關的元數(shù)據(jù),對外提供鏡像管理接口,以支持鏡像的上傳、下載和檢驗。目前主流的開源鏡像倉庫包括Docker公司的Registry和VMware公司的Harbor。
(3)容器管理
由一系列分布在多個主機的控制節(jié)點和計算節(jié)點組成。為了支撐分布式系統(tǒng)的復雜工作負載,讓眾多跨主機的容器協(xié)同工作,需要有相應的框架和解決方案來支撐容器集群的服務編排、資源調(diào)度和服務發(fā)現(xiàn),保證整個集群能夠可靠、高效、合理地運轉(zhuǎn)。目前主流的開源容器集群框架包括 Docker公司的 Swarm、Google公司的 Kubernete和Mesosphere公司的 Mesos。
容器技術特點決定了其在多種應用場景下都可以發(fā)揮其獨特作用:從資源部署的角度來看,可以應用于虛擬機替代和大規(guī)模應用部署場景;從軟件開發(fā)角度來看,可應用于開發(fā)測試部署環(huán)境一致性的保障;從具體場景來看,還包括數(shù)據(jù)中心容災、混合云遷移等,這幾類場景并非孤立存在,有可能在某類應用中存在混合使用的場景。
電信運營商目前已經(jīng)在IT系統(tǒng)、業(yè)務平臺中廣泛采用云計算技術,后續(xù)還計劃在NFV(network function virtualization,網(wǎng)絡功能虛擬化)環(huán)境中逐步采用云計算技術。電信運營商目前更多地從資源部署的角度看待容器技術,關注如何通過容器技術高效地承載運營商的各類系統(tǒng)。
容器以系統(tǒng)服務為核心,通常提供類似虛擬機的服務環(huán)境,可接受云管理平臺的管理。針對運營商希望提高系統(tǒng)資源利用率的需求,可提供基于容器更輕量化的私有云解決方案,將承載在虛擬主機或物理主機上的應用遷移到容器上,解決傳統(tǒng)虛擬機存在的資源占用率高、啟動時間長、調(diào)度不夠靈活等問題。
具體來看,對于運營商原有業(yè)務平臺和IT系統(tǒng)中存在的系統(tǒng)資源占用率不高的應用(如孵化器的應用、活躍度不高的應用或即將退市的應用),可酌情考慮遷移到容器中,進行高密度部署,可以極大地節(jié)省系統(tǒng)計算資源;對于未來NFV環(huán)境中計算密集型的網(wǎng)元,可以優(yōu)先考慮采用容器化承載方案,可通過管理平臺進行快速部署和彈性伸縮,實現(xiàn)資源的高效調(diào)度。具體如圖2所示。
圖2 虛擬機遷移至容器示意
圖3 微服務架構(gòu)下的容器部署示意
針對運營商希望解決大規(guī)模應用部署的需求,基于容器的微服務架構(gòu)可極大提升部署和運行效率,可解決大規(guī)模應用構(gòu)建難、功能模塊重用性低、軟件升級維護難等問題。具體來看:對原有業(yè)務平臺和IT系統(tǒng),可酌情采用增量改造等方式將原有系統(tǒng)逐步部署在容器上,實現(xiàn)功能模塊重用,提升整個系統(tǒng)的復用性和可擴展性;對于新建業(yè)務平臺和IT系統(tǒng),建議優(yōu)先采用微服務架構(gòu)構(gòu)建,部署在容器上,采用容器集群管理平臺進行容器管理和服務部署,大大降低應用構(gòu)建和后期維護的難度,具體如圖3所示。
目前互聯(lián)網(wǎng)公司已經(jīng)廣泛采用容器技術,國內(nèi)外有部分電信運營商也已經(jīng)開始關注甚至應用容器技術。
2013年,Verizon為改變計算和存儲資源的低利用率和隨之而來的運營低效率問題,開始選擇Docker容器技術以及用來管理Docker容器及服務器集群的Mesos技術重構(gòu)其基礎設施架構(gòu),以支撐Verizon網(wǎng)絡上數(shù)以萬計的工作任務。2014年底,Verizon建立了一種以Linux為核心,由遍布數(shù)據(jù)中心的普通服務器構(gòu)成的集群。2015年8月20日在美國西雅圖舉辦的Mesos大會上,Verizon只用了100 s就啟動了50 000個Docker容器。這些容器的集群由Mesosphere數(shù)據(jù)中心操作系統(tǒng)(DCOS)驅(qū)動,目前用于保障Verizon日益增長的物聯(lián)網(wǎng)業(yè)務。2014年Verizon的物聯(lián)網(wǎng)業(yè)務營收增長了45%,4G業(yè)務增長了135%。Verizon管理的物聯(lián)網(wǎng)設備數(shù)目超過1.5×107臺而且還在增長中。Verizon的最終目標是效仿互聯(lián)網(wǎng)巨頭并得到由廉價、單一的由硬件設備組成的數(shù)據(jù)中心。
ATamp;T積極加入容器的各類開源組織,以運營商的角色和驅(qū)動力參與到開放容器和云原生應用標準制定和技術發(fā)展中。ATamp;T在運營商中一向比較激進,最先提出網(wǎng)絡再造計劃,期望打造一個全局資源統(tǒng)一管控和編排,大數(shù)據(jù)分析高效、自動化運營和調(diào)度的云化資源體系和互聯(lián)網(wǎng)式業(yè)務經(jīng)營模式,ATamp;T預言在2020年實現(xiàn)其網(wǎng)絡75%以上的虛擬化。目前ATamp;T已經(jīng)實現(xiàn)了在其新型網(wǎng)絡架構(gòu)中將網(wǎng)絡協(xié)同/編排系統(tǒng)與其IT系統(tǒng)進行融合對接,向下與網(wǎng)絡基礎設施融為一體,向上成為OSS的一部分。另外ATamp;T已經(jīng)在內(nèi)部運行測試使用微服務架構(gòu)來擴展容器容量,將很快把這個能力引入其對外提供的網(wǎng)絡。
德國電信(DT)正嘗試在Linux容器中運行虛擬網(wǎng)絡功能,他們認為從網(wǎng)絡的角度,Docker把NFV提升到了一個新的高度,充分利用容器的力量和可擴展性。例如,可以為不同的租戶設置服務質(zhì)量,或為不同的租戶設定不同的業(yè)務規(guī)模。他們提出Docker化的NFV概念,嘗試在集群環(huán)境中實現(xiàn)顆粒資源隔離和更大的彈性。
中國移動從2015年開始采用Kunbernet集群管理平臺搭建承載其一級業(yè)務支撐核心系統(tǒng)的網(wǎng)狀網(wǎng)PaaS平臺試點,實現(xiàn)了整個平臺的容器化改造和集群部署,并在Docker基礎上通過增強接口和管理功能,實現(xiàn)了資源和應用的有效結(jié)合。整個試點進展很快,3月開始搭建Kubernete+Docker集群;7月基于 Kubernete+Docker的網(wǎng)狀網(wǎng)PaaS平臺上線并第一步遷移了移動商城業(yè)務;9月建立生產(chǎn)+容災兩個集群并遷移60%的業(yè)務;12月開始逐步將全部的業(yè)務遷移到PaaS。同時,中國移動通信集團浙江有限公司于2015年推出了自己的DCOS系統(tǒng),以分布式集群資源調(diào)度Apache Mesos和Apache Hadoop YARN為基礎,結(jié)合容器技術構(gòu)建了一個標準化的高效平臺,以容器為基礎封裝各類無狀態(tài)應用和運行環(huán)境,以Mesos為核心實現(xiàn)容器資源的分布式調(diào)度與協(xié)調(diào),支持多種計算框架,具備敏捷開發(fā)、快速部署和彈性伸縮的特性。目前中國移動逐步開始考慮一級業(yè)務支撐系統(tǒng)的DCOS平臺的建設,整合Mesos和Kubernete,構(gòu)建一個穩(wěn)定性強、支持復雜業(yè)務場景、彈性擴展能力強大的電信行業(yè)DCOS+PaaS平臺,為未來業(yè)務的快速發(fā)展打下堅實的基礎。
容器技術已經(jīng)在部分運營商有成功使用的案例,證明容器技術在運營商的業(yè)務和網(wǎng)絡中具有不可忽視的作用,運營商必須從自身定位和轉(zhuǎn)型戰(zhàn)略的視角來看待容器的發(fā)展。
作為網(wǎng)絡服務提供商,電信運營商可采用容器技術推動其內(nèi)部系統(tǒng)的進一步云化,提高資源利用率和運行效率。具體來看,可以將現(xiàn)有或新建的業(yè)務系統(tǒng)、創(chuàng)新業(yè)務、IT系統(tǒng)、NFV網(wǎng)元(只要是基于Linux系統(tǒng))承載在容器上。雖然傳統(tǒng)系統(tǒng)向容器的遷移存在一定的改造量,但是新建系統(tǒng)在設計初期可以采用微服務架構(gòu),基于容器技術進行開發(fā)、測試和承載,作為云原生應用無縫運行在容器云環(huán)境的生產(chǎn)系統(tǒng)中。尤其在未來NFV場景下,各類數(shù)據(jù)和業(yè)務核心網(wǎng)元是運營商存量最大、影響最廣的系統(tǒng),隨著傳統(tǒng)網(wǎng)元的軟硬件解耦和虛擬化技術的發(fā)展,運營商完全可以跳過傳統(tǒng)商用虛擬化階段,采用自研開源容器技術作為NFV承載層的核心技術,成為真正意義上的軟件定義網(wǎng)絡服務提供商。
作為云服務提供商,電信運營商可利用容器技術對外提供低成本的云服務,為企業(yè)用戶推出一體化的IT解決方案。運營商可采用低成本開源容器輕量級虛擬化技術,對自身公有云系統(tǒng)進行容器化升級,輔以容器鏡像和分發(fā)管理系統(tǒng),可以為部分中小企業(yè)提供可彈性擴展的輕量級應用運行環(huán)境,輔以集群管理系統(tǒng)可以為部分大中型企業(yè)提供大規(guī)模分布式應用運行環(huán)境,從而和現(xiàn)有云服務組合形成按用戶需求定制的差異化云服務。
作為未來的軟件服務提供商,電信運營商可采用容器技術推動其向軟件公司的轉(zhuǎn)型發(fā)展,推動開源軟件應用,轉(zhuǎn)變成本結(jié)構(gòu)。容器技術推動開發(fā)運維走向容器OPS,圍繞以容器鏡像為核心的開發(fā)運維模式,實現(xiàn)了和云計算的完美結(jié)合。如果運營商以此為契機,結(jié)合開源技術構(gòu)建自己的研發(fā)團隊,同時采用容器技術作為整個開發(fā)運維運營一體化的紐帶,可以大幅降低原有虛擬化軟件帶來的成本支出,推動運營商的深度轉(zhuǎn)型。
容器技術的出現(xiàn)給整個ICT產(chǎn)業(yè)帶來了巨大的影響,而在云計算和開源軟件的雙重助推下,進一步加速了容器技術的普及和推廣。運營商目前正在實施網(wǎng)絡重構(gòu)戰(zhàn)略,打造基于數(shù)據(jù)中心的基礎設施,用于承載其業(yè)務系統(tǒng)和核心網(wǎng)元,容器引擎可以為資源提供輕量級虛擬化技術,容器管理可以為數(shù)據(jù)中心提供一個靈活快速響應的中央控制系統(tǒng),容器技術在運營商網(wǎng)絡重構(gòu)中具有重要的戰(zhàn)略價值。目前容器技術還處于快速發(fā)展階段,各類解決方案、開源項目層出不窮,電信運營商對容器技術的探索還處于起步階段,運營商必須在容器方面積極探索,借助容器技術生態(tài)力量提升自身的軟件研發(fā)實力和整體運維水平,推動網(wǎng)絡重構(gòu)和戰(zhàn)略轉(zhuǎn)型工作的開展。
[1]浙江大學SEL實驗室.Docker容器與容器云[M].北京:人民郵電出版社,2015.Software Engineering Lab ofZhejiang University.Docker container and container cloud [M].Beijing:Postsamp;Telecom Press,2015.
[2]JAMES T.第一本 Docker書 [M].李兆海,劉斌,巨震.譯.北京:人民郵電出版社,2015.JAMES T.The first Docker book [M].LI Z H,LIU B,JV Z.Translated by LI Z H,LIU B,JU Z.Beijing:Postsamp;Telecom Press,2015.
[3]華為 Docker實踐小組.Docker進階與實戰(zhàn)[M].北京:機械工業(yè)出版社,2016.Huawei Docker Practice Group.Advancement and practice of Docker[M].Beijing:China Machine Press,2016.
[4]龔正,吳治輝.Kubernetes權威指南[M].北京:電子工業(yè)出版社,2016.GONG Z,WU Z H.Authority guide of Kubernetes [M].Beijing:Publishing House of Electronics Industry,2016.
[5]KAKADIA D.Mesos:大數(shù)據(jù)資源調(diào)度與大規(guī)模容器運行最佳實踐[M].崔靖雯,劉夢馨,譯.北京:電子工業(yè)出版社,2015.KAKADIA D.Build and execute robust and scalable applications using Apache Mesos [M].Translated by CUI J W,LIU M X.Beijing:Publishing House of Electronics Industry,2015.
Exploration and thinking of container technology for telecom operators
LU Gang,YANG Xinzhang,HE Zhenwei,ZHANG Ling,YAN Liyun
Guangzhou Research Institute of China Telecom Co.,Ltd.,Guangzhou 510630,China
Container is an operating environment which has relatively isolated resources running on top of the operating system kernel,and the development of container technology corresponds to the essential requirements of cloud computing.As a senior player in cloud computing field,the telecom operators must pay more attention to container technology.The technology background of container was briefly introduced,the potential application scenarios for telecom operators were analyzed,the preliminary exploratory cases for telecom operators were summarized,and the possible positive role of container technology in transformation and upgrade for telecom operators was discussed.
container,cloud computing,virtual machine
TP316
A
10.11959/j.issn.1000-0801.2016212
2016-06-12;
2016-08-02
陸鋼(1978-),男,中國電信股份有限公司廣州研究院高級工程師,主要從事電信業(yè)務平臺、云計算及終端新技術研究工作。
楊新章(1972-),男,中國電信股份有限公司廣州研究院高級工程師,主要從事業(yè)務平臺、云計算、移動互聯(lián)網(wǎng)方面的研發(fā)工作。
何震葦(1975-),男,中國電信股份有限公司廣州研究院工程師,主要研究方向為容器技術、PaaS技術、云應用架構(gòu)和開源云平臺等。
張凌(1978-),女,中國電信股份有限公司廣州研究院高級工程師,主要研究方向為容器技術、數(shù)據(jù)中心技術等。
嚴麗云(1985-),女,中國電信股份有限公司廣州研究院工程師,主要研究方向為虛擬化技術、容器技術等。