阿里云如何基于边缘云设计终端云化场景的架构?
终端无休止的更新迭代,是软件对计算资源的需求激增。
作者|王广芳
编辑|IMMENSE
终端云化:打破硬件的桎梏
近几年,“终端云化”技术开始规模化落地,其核心思想是“计算卸载”,即将智能终端的计算任务卸载到边缘云虚拟终端处理,解决终端设备在算力和存储等方面的不足。
比如最近火爆的云游戏,使得在低配的手机、PC 端甚至智能电视上玩大型高画质游戏成为可能。
为了更好的理解终端云化的优势和特点,下面将以阿里云视图计算产品 VEC(Visual Edge Computing)为例进行说明。
视图计算 VEC 重点服务的是视频图像设备(消费电子、摄像头、车载终端等)上云场景,通过设备终端的标准协议接入,提供设备管理、视图处理、视图存储等服务。
“终端云化”技术打破了硬件的桎梏,其优势可总结为以下两点:
一是功能演进与终端设备解耦。
功能和性能的演进不再依赖终端设备的配置和升级,面对各种周期长、一致性差、兼容性等问题,只需要云端服务统一升级即可。
比如:VEC 服务的普通摄像头需要增加 AI 识别功能,不需花费巨资更换高价的智能摄像头,只需将接入到云端的视频流对接 AI 识别服务,简单配置参数即可。
二是高效的规模化管理。
当终端设备规模到达一定规模后,终端本身的管理以及终端上生产数据的管理就是一个很大的挑战了,尤其是 VEC 服务的视图类设备,会产生大量的视频或图片数据,在云端基于平台进行设备管理、流处理、流存储的能力是设备端无法企及的。
视图计算 VEC 作为终端云化的典型场景,重点构建了视图设备一键上云标准化协议、截图/录制/转码/混流等流媒体处理、视图 AI、视图存储等核心技术能力,但最核心的竞争力来自基于边缘云打造的架构优势。
“终端云化”为何依赖边缘云?
边缘云节点无处不在,离用户更近、数据处理延时低,可带来更好的体验。
边缘云能为”终端云化“带来什么?
仍然拿视图计算 VEC 来进行说明,常规的 VEC 系统设计可以是完全的中心架构,构建起来比较简单,如下图所示。
可以看到,VEC 系统应用统一部署在一个 Region,面向全网所有的视图设备提供 GB 协议和自研协议的接入服务,并支持接入设备以 RTP 或 RTMP 协议推流,进行切片录制、截图、转码、AI 分析、存储、实时播放、录像回看等服务。
但是 VEC 产品服务了海量的视图设备,视图流数据需要持续上传到平台进行处理,如果全部数据都到中心统一处理,成本是非常高的。
这类比较典型的终端云化大流量场景,如果能够将流量收敛到边缘进行处理,将明显降低流量成本,提升产品的竞争力。
同时,如果全网设备统一推流到中心,并不能确保所有设备推流的低延时体验,边缘就近接流是非常有必要的。
此时,边缘架构的两大优势就显现出来了。
一是就近接入,接流网关可以基于边缘节点进行广泛覆盖,支持设备的就近低延时接入;
二是更低成本,设备的视图流数据可以在边缘完成处理和存储,优化流量和存储成本。
完整的边缘架构系统是如何构建的?
接下来,如何设计业务系统的边缘架构?
中心架构与边缘架构的主要差异是,从“中心-终端”两层架构到“中心-边缘-终端”三层架构的演进。边缘云作为中间层,整体思路上将重点考虑终端能力的上移和中心能力的下沉。
终端能力上移可以降低终端硬件要求以及软件复杂度,对于海量终端的场景,在终端成本优化和易运维方面会有明显收益,这也是 VEC 在视图设备上云场景提供的价值逻辑。
中心能力下沉则主要评估业务系统中边缘和中心有成本差异的模块,比如 VEC 的视图流在边缘接入后可以在边缘完成处理和存储,后续的视图数据读取也可以直接从边缘访问,这样就大幅收敛了边缘回到中心的流量,带宽成本得到优化。
对 VEC 系统中心模块和边缘模块的评估,可以提炼为以下几类情况:
全局统一管控类的模块需要部署在中心,比如设备管理、权限管理等;
中心和边缘部署差异不明显,可根据场景灵活选择,或者优先中心部署,运维相对更简单,比如信令网关等;
针对边缘下沉场景需要在中心增加一些模块,比如节点管理、针对边缘多节点的调度等;
服务型模块(视图流处理和存储相关模块)尽量下沉边缘,通过调度进行区域分布式服务,比如接流网关、流处理、视图存储等。
最终的 VEC 边缘架构如下图所示。
其中 ENS 是阿里云的边缘云产品-边缘节点服务(Edge Node Service),提供了虚机、容器等多种形态实例,块存储、对象存储等多种存储服务,以及 LB、NAT 等多种网络组件,在全国完成重点城市的全域覆盖。
VEC 基于 ENS 进行边缘架构构建,明显降低了技术方案落地的研发成本,同时在边缘基础设施层的稳定性方面产品级的保障,可以更专注业务系统自身的技术迭代。
针对边缘架构,系统要建设一些关键能力,更好地发挥边缘架构的优势,主要包括:
资源与业务调度能力
资源由中心统一模型升级为边缘分布式模型,配套的资源和业务调度成为系统核心能力,包括访问和流量就近调度,以及节点故障或水位较高时的可用性调度等;
云边协同管控能力
中心管控和边缘管控一起形成闭环,比如用户通过中心 OpenAPI 编排一个处理流程,首先切片录制,存储为固定时长的文件,然后读取文件进行 AI 识别,就涉及到中心解析模板->多模块参数下发边缘->边缘模块按流程和参数处理->识别的结构化信息回传中心->中心信息处理等云边交互管控的复杂链路;
云边稳定且安全的通信能力
中心与边缘基于互联网的远程通信 RPC,需重点考虑通信安全和通信可靠性,云边协同管控依赖云边稳定且安全的通信能力;
边缘自治管控能力
边缘需要具备一定的自治管控能力,以应对高性能、高可用、云边一致性等场景的要求,比如减少边缘处理逻辑中对中心的依赖,以及当云边通信短时不可用时能够持续服务并在恢复后进行状态同步等。
构建一套完整的边缘架构系统,还需要什么?配套的系统能力。
主要包括:
边缘节点高效部署
边缘节点部署包括节点资源的申请和初始化,以及边缘模块应用的部署和发布。边缘架构需要大量的边缘节点进行服务,节点的部署和纳管必须标准且高效,应用容器化部署是一个不错的选择。
配置管理及配置动态下发
业务调度和云边协同管控等核心能力都有基于策略和配置进行动态管理的需求,实现灵活的场景适配,以及全网资源更高效的使用。
远程运维系统
远程运维能力包括边缘状态和日志的采集上报、监控告警、远程诊断和处置等,互联网的不稳定增加了远程运维的挑战,运维动作的链路长,故障因素多,需要针对核心运维场景做全链路能力建设。
VEC 的支撑系统大图如下,其中应用部署发布、服务发现治理、集群扩缩容等关键能力是基于 ENS 容器平台构建的。
边缘云的发展吸引了越来越多技术人的关注,在关注、参与边缘云自身能力演进的同时,相信更多的技术人更有机会做的事情,是推动自己的业务架构向边缘架构演进。
视图计算的架构可以面向更多终端云化的场景进行扩展,演进成为更加通用的终端云化平台。
在平台技术方面,可以将目前自研的 ODCAP(Open Device Cloud Access Protocol)开放设备上云协议用于更广泛的终端云化接入和管理,同时提供可视化的视图流处理编排引擎,方便终端数据的复杂处理流程定义。
在边缘架构演进方面,视图数据被存储到了数量众多的边缘节点中,数据操作都需要先定位节点再进行读写,复杂度较高。
技术上应该考虑将多个物理节点的存储抽象成一个逻辑存储,并封装一套标准的逻辑对象存储接口,这套接口可以和中心的对象存储接口在使用体验上完全一致。这个能力也已经在阿里云边缘云 ENS 上孵化完成,开始对外产品化服务。
随着边缘场景的不断丰富,边缘云才能获得更好的发展。而边缘云的使命,就是支持各类边缘场景和架构更好、更快、更稳的构建和发展。
总之,真正好的技术,是可以打破桎梏,弥合鸿沟的。
版权声明: 本文为 InfoQ 作者【阿里云视频云】的原创文章。
原文链接:【http://xie.infoq.cn/article/dfdc5fcab5327ea6f9b956978】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论