深度揭秘华为边缘计算系统设计的六大核心原则

来源微信公众号:InfoQ 架构头条

嘉宾: 齐飞

作者:李慧文

伴随着业务场景的不断变化和丰富,边缘计算的内涵不断被重新定义和延展。随着云原生进入 2.0 阶段,云原生技术在边缘计算系统设计中也发挥了重要的作用。

华为于 2018 年开源并捐献到 CNCF 的 KubeEdge 项目,作为业界首个云原生边缘计算平台,从资源、应用、数据、AI、服务等多个维度,实现了边云、边边之间的管理与协作,覆盖了智慧园区、车路协同、工业 IoT、边缘媒体加速等多个场景。

在 2021 年 ArchSummit 全球架构师峰会上,华为云主任工程师齐飞分享了华为边缘计算平台的架构实践经验,以及由边缘计算向全分布式计算延伸的技术趋势。我们整理了他的演讲,以期帮你解答一些边缘计算相关的问题。(下文以齐飞老师第一人称叙述)

云原生边缘计算平台 KubeEdge 架构实践

边缘计算和云计算是共生互补的。随着物联网、5G、AI、AR/VR 等技术的发展与应用,完全依赖云计算来进行数据传输和处理将会造成巨大的网络延迟。边缘计算可在边缘节点处理数据,能够有效减少数据的传输和处理,但通过云计算的远程存储和分析仍然至关重要。

作为云计算平台的延伸,边缘计算平台不应该是一个孤立的系统,它应该和云计算平台保持关联,实现:边云平台统一的设备和应用管理视图,事件、消息、数据的跨边云高效同步,微服务在全局的自动发现和流量治理等。

同时,边缘计算平台要与中心的云计算平台保持解耦,提供本地自治的能力,以应对弱网甚至是断网的场景。另外,计算设备类型的异构、离散分布以及资源受限等也对边缘计算平台的架构设计提出了巨大挑战。

KubeEdge 源于华为云 2017 年的启动的创新项目。项目初期我们尝试开发一个能将边缘和云端协同起来的云原生应用管理框架。2018 年我们把这套框架开源出来,并逐步形成了 KubeEdge 社区。 经过 4 年的实践,我们认为边缘计算平台架构的设计,需要满足六大核心原则:开放生态、极致轻量、可靠连接、离线自治、云边协同和边缘智能

开放生态:北向统一应用开发接口,南向支持异构边缘形态

“北向统一应用开发接口,南向支持异构边缘形态”是 KubeEdge 的核心原则,围绕这个原则,我们在“IoT 设备 – 边缘计算节点 – 边缘应用”3 个层面,实现了边缘计算全流程生态开放

1.统一应用生态:基于 Kubernetes 的原生能力,提供跨云边统一的应用治理和运维体验,帮助云端应用快速便捷地迁移到边缘。

2.统一节点管控:KubeEdge 对边缘计算节点进行了统一的抽象和建模,通过扩充 Kubernetes 原生的 Node 模型,实现边缘节点和云端节点的混合管理。

3.统一 IoT 设备接入:在 IoT 设备层抽象出了统一的 IoT 设备接入框架,包括云原生 IoT 设备模型和 API 边缘协议驱动框架,方便用户和厂商基于自由的 IoT 设备进行系统集成。

极致轻量:轻量、灵活的边缘软件,全面覆盖不同边缘场景

与云计算集中式资源管理不同,边缘计算中资源往往呈现出全局地域离散、局部小规模集中的特征。同时,每个边缘节点的资源十分有限,例如一些物联网网关,内存往往只有 512M 甚至 256M。因此,边缘管控软件需要满足轻量和灵活扩展的双重要求,满足不同的硬件和场景。

为了满足管控软件轻量化要求,我们对原生的 Kubelet 进行了深度裁剪和重构,将 Kubelet 的核心功能剥离出来,形成了轻量和边缘管理软件 EdgeCore。同时,我们自研了蜂巢(Bee Hive)开发框架,实现扩展插件的动态插拔、自动发现和高效通信,以满足定制化能力的扩展。

可靠连接:边云消息统一管理满足弱网场景数据可靠传输

与数据中心网络的统一性和高可用性不同,边缘节点和中心云在网络上往往是隔离的,边缘节点通过网关、代理或专线实现与中心云的互通,这些网络往往存在带宽低、丢包严重以及不稳定等问题。这导致面向稳定网络设计的 Kubernetes 在边缘网络中很难稳定运行。如何屏蔽边缘网络差异,是边缘云原生平台需要解决的一个重要问题。

