APP下载

基于开源软件的电信业务平台重构设计和分析

2017-06-01陆钢王哲区洪辉何震苇

电信科学 2017年5期
关键词:开源容器运维

陆钢,王哲,区洪辉,何震苇



基于开源软件的电信业务平台重构设计和分析

陆钢1,王哲2,区洪辉2,何震苇1

(1.中国电信股份有限公司广州研究院,广东广州 510630; 2.中国电信股份有限公司广东分公司,广东广州510081)

业务平台重构是中国电信网络智能化重构举措的重要组成部分,分析了业务平台存在的问题,给出业务平台重构的要求、架构和开源实现,以管理平台为案例给出重构的路径方法,从开源思维、技术研究、人才建设角度提出重构保障要求。

业务平台;开源软件;云计算;容器;Docker

1 引言

2016年,中国电信宣布“做领先的综合智能信息服务运营商”的转型新战略,并发布了CTNet2025网络架构白皮书,全面启动了网络智能化重构,网络智能化重构是中国电信实施转型新战略的核心举措之一。电信业务平台是电信系统的重要组成部分,指为实现和保障电信业务开展而组建的软硬件及网络环境,从业务功能来看可以分为业务管理平台、应用平台和能力平台三大类。业务平台重构也是网络智能化重构的重要方向之一,需要引入开源软件,结合SDN、NFV和云等新兴技术重构业务平台[1]。

早期电信业务平台主要是指业务应用平台,如智能网业务控制平台、软交换应用服务器和短信平台。随着电信业务的不断丰富和发展,出现了更多的增值业务、行业应用和移动互联网应用,业务管理越来越复杂,管理平台的出现成为电信业务平台的重要保障,同时随着能力开放思路的提出,应用平台和管理平台部分下沉成为能力对外开放,以服务与合作伙伴对外提供业务。

现阶段电信业务平台已经基本完成了云化改造,采用虚拟化运技术进行承载,基本实现了计算资源的池化。随着软件定义技术的不断发展,可以看到未来业务平台技术会继续向以下几个方向发展。

•Ÿ 从基础设施层上来看:最终形成计算、网络、存储3类资源的软件定义,其中 SDN技术将改变现有网络资源的建设和部署模式,采用软件方式改造现有数据网络设备,从而实现数据网络资源的灵活调度,从而解决业务平台数据网络环境的部署配套;软件定义存储改变现有存储资源的建设和部署模式,实现存储资源的集中和灵活调度[2]。

•Ÿ 从平台层来看:最终形成软件层面的模块化和可复用,其中能力平台多采用NFV方式进行虚拟化改造,从而实现现有基础电信能力网元的池化承载;应用和管理平台可以参考业界最佳实践进行重构和设计,形成一套标准化可复用的软件架构和模式,采用开源软件实现软件资源的池化,从而降低软件成本,提高开发运维效率。

2 现状分析

2.1 业务平台分类

中国电信业务平台主要包括管理平台、应用和能力平台,每类平台具有自身特点、架构和关键模块,见表1。

表1 业务平台分类

2.2 存在问题

现阶段业务平台建设运维主要存在以下问题。

(1)业务架构设计缺乏标准

•Ÿ 没有参考业界最佳实践,同类型平台架构差异较大,微服务架构应用少,系统的可扩展性和开发效率低。

•Ÿ 系统平台架构设计缺乏系统高可用率、弹性伸缩考虑。

(2)业务功能重复建设

•Ÿ 产品烟囱式建设,平台功能重复,系统整体资源利用率低,整体运营效率低下。

•Ÿ 同类型软件版本多样,导致安装、配置和调试效率低,同时缺乏专业化的软件运维人员,维护难度大。

(3)系统开源软件少

•Ÿ 过度依赖商用软件或自研,重复“造轮子”,代码质量差,可重用性差,开发周期长,建设成本高。

•Ÿ 缺乏开源软件人才和专业化的软件运维人员,维护难度大。

(4)系统资源整体利用率低

•Ÿ 应用占用资源粒度(以虚拟机为单位)大,导致资源利用率过低。

•Ÿ 调度不灵活,无法适应互联网应用波峰波谷的波动需求。

(5)缺少运营式开发、运维自动化工具

•Ÿ 缺少运营式开发工具,导致开发效率低下,迭代周期长,无法响应互联网应用需求变更。

•Ÿ 缺少运维自动化工具,导致系统部署、升级、扩容周期长,无法响应互联网应用规模变化需求。

