陆钢,杨新章,何震苇,张凌,严丽云
(中国电信股份有限公司广州研究院,广东 广州 510630)
电信运营商对容器技术的探索和思考
陆钢,杨新章,何震苇,张凌,严丽云
(中国电信股份有限公司广州研究院,广东 广州 510630)
容器是直接运行在操作系统内核上,拥有相对隔离、独立资源的运行环境。容器技术的发展符合云计算的本质要求,电信运营商作为云计算领域的深度玩家,必须重视容器技术的发展。简要介绍了容器技术背景,分析了容器技术在电信运营商的潜在应用场景,总结了电信运营商在容器技术方面的初步探索案例,探讨了容器技术在电信运营商转型升级中可能发挥的积极作用。
容器;云计算;虚拟机
容器是直接运行在操作系统内核上,拥有相对隔离、独立的资源(如CPU、内存、网络、文件系统),可以运行一个或多个进程的运行环境。容器可以让多个独立的用户空间运行在同一台宿主机上。容器技术起源于操作系统的系统隔离工具,初期广泛应用于各大互联网公司软件系统,近几年来由于Docker公司对容器技术的封装及开源,形成了良好的产业生态和应用案例,容器技术已经具备一定的技术成熟度,同时由于云计算产业经过近10年的发展,已经形成了相当可观的市场规模,容器作为一种轻量级的虚拟化技术登上了云计算的舞台,已经成为云计算技术发展的引领者。
电信运营商一直十分重视云计算市场和技术的发展,其内部IT系统已经基本完成云化改造,并正在推动其核心网元云化改造,同时纷纷成立专业云服务公司,开拓企业市场。但是目前电信运营商存在建设成本、开发维护和运营机制等方面的诸多挑战,和目前云计算领域的顶级玩家还存在一定的差距,而容器技术具有轻量级、标准化和开源等特点,目前还处于发展初期,运营商介入并开展相关研发应用工作恰逢其时,将有助于解决云计算发展过程中的诸多难题。
云计算本质是资源的按需分配和动态调度,从而提高资源利用率,降低使用成本。容器技术的出现进一步满足了云计算的本质要求,其技术特点决定了容器有可能成为下一代云计算基础设施的基石,容器的技术特点如下所示。
(1)轻量级
容器运行占用资源少,单机可以同时运行上百个容器,相比较传统虚拟化对物理机资源的消耗,容器自身的资源消耗可以忽略不计,其应用装填密度10倍于虚拟机。
(2)快速启停
容器启动速度快,启动时间在零点几秒到数秒之间,这一特性保证了动态调度的实时性,在保证应用正常运行的前提下,可以更加高效地调度和调整资源。
(3)高性能
容器没有传统guest OS层次,直接通过内核访问物理机资源,各方面性能接近裸机,从而可以进一步提高系统资源的利用率。
(4)标准化
采用标准化的容器控制接口和镜像打包格式,各类管理平台可以方便地调用统一接口,实现对容器资源的纳管。
(5)镜像管理
容器采用分层文件系统保存镜像,通过镜像仓库提供镜像文件的保存和分发,实现了容器镜像的一键式部署和快速复制,保证了开发测试生产环境的一致性和应用快速复制的高效性。
(6)集群化
容器往往使用集群方式部署和调度,通过集群系统自带的负载分发和服务发现等机制实现了大规模资源的按需分配、动态调度,保证了应用的快速部署和弹性扩展。
另外,容器技术的代表——Docker公司从开始就将Docker完全开源,推动了整个容器技术生态的开源化发展。目前产业界各类主流容器解决方案基本采用全开源软件构建,大大降低了后进者的学习门槛和开发成本,从而保证容器技术生态圈迅速发展壮大。
容器技术核心体系主要包括了三大部件,分别是容器引擎、镜像仓库和容器管理,在其周边还有一些网络、存储等方面的辅助部件,构成了完整的容器技术栈,如图1所示。
图1 容器技术栈结构
(1)容器引擎
容器引擎是整个容器技术栈的核心,负责容器的创建、运行和管理,为容器挂载存储和网络资源,并对外提供轻量级的容器管理接口。容器引擎在操作系统上引入一个抽象层,封装了与底层系统内核交互的内容,屏蔽不同Linux发行版的差异性,使得容器具备跨OS移植的能力。目前主流的开源容器引擎包括Docker公司的Docker、Ubuntu的 LXC/LXD 和 CoreOS团队的 Rocket。
(2)镜像仓库
镜像仓库打包了应用软件、运行环境和依赖库,采用分层结构构建,镜像可以像积木一样层层堆叠。容器镜像存储在镜像仓库中,镜像仓库管理容器镜像的迭代版本、依赖关系和其他相关的元数据,对外提供镜像管理接口,以支持镜像的上传、下载和检验。目前主流的开源镜像仓库包括Docker公司的Registry和VMware公司的Harbor。
(3)容器管理
由一系列分布在多个主机的控制节点和计算节点组成。为了支撑分布式系统的复杂工作负载,让众多跨主机的容器协同工作,需要有相应的框架和解决方案来支撑容器集群的服务编排、资源调度和服务发现,保证整个集群能够可靠、高效、合理地运转。目前主流的开源容器集群框架包括 Docker公司的 Swarm、Google公司的 Kubernete和Mesosphere公司的 Mesos。
容器技术特点决定了其在多种应用场景下都可以发挥其独特作用:从资源部署的角度来看,可以应用于虚拟机替代和大规模应用部署场景;从软件开发角度来看,可应用于开发测试部署环境一致性的保障;从具体场景来看,还包括数据中心容灾、混合云迁移等,这几类场景并非孤立存在,有可能在某类应用中存在混合使用的场景。
电信运营商目前已经在IT系统、业务平台中广泛采用云计算技术,后续还计划在NFV(network function virtualization,网络功能虚拟化)环境中逐步采用云计算技术。电信运营商目前更多地从资源部署的角度看待容器技术,关注如何通过容器技术高效地承载运营商的各类系统。
容器以系统服务为核心,通常提供类似虚拟机的服务环境,可接受云管理平台的管理。针对运营商希望提高系统资源利用率的需求,可提供基于容器更轻量化的私有云解决方案,将承载在虚拟主机或物理主机上的应用迁移到容器上,解决传统虚拟机存在的资源占用率高、启动时间长、调度不够灵活等问题。
具体来看,对于运营商原有业务平台和IT系统中存在的系统资源占用率不高的应用(如孵化器的应用、活跃度不高的应用或即将退市的应用),可酌情考虑迁移到容器中,进行高密度部署,可以极大地节省系统计算资源;对于未来NFV环境中计算密集型的网元,可以优先考虑采用容器化承载方案,可通过管理平台进行快速部署和弹性伸缩,实现资源的高效调度。具体如图2所示。
图2 虚拟机迁移至容器示意
图3 微服务架构下的容器部署示意
针对运营商希望解决大规模应用部署的需求,基于容器的微服务架构可极大提升部署和运行效率,可解决大规模应用构建难、功能模块重用性低、软件升级维护难等问题。具体来看:对原有业务平台和IT系统,可酌情采用增量改造等方式将原有系统逐步部署在容器上,实现功能模块重用,提升整个系统的复用性和可扩展性;对于新建业务平台和IT系统,建议优先采用微服务架构构建,部署在容器上,采用容器集群管理平台进行容器管理和服务部署,大大降低应用构建和后期维护的难度,具体如图3所示。
目前互联网公司已经广泛采用容器技术,国内外有部分电信运营商也已经开始关注甚至应用容器技术。
2013年,Verizon为改变计算和存储资源的低利用率和随之而来的运营低效率问题,开始选择Docker容器技术以及用来管理Docker容器及服务器集群的Mesos技术重构其基础设施架构,以支撑Verizon网络上数以万计的工作任务。2014年底,Verizon建立了一种以Linux为核心,由遍布数据中心的普通服务器构成的集群。2015年8月20日在美国西雅图举办的Mesos大会上,Verizon只用了100 s就启动了50 000个Docker容器。这些容器的集群由Mesosphere数据中心操作系统(DCOS)驱动,目前用于保障Verizon日益增长的物联网业务。2014年Verizon的物联网业务营收增长了45%,4G业务增长了135%。Verizon管理的物联网设备数目超过1.5×107台而且还在增长中。Verizon的最终目标是效仿互联网巨头并得到由廉价、单一的由硬件设备组成的数据中心。
ATamp;T积极加入容器的各类开源组织,以运营商的角色和驱动力参与到开放容器和云原生应用标准制定和技术发展中。ATamp;T在运营商中一向比较激进,最先提出网络再造计划,期望打造一个全局资源统一管控和编排,大数据分析高效、自动化运营和调度的云化资源体系和互联网式业务经营模式,ATamp;T预言在2020年实现其网络75%以上的虚拟化。目前ATamp;T已经实现了在其新型网络架构中将网络协同/编排系统与其IT系统进行融合对接,向下与网络基础设施融为一体,向上成为OSS的一部分。另外ATamp;T已经在内部运行测试使用微服务架构来扩展容器容量,将很快把这个能力引入其对外提供的网络。
德国电信(DT)正尝试在Linux容器中运行虚拟网络功能,他们认为从网络的角度,Docker把NFV提升到了一个新的高度,充分利用容器的力量和可扩展性。例如,可以为不同的租户设置服务质量,或为不同的租户设定不同的业务规模。他们提出Docker化的NFV概念,尝试在集群环境中实现颗粒资源隔离和更大的弹性。
中国移动从2015年开始采用Kunbernet集群管理平台搭建承载其一级业务支撑核心系统的网状网PaaS平台试点,实现了整个平台的容器化改造和集群部署,并在Docker基础上通过增强接口和管理功能,实现了资源和应用的有效结合。整个试点进展很快,3月开始搭建Kubernete+Docker集群;7月基于 Kubernete+Docker的网状网PaaS平台上线并第一步迁移了移动商城业务;9月建立生产+容灾两个集群并迁移60%的业务;12月开始逐步将全部的业务迁移到PaaS。同时,中国移动通信集团浙江有限公司于2015年推出了自己的DCOS系统,以分布式集群资源调度Apache Mesos和Apache Hadoop YARN为基础,结合容器技术构建了一个标准化的高效平台,以容器为基础封装各类无状态应用和运行环境,以Mesos为核心实现容器资源的分布式调度与协调,支持多种计算框架,具备敏捷开发、快速部署和弹性伸缩的特性。目前中国移动逐步开始考虑一级业务支撑系统的DCOS平台的建设,整合Mesos和Kubernete,构建一个稳定性强、支持复杂业务场景、弹性扩展能力强大的电信行业DCOS+PaaS平台,为未来业务的快速发展打下坚实的基础。
容器技术已经在部分运营商有成功使用的案例,证明容器技术在运营商的业务和网络中具有不可忽视的作用,运营商必须从自身定位和转型战略的视角来看待容器的发展。
作为网络服务提供商,电信运营商可采用容器技术推动其内部系统的进一步云化,提高资源利用率和运行效率。具体来看,可以将现有或新建的业务系统、创新业务、IT系统、NFV网元(只要是基于Linux系统)承载在容器上。虽然传统系统向容器的迁移存在一定的改造量,但是新建系统在设计初期可以采用微服务架构,基于容器技术进行开发、测试和承载,作为云原生应用无缝运行在容器云环境的生产系统中。尤其在未来NFV场景下,各类数据和业务核心网元是运营商存量最大、影响最广的系统,随着传统网元的软硬件解耦和虚拟化技术的发展,运营商完全可以跳过传统商用虚拟化阶段,采用自研开源容器技术作为NFV承载层的核心技术,成为真正意义上的软件定义网络服务提供商。
作为云服务提供商,电信运营商可利用容器技术对外提供低成本的云服务,为企业用户推出一体化的IT解决方案。运营商可采用低成本开源容器轻量级虚拟化技术,对自身公有云系统进行容器化升级,辅以容器镜像和分发管理系统,可以为部分中小企业提供可弹性扩展的轻量级应用运行环境,辅以集群管理系统可以为部分大中型企业提供大规模分布式应用运行环境,从而和现有云服务组合形成按用户需求定制的差异化云服务。
作为未来的软件服务提供商,电信运营商可采用容器技术推动其向软件公司的转型发展,推动开源软件应用,转变成本结构。容器技术推动开发运维走向容器OPS,围绕以容器镜像为核心的开发运维模式,实现了和云计算的完美结合。如果运营商以此为契机,结合开源技术构建自己的研发团队,同时采用容器技术作为整个开发运维运营一体化的纽带,可以大幅降低原有虚拟化软件带来的成本支出,推动运营商的深度转型。
容器技术的出现给整个ICT产业带来了巨大的影响,而在云计算和开源软件的双重助推下,进一步加速了容器技术的普及和推广。运营商目前正在实施网络重构战略,打造基于数据中心的基础设施,用于承载其业务系统和核心网元,容器引擎可以为资源提供轻量级虚拟化技术,容器管理可以为数据中心提供一个灵活快速响应的中央控制系统,容器技术在运营商网络重构中具有重要的战略价值。目前容器技术还处于快速发展阶段,各类解决方案、开源项目层出不穷,电信运营商对容器技术的探索还处于起步阶段,运营商必须在容器方面积极探索,借助容器技术生态力量提升自身的软件研发实力和整体运维水平,推动网络重构和战略转型工作的开展。
[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进阶与实战[M].北京:机械工业出版社,2016.Huawei Docker Practice Group.Advancement and practice of Docker[M].Beijing:China Machine Press,2016.
[4]龚正,吴治辉.Kubernetes权威指南[M].北京:电子工业出版社,2016.GONG Z,WU Z H.Authority guide of Kubernetes [M].Beijing:Publishing House of Electronics Industry,2016.
[5]KAKADIA D.Mesos:大数据资源调度与大规模容器运行最佳实践[M].崔靖雯,刘梦馨,译.北京:电子工业出版社,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-),男,中国电信股份有限公司广州研究院高级工程师,主要从事电信业务平台、云计算及终端新技术研究工作。
杨新章(1972-),男,中国电信股份有限公司广州研究院高级工程师,主要从事业务平台、云计算、移动互联网方面的研发工作。
何震苇(1975-),男,中国电信股份有限公司广州研究院工程师,主要研究方向为容器技术、PaaS技术、云应用架构和开源云平台等。
张凌(1978-),女,中国电信股份有限公司广州研究院高级工程师,主要研究方向为容器技术、数据中心技术等。
严丽云(1985-),女,中国电信股份有限公司广州研究院工程师,主要研究方向为虚拟化技术、容器技术等。