KubeEdge 通过 CloudHub 和 EdgeHub 来实现对边缘网络的屏蔽,其核心功能包括如下三个方面:

  • 通过双向多路复用消息通道,支持边缘节点跨私有网络和云端进行通信;
  • 基于 WebSocket 和消息封装,统一管理所有连接,大幅减少通信压力,在高时延高抖动下仍可正常工作;
  • 通过云边消息校验系统,在网络不稳定时防止数据丢失。

离线自治:边缘轻量化分布式决策器,离线场景故障自愈

边缘网络的不稳定性导致边缘节点经常出现和管理系统的断连,该场景下如何保证边缘应用持续稳定的运行,也是边缘云原生平台需要解决的重要问题。

KubeEdge 通过在边缘上引入一个轻量的元数据管理模块(MetaManager)对边缘应用的元数据进行存储。当边缘节点离线时,EdgeD 可以基于 MetaManager 存储的元数据对应用进行管理和恢复。每个节点上的 MetaManager 只存储了部署在本地的应用的元数据信息,这样即保证了较小的资源开销,同时也保证了集群中其他节点数据的安全性。

云边协同:网络割裂环境下实现服务发现与流量代理

边缘节点资源有限,很难完成复杂的业务流程,因此在实际业务场景中,边缘应用往往需要和云端应用互相配合,实现端到端的解决方案。

KubeEdge 提供了多种应用间跨边云数据交换的模式,包括提供消息通信能力的 EventBus 和 ServiceBus,提供微服务间互相发现和流量转发的 EdgeMesh。

EdgeMesh 是一个轻量化服务发现与流量代理组件,其目标是在边缘场景下屏蔽网络结构和链接方式的差异,提供统一的流量治理能力。其核心特性包括:

  • 极致轻量:从 Pod 级的主机级的 Agent,资源占用较 Isito 标准数据面 Envoy 降低 90%+;
  • 高可用性:基于 P2P 实现了不同节点跨网络穿透,通过中继转发和直连通道协同工作,保证系统高效运行;
  • 高可靠性:基于元数据本地存储,保证了离线时可持续工作。

边缘智能:分布式协同 AI 框架,打破模型训练推理空间限制

在数据生成的地方进行快速处理并实时响应是边缘计算发展的原始动力之一,因此,如何将数据智能处理应用高效地运行在边缘,是边缘计算研究的一个重要问题。具体有如下 4 点核心挑战:

  • 边缘场智能使用的设备往往资源有限,大型的 AI 模型难以运行;
  • 资源硬件各异,不同场景碎片化严重;
  • 边缘数据地理分散,受限于隐私等问题,不同节点间的数据难以共享,导致数据孤岛问题凸显;
  • 由于边缘场景差异化较大,边缘数据在时间和空间统计分布不一致,导致同一个模型难以适用全量的场景。

针对这些问题,我们在 KubeEdge 社区开源了边缘协同 AI 框架项目 Sedna。

Sedna 基于 KubeEdge 提供的边云协同能力,实现了 AI 应用的跨边云协同,支持现有 AI 类应用无缝下沉到边缘,快速实现跨边云的增量学习、联邦学习、协同推理、终身学习等能力,最终达到降低边缘 AI 服务构建与部署成本、提升模型性能、保护数据隐私等效果。

IEF:基于 KubeEdge 的云原生边缘计算商用平台

华为云的智能边缘平台(Intelligent EdgeFabric)是基于 KubeEdge 的商业化产品,其目标是基于云原生技术构建一个全新的边云协同操作系统,可运行在多种边缘设备上,将丰富的 AI、IoT 及数据分析等智能应用以轻量化的方式从云端部署到边缘,满足用户对智能应用边云协同的业务诉求。

IEF 服务着力构筑两个生态。在边缘,构筑硬件生态,让各种规格、各种形态的边缘硬件可以快速和平台集成,形成边缘基础设施底座。在云端,构建应用生态,和华为云自有的大数据处理、AI 处理服务集成,结合第三方应用,帮助更多企业客户快速实现边缘服务解决方案。

云原生边缘计算商业实践及落地案例

助力全国高速公路取消省界收费站,实现高速自由流

交通运输行业作为“新基建”集中落地的载体,5G、人工智能、轨道交通等产业的技术与生态将在此“聚变”,进而“裂变”出海量的创新及应用。作为交通行业数字化转型的典型场景,使用电子收费代替人工收费站,面临着收费模式和收费技术的重构。