3 重构目标设计

3.1 重构原则

业务平台重构的最终目标是要实现业务平台的分层、解耦、可复用,抽取3类业务平台共性特点,结合其差异点分类指导,具体原则如下。

•Ÿ 业务应用平台化:打造多业务共享的基础业务平台,实现软件、框架和组件层面的复用。

Ÿ• 软件选型合理化:评测主流开源基础软件和基础框架,给出主要软件和框架选型的合理化建议,统一软件版本。

•Ÿ 公共软件镜像化:建立基础软件镜像仓库,实现基础软件、技术框架的池化共享和集约化管理。

•Ÿ 业务功能组件化:将共性的业务功能封装成可复用的组件,以类库或服务的形式供上层复用。

•Ÿ 集群部署自动化:基于预定义的部署模板、云资源池和软件仓库实现整个业务平台的软硬件安装、配置和启动。

3.2 目标架构

根据以上要求设计重构目标架构如图1所示。

(1)业务展现层

最终业务软件的逻辑实现和界面,通常包括应用逻辑和展现组件,可调用平台服务层的各类软件形成最终的业务软件。展现组件目前有对应的开源软件实现,具有十分丰富的UI控件库,可供业务开发人员调用。

(2)平台服务层

对业务常用的软件或能力进行抽象封装,包括能力套件、功能组件和基础软件三大部分。其中,能力套件通常包括能力聚合和能力开放,实现对能力服务的封装,供业务实现层调用;功能组件是指构建业务软件的一些通用功能软件,通常包括日志、统计、认证、计费这些常用功能软件,这些功能软件复用性强,是上层业务平台可直接嵌入调用的部分;基础软件是指构建业务软件的基础软件,通常包括操作系统、容器、负载均衡、缓存、数据库、应用服务器和消息总线。

(3)基础资源层

采用池化的计算资源、存储资源和网络资源,并且可以采用智能管道技术将网络资源也作为基础资源开放给上层应用调用,向上提供资源经过聚合封装后形成资源能力。

(4)管理服务层

管理服务层主要包括业务管理、平台管理和资源管理3个部分。其中,业务管理包括应用管理和业务编排两个主要功能,应用管理实现应用上线后的生命周期管理功能,业务编排实现对应用上先前其构成要素的协同、编排和加载;平台管理主要包括能力管理、资源编排、集群管理和软件镜像管理4个主要功能,能力管理提供对能力的全生命周期管理以及订购、动态调度的机制等,资源编排实现软件构成基础要素(包括软件、存储、网络等)的协同、编排和部署,集群管理主要实现对容器集群资源的生命周期管理,软件镜像管理提供基础软件的上传、下载等分发服务;资源管理实现对计算资源、存储资源和网络资源的管理。

3.3 开源实现

目前业务展现层、平台服务层、基础资源层和管理服务层具有对应的开源软件实现[3],见表2。

表2 业务平台常用开源软件

4 重构路径分析

要实现业务平台重构的目标,需要在统一要求和架构的指导下,按照平台分类遵从关键路径开展工作,其关键路径包括标准架构设计、开源软件开发、基于容器部署,每一步都是下一步的基础,只有夯实基础渐进式地推进才可以将业务平台重构落到实处,以下以管理平台为例描述如何实现重构目标。

4.1 标准架构设计

标准架构设计是指对业务平台的架构进行分层和解耦,形成可参考的标准架构和服务对象,对共用软件模块抽象成可以对象化的服务模块,可采用微服务化的模型进行封装,各个抽象化的服务模块可以进行灵活的水平扩展和弹性扩展,从而形成业务平台的参考性标准视图。

以某业务管理平台为例,其抽象化后的标准视图如图2所示。

可以将管理平台按照逻辑模块分层抽象成服务对象,包括前端接入服务、业务逻辑服务、功能组件服务、基础软件服务4个部分。

•Ÿ 前端接入服务:主要提供接入和转发服务功能。

•Ÿ 业务逻辑服务:是各个不同的业务,比较独特的业务逻辑的实现。

•Ÿ 功能组件服务:提供一些与业务结合较多,但跨系统又比较通用的组件,如支付服务、通知服务、日志服务等。这些业务组件在所有的业务之间也是共用的。

•Ÿ 基础组件服务:提供一些跟业务的逻辑相隔比较远的基础组件,如队列服务、缓存服务、数据库服务等。这些技术组件所有的业务里都会使用,可以提取出来作为技术组件提供给业务使用。

