推介 | 基于微服务架构的智能内容汇聚生产云平台建设(上)
Posted 科技微览
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推介 | 基于微服务架构的智能内容汇聚生产云平台建设(上)相关的知识,希望对你有一定的参考价值。
选自:2017年第12期《现代电视技术》
成都索贝数码科技股份公司 王威
实现传统媒体与新兴媒体的融合是党中央的战略部署,也是主流媒体义不容辞的责任。近年来各主流媒体都在加大力度发展新媒体业务,新媒体内容生产、分发等技术系统有了一定的基础。目前媒体融合已经从相加阶段走向了深度融合阶段,面对这种新的要求,电视台现有技术架构的局限性已经凸显出来。传统节目生产所采用的全台网1.0 技术架构面对层出不穷的融合业务需求和频繁迭代要求,严重缺乏敏捷性。传统制播系统与新媒体生产分发技术系统的协同生产能力普遍较弱,不能形成统一的联动机制,资源上缺乏共享,不能充分发挥多年积累内容资源的优势。随着融合的发展,越来越多的海量全媒体内容给融合技术平台的内容管理提出了更高的要求。
为解决上述问题,吉林电视台结合国家新闻出版广电总局《电视台融合媒体平台建设技术白皮书》进行了天池云融合制播云平台项目的规划设计,以私有云+ 公有云服务的技术路线,在安全等保体系下,进行了全新的融合媒体云平台建设。项目从2016 年底开始建设,经过一年多的调试、使用和迭代,从5 月开始已向台内多个部门提供了融合业务的服务。
一、总体建设思路
1. 融媒业务技术架构的选择
融合媒体建设需要重新梳理台内的收录、传输、新闻、制作、内容共享、备送播、新媒体生产、分发、运营等各体系业务,通过业务、内容、资源的整合实现流程再造。业务的建设过程是不断发展且动态迭代的。这要求技术平台更加敏捷、高效地适配。吉林电视台现有系统是传统的SOA 系统架构的全台网系统,各系统通过主干总线互联,系统彼此独立部署,维护成本高,无法满足融合业务的敏捷需求。现阶段私有云平台的三层体系架构已相对成熟,IaaS 的计算、存储、网络的虚拟化、集群化、软件定义等技术已在项目中应用。它解决了基础资源层的弹性与扩展能力。但我们的目标是实现整个媒体业务的弹性化,这需要更加灵活、健壮和开放的PaaS 支撑平台。基于PaaS 平台的SaaS 服务才能更加专注业务功能,提供更好的业务能力。
专注于媒体的PaaS 平台业界定义为mPaaS。mPaaS 需具备广电媒体业务所特有的媒体内容管理、媒体处理、标签、检索引擎等服务能力。mPaaS 平台从技术架构上要能实现解耦和单一化。大量的服务要能被注册、发现、管理和运维,同时具备分布式、高可用的技术指标。通过灰度升级实现平滑的业务迭代。这些需求正符合CloudNative云原生的概念,它包括了微服务(MicroServices)、DevOps、持续交付(ContinuousDelivery)、敏捷基础设施(AgileInfrastructure)、康威定律(ConwaysLaw)等一系列的Cloud 技术、管理方法的集合。微服务能解决更快速上线、细致的API 级的故障探测、自动化隔离与恢复、方便的业务弹性与扩容。最大的价值在于更好地把业务迁移到云平台。因此,本项目在软件架构上,充分利用了CloudNative的微服务、敏捷基础设施、分布式技术、Docker 容器等技术,构建了基于微服务技术架构的云平台。采用更小的服务包装颗粒度将业务功能分解到各个离散的服务中实现服务的解耦,这使得系统可实现像搭积木一样搭建系统或者分拆,支撑融合过程中业务系统的不断迭代,同时降低整体的技术建设投资。
2. 云平台与现有全台网的融合
吉林电视台现有的制播技术系统基本上以全台网双总线技术架构建设。各个业务系统是来自不同厂商、不同时期的生产业务系统构成。新建平台不能成为信息孤岛,必须与现有系统进行有效的业务流转和数据交互。在业务融合需求的驱动下,技术体系需要先行。面对已经形成的一个个“竖井”,新平台与现有系统的融合也是项目建设的一个关键问题。
本项目基于充分提高设备利用率的建设原则,以微服务架构的平台为基础,面对原有系统群,设计了动态注入模式的微服务API 网关。通过动态注入的模式完善了微服务API 网关的业务和技术兼容能力,实现了平台与台内现有制播系统和新媒体发布系统的信息与内容共享。这不仅解决了新平台与原有技术平台的兼容,保障了原有资产的再利用,同时解决了传统业务与新业务的协同和内容共享。这一设计和实现,为传统技术平台向融合生产平台演进提供了快速的技术通路和业务支撑。
3. 内容融合与AI 植入
天池云是面向融媒的云平台,内容融合是媒体融合业务发展的关键任务。汇聚的大量内容包括了来自各系统的音视频、文稿、图片等不同类型,这使得融媒平台面对更加复杂的数据体系,从传统单一的关系型数据,向混合的结构化、非结构化、图模型的体系演化。因此需要建设功能更加强大的融合媒体内容库。融合媒体内容库能够有效地定义、管理、标签化所有内容。
大量汇聚融入的内容中,内容结构差异大、形式不统一,这就为内容库的统一管理、检索和使用带来了挑战。天池云融合制播云平台植入AI 能力,采用了卷积神经网络等智能算法,结合串联单、文稿的专业语料库训练,实现新闻智能拆条。语音到文本转化、智能标引和内容的碎片化服务,提供了内容的智能化标引。编辑、记者拿到的就是已经初步加工后的短片,带文本内容、人物、机构的标引信息,有效地提升了内容结构化的效率和检索的准确率,与传统人工分析处理相比大大提高了生产力。
其次,融合媒体内容库应提供给节目人员高效的检索应用体验。因此,内容库需要具有强大的检索引擎和较高的检索命中率。为了提高检索引擎的准确程度,要能够实现动态分析与权重评分算法,根据业务使用的特点优化。智能化的内容管理和智能的辅助处理,是未来融媒生产必不可少的手段。
4. 业务融合与生产协同
融合制播平台面对的是发展中的业务。就本项目建设而言,既要支撑制作网、新闻网等电视节目的制播,又要支撑新媒体的拆条、内容生产和分发。因此在SaaS 服务上提供了多种内容产品形态的生产工具,包括面向高清制作的非编Nova、快速拆条的Luna、互联网生产的H5 JOVE简编,以及移动端上的写稿、审片、报道等生产工具,全方位为业务发展提供技术支撑。同时规划了传统生产与融合媒体生产并行的生产业务流程。生产工具能覆盖从PC 到移动端,全方位为融合业务保驾护航。
二、基于微服务架构的云平台建设
1. 云平台体系的规划
面向融合媒体的建设需求,对于系统提出如下更高的要求:
资源随业务的需求弹性可伸缩,用量可计;
内容高效共享,数据可沉淀分析,指导业务方向和过程优化;
实现流程再造,跟随业务进化;
系统更具开放性,符合生态发展。
根据吉林电视台的规划,首先针对云平台系统进行了梳理和规划。采用云计算技术路线三层体系,具备云计算的基本属性和特征。同时,梳理了平台需要达成的几个重要的能力。IaaS 基础架构具备自动化运维、监控能力;PaaS 具备平台服务框架、容器化管理、服务能力列表、自服务与监控、面向媒体应用的板块划分及要素重构,具备媒体应用分布式框架及相关业务支撑能力。基于PaaS 的生态构建灵活多样的SaaS 服务,具备业务的进化能力。以此架构进行了初期的梳理和推导。
首选需要实现资源层的云化。IaaS 采用Open Stack、OceanStor9000IP 分布式节点存储、CASL 架构等技术实现计算资源、存储资源、网络资源的虚拟化。该平台通过绑定vGPU 直接访问物理GPU 的部分硬件资源,实现了GPU虚拟化,解决了媒体业务的GPU运算的视频算法处理需求。总体来说IaaS 的目标是通过物理设备的虚拟化技术实现资源的池化,从而可动态地调配和管理,以实现低成本数据中心建设,提高安全容灾能力、降低数据中心维护要求。
如果说IaaS 是实现云平台整体架构的第一步,那么PaaS 的设计成为整个平台中最关键的一个步骤。如何让业务弹性部署、可具扩展、高可用、内容能高速共享?通过业务的梳理规划如下的体系演进,建立了符合业务特性的通用PaaS+mPaaS的PaaS 平台,支撑融合制播业务(如图1)。
传统架构的上层应用包括媒资、文稿、制作等,为了满足业务融合发展的需要,通过对数据、计算、业务三层上进行抽象,把具备媒体服务、媒体业务能力的服务放入PaaS 中,把具备交付操作能力的应用作为工具放入SaaS 服务中。这些SaaS 服务面向PC 端和移动客户端的各种全媒体应用工具,覆盖了内容的汇聚、生产、分发、管理、协同等业务,实现融合制播业务。
2. 基于微服务的架构
天池云的融合制播云平台的设计面向融媒业务进行了梳理,目的是让业务组件化、服务模块化,使建设的系统和未来的扩容,都能够像搭建积木一样很容易地进行部署。这一理念得益于MSA(MicroserviceArchitect Pattern)的设计思路。采用微服务架构,将服务进行细粒度化拆分,同时把服务的运行环境和服务本身用容器打包的方式管理起来,使得业务逻辑变成一个个可独立调试、分发、部署、升级的微服务。微服务架构在面对系统升级、业务变更、功能扩展时,不用对整个系统后台进行大规模的改造,而是根据需要对部分服务进行升级、调整或是加入新的服务,能够更好地适应电视台未来业务的发展(如图2)。
结合厂商的实践案例,依据微服务的三维一体化拆分体系,X 轴从高可用维度,为单一服务建立多个实例,依靠负载均衡器实现服务容量水平扩展,Y 轴从颗粒度维度,将服务拆分为颗粒度适合的服务;Z 轴从数据维度,将数据分区处理,打破数据库性能瓶颈。基于这个模型进行了分析,设计构建了整体的基于微服务架构的系统。其中,PaaS 部分的微服务化是其最重要的部分。
整个架构基于分布式框架构建,由数据引擎层、计算引擎层、业务引擎层和数据接口层构成:数据引擎层采用MongoDB、图算法等提供数据存储和引擎服务,计算引擎层提供智能处理和数据挖掘组件,业务引擎层利用Docker容器技术实现业务数据的逻辑封装,数据接口层采用RESTFul 技术提供持续应用接入的能力。微服务的设计思维,将服务抽象为更符合CloudNative的更细粒度的模块,以Docker 的方式进行部署,各类服务看似隔离、实则连通,便于工具的部署和维护以应对未来更多业务的接入。基于微服务架构的建设打造了“平台+ 工具”的新一代融合模式,解脱了业务繁琐的逻辑,为上层媒体应用提供专项服务,让应用层更专注于业务。为实现这一架构,必须要解决几类关键的技术实现(如图3)。
3. 微服务架构的优点
(1)分布式、去中心化
天池云的融合制播云平台自设计之初,就充分考虑到以ESB/EMB 双总线体系的现有架构无法满足融合媒体未来的业务拓展和技术发展的需求。传统中心化的控制体系必须由中心来决定节点任务,节点必须依赖中心,一旦节点离开了中心控制就无法单独完成任何任务。集中控制的这一特征不仅不利于系统容错和灾备,也给后期扩容造成了瓶颈。如图4 所示。
去中心化,并非不要中心,而是主服务的选择由客户端投票决定,客户端根据投票机制确定哪一个是主服务、其余服务则自动成为从服务。当客户端发起一个调用请求时,主服务接收该请求,并将该请求的上下文同步给所有从服务,以备调用。随后,由分布式的计算框架“Loader”,根据哈希环的算法计算出一个响应该请求的从服务来具体执行。简单来说,任何一个节点分布式的机制下可以提供服务,但不需要一个物理的中心控制单元来集中调度。
天池云的融合制播云平台采用的这种开放式、扁平化、平等性的系统,是满足新型数据、计算、业务架构的基础,保证了计算、数据库和存储的安全性,更加符合融合媒体业务对效率和安全的要求。
(2)负载均衡与高可用
为保障天池云融合制播云平台业务的连续性与高可用性,实现多数据中心链接和高负载高流量的网络应用的目标,确保融合云平台的稳定的业务处理能力。我们在分布式设计的基础上,提出了负载均衡的要求。天池云的融合制播云平台选用了轻量级的HAProxy 实现负载均衡,同时采用Keepalived实现负载均衡的高可用性。如图6 所示。
(3)弹性可扩展
弹性扩展能力,是新一代云架构的标准配置。而要做到弹性扩展,首先必须将过去复杂的业务逻辑按功能进行拆分,使其功能单一化。这些单一功能的服务,就存放在Docker 容器中,因为Docker 具有如下优势:
标准化应用发布,Docker 可以跨平台和主机使用;
快速部署和启动,VM 启动一般是分钟级,Docker容器启动是秒级;
方便构建微服务架构的系统,通过服务编排,更好地松耦合;
节约成本,Docker 容器占用的磁盘空间可减少至MB 级;
方便持续集成,通过与代码进行关联使持续集成非常方便;
可以作为集群系统的轻量主机或节点。
天池云融合制播平台从数据本源设计出发,围绕媒体文件、元数据信息、业务缓存文件三个基本点,对底层数据存储和组合方式进行全面调整。其微服务架构由数据引擎层、计算引擎层、业务引擎层和数据接口层构成,有效提升了数据访问的合理性,有效保障基于媒体数据存储、生产、发布一体化的弹性扩张和业务拓展(如图7)。
数据的扩展性:非关系型数据库、分布式对象存储系统都具有良好的扩展性,可以通过增加分片、添加节点的方式进行横向扩展,并且加入的分片、节点只影响少量的数据和服务器,而传统的架构在遇到数据瓶颈时却几乎要动用所有的服务器重新划分数据。数据的可扩展是业务扩展的基石,天池云的系统架构保证了数据的可扩展性,能够适应将来业务的发展。
业务的扩展性:融合制播云平台在业务部署和扩展上,使用Docker 容器技术实现MSA 微服务架构,通过把服务和运行环境打包,实现服务之间的运行期隔离,保障服务在计算资源、运行环境等因素上互不影响,因此具有非常好的灵活性和扩展性。
天池云融合制播平台微服务架构的易扩展性是业务扩展的基础,消除了业务扩展的瓶颈,实现了业务持续化的便捷扩展。
(4)服务的灰度升级
吉林电视台在长期的系统建设和运营维护过程中,发现传统架构下软件版本的发布更新,不仅对正常的生产业务有较大影响,还有可能造成系统整体静态稳定面的改变,从而带来潜在风险。有鉴于此,吉林电视台将服务灰度升级作为一项硬性指标纳入天池云融合制播云平台的建设任务中,使软件发布能够进行A/B 测试,平滑过渡。如图8 所示。
天池云融合制播云平台,运用DevOps 的设计思路。组织上融合开发、技术运维以及QA工作,提升整体运行效率;流程上贯通开发测试部署运维流程,实现持续集成继续交付的快速反馈闭环;工具上依托开发的力量实现运维工作自动化。把服务能力微服务化、运行环境容器化、运行资源云化,实现了持续集成、持续测试、持续交付、持续反馈的敏捷开发过程。服务的灰度升级大幅度减少测试和交付过程中因环境问题而造成的错误,同时让问题调试和分析变得更快捷,让工具开发和平台扩展更有效率,能够更好地适应业务的发展、工具的改善、服务的升级。
微信订阅号:科技微览
以上是关于推介 | 基于微服务架构的智能内容汇聚生产云平台建设(上)的主要内容,如果未能解决你的问题,请参考以下文章
工业互联网平台架构方案,构建工业互联网企业数字化网络化智能化服务体系
微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计