长远来看,减少人工收费站,并建设大量的 ETC 门架系统,是未来交通管理行业走向信息化的必要一环。中国的高速公路收费模式是由全国 33 个省市自治区独立管理辖区内的高速公路,进行人工收费。全国的计费统计复杂,费率难以统一管理,人工收费效率低下,高峰期容易造成交通拥堵,影响通行效率。

基于以上挑战,中国交通部自 2019 年开始在全国范围内推行电子收费系统,取消省界之间的人工收费站。该系统基于 Kubernetes 和 KubeEdge 技术构建,利用云原生边缘计算平台带来的备异构计算、大规模设备接入、统一管理等优势,实现了接近 10 万个边缘节点和 50 万边缘应用的统一管理:

1.异构计算:当前智能边缘平台支持 x86、ARM32、ARM64 架构设备接入,并且支持主流操作系统如 CentOS、Ubuntu 等,取消省界项目中不同省份,地域选择的边缘计算硬件都不同,智能边缘平台异构接入的能力避免了用户大量的适配工作,使能客户快速接入并部署业务。

2.大规模接入:当前取消省界项目中存在近 7 万边缘节点,最高峰时接入了 8 万边缘节点。交通项目的规模往往随着业务场景丰富而扩大,智能边缘平台支持水平集群扩容,能够支持用户根据自身诉求接入更多节点。

3.统一管理:取消省界项目客观规模庞大,接入节点与部署的应用数量极多,这对节点与应用的生命周期管理,带来难度。智能边缘平台,将功能可视化,提供全流程的生命周期管理,降低各省、市以及路段的运维人员使用门槛与学习成本。

边缘计算进入“太空”,空间计算进入云原生时代

卫星在太空中承担了科学探测和研究、天气预报、土地资源调查、土地利用、区域规划、通信、跟踪、导航等多个领域的工作。从最早的单一功能,到现在的一星多用,对于卫星的智能化要求也越来越高,尤其是在复杂的太空场景中,提高卫星的智能化水平和应用服务能力,让卫星更好、更快地向地面传递更有价值的信息,是卫星全产业链价值提升的关键所在。

在此背景下,北京邮电大学与华为云边缘云创新 Lab 合作,将 KubeEdeg 和 Sedna 与卫星系统结合,实现了地面数据中心与卫星系统的无缝融合,为空间实验提供按需使用的计算能力和分布式 AI 计算能力,有效降低空间计算实验门槛。

云原生边缘计算和卫星系统的结合,使卫星具有更好的服务化能力,具备更广阔的使用范围和商业前景,具体包括以下几个方面:

  • 第一点是对卫星上的计算资源进行统一的管理和调度,将传统的预占式资源分配方式变为按需使用的智能资源调度,提升计算资源的使用效率;
  • 第二点是提供兼容 Kubernetes 的云原生应用生命周期管理,可以按需部署、升级应用,并提供全方位、可视化的的应用运维能力,降低应用开发运维成本;
  • 第三点是实现了卫星应用和云端应用协同联动,支持云平台已有 AI 能力快速延伸至卫星,并通过数据协同,支持中心云和卫星系统的联动,提升卫星的计算能力;最后一点就是通过 KubeEdge 提供安全的数据通道,支持数据加密传输,保证数据的安全。

边缘计算趋势:构建去中心化的分布式云

随着物联网通讯技术与相关嵌入式设备的高速发展,边缘计算正在崛起并为云技术带来新的趋势。可以看到,各大云厂商业务从主要依赖超大规模数据中心, 光缆高速互联的传统公有云、发展到企业私有云与公有云专线互联的混合云,逐步过渡到公有云为中心、边缘节点与中心专线或公网互联的边缘云。未来甚至可能出现去中心化,中心数据中心与边缘数据中心多路径互联的全分布式云。边缘计算将为未来的百亿终端提供 AI 能力,形成万物感知、万物互联、 万物智能的智能世界。

嘉宾介绍:齐飞,华为云主任工程师,2012 年加入华为,长期从事云计算系统和关键技术研究,参与华为混合云、边缘云等多个云计算产品的创新孵化工作。2017 年开始负责华为云边缘计算系统的创新孵化,参与华为智能边缘平台服务、云原生边缘计算开源项目 KubeEdge 的设计和开发工作。现担任华为边云协同 OS 技术创新团队负责人。

参考链接:

https://github.com/kubeedge

https://kubeedge.slack.com