4.2 开源软件开发

采用了业界标准化的软件架构后,架构中多个服务功能一般都由开源软件实现,可以对开源软件进行选型和评估,给出建议的开源软件环境,新建业务平台采用开源软件环境进行构建,同样以管理平台为例,参考总体开源实现结合管理平台自身特点,针对不同的服务功能可以采用表3的标准开源软件。

表3 标准开源软件

4.3 基于容器部署

基于容器部署是在前两个阶段的基础上,采用容器技术作为标准的开发运维环境,从而帮助软件开发人员和运维部署人员可以采用平台化的工具快速地设计业务平台的部署试图、构建业务平台软件环境,提高业务平台的开发部署效率,降低运营成本。

容器技术的出现为运营式开发提供了一种新的载体,以容器为核心的ContainerOps,其含义是以容器为载体,通过容器管理工具和分发系统实现运营式开发。在ContainerOps开发运维系统中,各个角色的职责如下[4]。

Ÿ• 开发人员:每个微服务部件由专门开发人员负责,只需要关心容器运行的应用程序开发,无需考虑应用程序的部署,开发人员负责部件打包生成容器镜像。

Ÿ• 测试人员:从镜像仓库下载镜像部署进行测试工作。

•Ÿ 运维人员:负责构建和维护容器系统,下载容器镜像进行部署。

各个角色的职责分配如图3所示。

ContainerOps改变了原有基于代码的部署运维机制,提供了基于容器的自动化运维机制,保证了开发环境和生产环境的一致性。ContainerOps机制的出现使得软件的迭代开发部署更加平滑,极大地提升了运维效率,并且通过高级自动化容器管理系统可以根据系统负载平滑扩容缩容,从而实现应用对于资源的动态调度,可以极大地减少运维人员的工作量,提高系统的可靠性。

5 重构建设保障

网络重构是中国电信未来5年的重要工作,在明确了目标和路径后,必须从思维方式、技术研究、人才培养多个角度发力,汇集全公司的力量全力保障才能够完成重构目标。

5.1 开源文化思维

在利用开源软件重构业务平台的过程中,必须充分理解和接受开源文化、思维方式和运作模式[5],跳出传统标准思维,积极拥抱并适应开源标准模式。开源软件一般以社区的模式运作,一般包括参与者、贡献者、合作开发者、项目管理委员会的角色分工,参与者可以提出需求获得帮助,贡献者和合作开发者可以解决问题、维护代码,项目管理委员会可以负责整个社区的技术发展和主要决策[6],运营商、软件提供商、个人开发者都可以以不同的角色参与其中,形成了需求、开发、维护的闭环,同时运作良好的开源软件社区以互联网方式聚合这一领域的高端人员,从而保证了整个开源软件的技术领先性,开源已经成为云计算/大数据、SDN/NFV等新兴领域的事实标准,源代码替代了传统意义上的自然语言标准,跟随成熟运作的开源项目成为技术选型的重要依据。

5.2 前沿技术研究

需要紧跟当前业务平台、云计算/大数据、SDN/NFV发展的最新趋势。在业务平台领域需要跟踪最新的基础软件和功能组件技术,实现软件架构标准化和开源软件使用指南,指导业务平台重构工作。同时配合业务平台的重构工作,在底层资源上横向拓展计算、网络、存储3类资源的云化部署调度,其中计算上可采用KVM新型虚拟化技术,辅以Docker容器技术实现资源更精细快速的调度和伸缩,在网络技术评估跟踪OpenDaylight和ONOS等开源项目,从而实现数据网络资源的灵活调度和部署配套;软件定义存储可积极探索OpenStack Swift、Ceph,实现存储资源的集中和灵活调度;在核心网元需要进一步深化云化改造,对核心网元采用NFV技术,跟踪OPNFV最新的发展。

5.3 人才队伍建设

在人才队伍上要转型,需要培养满足企业网络重构需求的开源人才队伍,开源软件降低了初期开发难度,对运营商来说是一个机会也是一个挑战,机会意味着运营商有可能部分摆脱设备商利用开源软件研发自有软件,挑战在于开源软件对人员开发能力要求很高,运营商原有人员结构不具备这方面的技能,可以通过外部招聘和内部挖潜的方式打造一支开源人才队伍,对外招聘方面运营商需要扩大招聘途径,改变招聘标准,多引入一些货真价实的开源人才,对内挖潜方面可以充分发挥本部人员、研究院、系统内部软件公司的特点,通过各类培训和实践,形成开源社区建设、开源工具操作、开源软件开发不同层次要求的阶梯形人才队伍,在人力资源方面保障整个网络重构工作的进行。

6 结束语

在互联网新经济的冲击下,运营商业务面临着巨大的竞争压力和挑战,传统网络已经无法完全满足新业务形态、新商业模式的要求,运营商的网络急需重构。新的形势引起运营商高度重视,近一年来国内外多家运营商纷纷发布了网络重构白皮书,在战略高度上指明了方向。在这一战略指引下,目前业界基本形成共识,认为开源、云计算/大数据、SDN/NFV技术的迅速发展,给运营商的网络基础设施和业务软件提供了升级改造的重大机遇。中国电信一定要把握这一机遇,在网络智能化目标指引下,利用开源软件构建下一代业务平台基础设施,从思维方式、组织机制和人才培养等多方面进行转变,深入推进网络重构工作,为企业战略转型奠定坚实基础。

[1] 韦乐平. SDN的战略性思考[J]. 电信科学, 2015, 31(1): 7-12.

WEI L P. Strategic thinking on SDN [J]. Telecommunications Science, 2015, 31(1): 7-12.

[2] 李丹, 刘方明, 郭得科, 等. 软件定义的云数据中心网络基础理论与关键技术[J]. 电信科学, 2014, 30(6): 48-59.

LI D, LIU F M, GUO D K, et al. Fundamental theory and key technology of software defined cloud data center network [J]. Telecommunications Science, 2014, 30(6): 48-59.

[3] 龚正, 吴治辉. Kubernetes权威指南[M]. 北京: 电子工业出版社, 2016.

GONG Z, WU Z H. Kubernetes: the definitive guide[M]. Beijing: Publishing House of Electronics Industry, 2016.

[4] 浙江大学SEL实验室. Docker容器与容器云[M]. 北京: 人民邮电出版社, 2015.

Software Engineering Lab of Zhejiang University. Docker and Kubernetes under the hood[M]. Beijing: Posts and Telecom Press, 2015.

[5] RAYMOND E S. 大教堂与集市[M]. 卫剑钒, 译. 北京: 机械工业出版社, 2014.

RAYMOND E S. The Cathedral and the Bazaar[M]. Translated by WEI J F. Beijing: China Machine Press. 2014.

[6] 王广凤, 唐要家. 开源软件与专有软件的竞争[M]. 北京: 经济管理出版社, 2015.

WANG G F, TANG Y J. The competition between open-source and proprietary software[M]. Beijing: Economy & Management Publishing House, 2015.

Design and analysis of telecom service platform reconstruction based on open source software

LU Gang1, WANG Zhe2, OU Honghui2, HE Zhenwei1

1. Guangzhou Research Institute of China Telecom Co., Ltd., Guangzhou 510630, China 2. Guangdong Branch of China Telecom Co., Ltd., Guangzhou 510081, China

Service platform reconstruction is an important part of the China Telecom network intelligent reconstruction. Based on the analysis of network traffic problems, principle, architecture, and realization of open source of service network reconstruction were proposed. Reconstruction method was given by taking management platform as an example. Reconstruction requirements were researched from the point of view of open thinking, technology research and personnel construction.

service platform, open source software, cloud computing, container, Docker

TP399

A

10.11959/j.issn.1000−0801.2017124

2017−03−20;

2017−04−28

陆钢(1978−),男,中国电信股份有限公司广州研究院高级工程师,主要从事行业应用、云计算及开源软件方面的工作。

王哲(1970−),女,博士,中国电信股份有限公司广东分公司高级工程师,主要从事电信宽带、业务及核心网网络规划建设方面的工作。

区洪辉(1973−),男,中国电信股份有限公司广东分公司高级工程师,主要从事电信业务平台和云计算、SDN等方面的工作。

何震苇(1976−),男,中国电信股份有限公司广州研究院工程师,主要研究方向为容器技术、PaaS技术、云应用架构和开源云平台等。

猜你喜欢

开源容器运维
Different Containers不同的容器
难以置信的事情
五毛钱能买多少头牛
运维技术研发决策中ITSS运维成熟度模型应用初探
风电运维困局
杂乱无章的光伏运维 百亿市场如何成长
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
基于ITIL的运维管理创新实践浅析
取米