如何找到最适合您的开源项目?
边缘计算当前是计算行业中最普遍的主题之一。它是一项广泛的技术,几乎可以使每个行业都受益,这就是为什么出现了如此多的用例和项目的原因。本文介绍了边缘分类,描述了边缘用例的特征,概述了市场上可用的开源项目并解释了它们的功能。最后,它提供了一种选择要采用哪个项目来构建边缘的方法。
边缘计算的简要介绍
边缘计算是一种分布式计算范式,通常用于将工作负载分散或分流到更近的设备,从而满足近十年来开发的许多新方案的需求。与云计算相比,边缘计算将以数据为中心的网络,计算和存储功能更靠近端点设备,以提高服务能力,优化总体拥有成本,遵守数据本地性并减少应用程序延迟。
由于这些因素,边缘计算具有以下特性:近实时交互,海量数据存储和移动,增强的安全性和数据隐私,上下文或位置感知,零接触配置和低接触维护,大规模的多址网络和小型网站。
边缘计算的典型实现
显然,上一段中的介绍只是一个广义的定义,提供了有关此分布式计算范例的一些基本思想。但是,为了实现这些目标,可以通过针对不同场景的独立方法来实现边缘计算。本节介绍几种典型的实现。
这里描述了在大量边缘研究中经常引用的三种典型实现,包括雾计算,移动/多路访问边缘计算和Cloudlet计算。这是其中一份研究文件的有用定义。
- “雾计算(FC):一种基于雾计算节点的分散式计算基础架构,该节点位于最终设备与云之间的体系结构的任何位置。这些节点本质上是异构的,因此可以基于不同种类的元素,包括但不限于路由器,交换机,接入点,物联网(IoT)网关和机顶盒。”
- “移动/多路访问边缘计算(MEC):将计算和存储能力带入无线访问网络内的网络边缘,以减少延迟并提高上下文感知。MEC节点或服务器通常与无线电网络控制器或宏基站位于同一位置。这些服务器运行多个MEC主机实例,这些实例具有在虚拟接口上执行计算和存储的能力。”
- “云计算(CC)”被视为运行虚拟机的“盒子中的数据中心”,该虚拟机能够通过WLAN网络向终端设备和用户实时提供资源。这些服务是Cloudlets,通过高带宽的单跳访问提供,因此为应用程序提供了低延迟。”
显然,每个实现都有自己的特征,可能适合于特定的用例。下表显示了每种实现的特征,并可以进行比较。从表中我们可以推断出,由于驻留在不同的设备上,FC对于需要较少资源,较低延迟并连接到各种设备类型的用例可能会更好。但是,MEC和CC可能更适合需要更多资源进行计算以及具有资源调配要求的情况。
实施类型 | 足球俱乐部 | 机电 | 抄送 |
位置 | 近端设备,密集分布 | 无线电接入网控制器/基站 | 本地/室外安装在一处 |
设备 | 路由器,交换机,接入点,网关… | 在基站或CO中运行的服务器 | 小型数据中心 |
存取媒介(大部分) | WiFi,LTE *,ZigBee *,MQTT,蓝牙*技术… | WiFi,LTE… | 无线上网… |
逻辑接近 | 一跳/多跳 | 一跳 | 一跳 |
近实时互动能力 | 高 | 中 | 中 |
多租户 | 支持的 | 支持的 | 支持的 |
计算能力 | 中 | 高 | 高 |
能量消耗 | 低 | 高 | 中 |
上下文意识 | 中 | 高 | 低 |
覆盖范围 | 低 | 高 | 低 |
服务器密度 | 中 | 低 | 高 |
成本/资本支出 | 低 | 高 | 中 |
交通连续性 | 高 | 中 | 高 |
活跃用户 | 高 | 中 | 中 |
表1.边缘实现之间的比较
边缘使用情况
如前所述,边缘计算几乎可以在每个行业中使用,并且出现了许多用例。Mc Kinsey的一项调查显示,到2025年,边缘计算在硬件方面的潜在价值为1750亿美元至2150亿美元,涵盖了我们生活的方方面面。潜在的用例包括交通类别中的智能城市,医疗类别中的E-health用例,全球能源和材料类别中的智能电网用例,等等。因为每个类别都有各种要求,所以每个用例很可能具有自己的功能,并且也将通过不同的结构或方式来实现。
研究中引用了七个功能,这些功能用于评估用例并定义最合适的实现。他们是:
- 带宽
- 潜伏
- 可扩展性
- 上下文/位置意识
- 能量消耗
- 可扩展性
- 隐私权与安全性
图2显示了基于这些功能的一些典型用例的异同的清晰画面。
图1.用例的相似性和差异
根据我们前面讨论的实现特征,我们确定了用例功能及其实现之间的相似关系。我们了解到,这种关系可以指导我们如何通过更适当的实现来开发这些用例。下图显示了用例功能和实现特征之间的详细映射。
图2.用例特征和边缘实现特征之间的关系
使用以上信息,我们可以得出结论,要满足需要低延迟和高扩展性的智能城市的需求,与MEC集成的FC将是最佳选择。下表列出了通过此分析确定的其他用例的建议。
用例 | 建议 |
智慧城市 | FC + MEC |
RAN感知上下文优化 | 机电 |
增强现实 | MEC / CC + FC |
电子保健 | 足球俱乐部 |
自动驾驶汽车 | FC + MEC |
智能电网 | 足球俱乐部 |
视频缓存与分析 | MEC / CC |
表2. 用例建议
开源项目
基于边缘计算技术的大量项目应运而生,其中许多项目试图满足各行各业使用的不同方案。在寻找支持特定用例的最佳项目时,我们发现将现有项目分类到不同的边缘实现中很有帮助,因为边缘用例和边缘实现存在差异。图5显示了我们用于对项目进行分类的工作流。该图还演示了一些与边缘计算有关的项目,一些可用于构建边缘基础设施,一些可用作边缘平台,而其他则可能是源自边缘计算的项目。在本节中,将解决一些项目并将其分类为适合各种用例的边缘实现。
图3.分类工作流程
这里讨论的第一个项目是Akraino*,这是Linux * Foundation边缘保护伞下的著名开源边缘项目,由Linux Foundation *和AT&T *于2018年2月成立。Akraino的目标是利用由Linux基金会构建的端到端边缘软件堆栈Akraino社区,针对各种用例进行了优化。Akraino将这些端到端堆栈称为“蓝图”,这些图涵盖了边缘实现所需的每一层,从云基础架构下层到高层业务流程层。在2019年6月,Akraino发布了其首个首要发行版,其中包含可部署的,经过自我认证的蓝图,适用于各种边缘用例,包括无线电边缘云,集成边缘云,远端边缘分布式云等。总而言之,Akraino是几个蓝图的保护伞。您可以根据需要选择这些可部署的蓝图。
由美国电话电报公司(AT&T),英特尔和SK Telecom *发起的飞艇 *是OpenStack Foundation框架下的一个试点项目,该项目于2018年启动,组件松散耦合。它最初被称为便捷部署工具,可用于从头开始引导整个云基础架构(例如,Kubernetes *上的OpenStack *)。但是,这实际上只是其功能的一小部分。更重要的是,飞艇可以处理由Helm *图表包裹的任何平台,并可以通过配置yaml文件中的简单更改来处理基础结构的持续更新。飞艇要么针对一个特定的用例,要么与任何边缘实现的特征保持一致,因此,此处无法进行分类。
2018年5月,在OpenStack Foundation的支持下创建了一个名为StarlingX的新试点项目*为边缘和物联网用例提供集成和优化的平台。它是一个可部署的,高度可靠的边缘基础架构软件平台,它基于更多的开源组件,例如OpenStack,Kubernetes,Ceph *等,此外还提供了增强的功能,例如主机管理,故障管理,软件管理等。该平台中还实现了多种加速技术,包括OVS-DPDK和SR-IOV。这些功能使StarlingX可以改善低触摸可管理性以及平台的可靠性,因此可以为边缘用例提供超低延迟,小占用空间和可扩展性。探索StarlingX的体系结构时,它肯定符合MEC和CC的特点,原因如下:它具有资源供应功能,
重新设计为数据中心(CORD)的中央办公室和虚拟中央办公室(vCO)是另外两个有关边缘计算的项目。这两个项目都试图将现有的中心办公室作为用于计算,网络和存储的边缘云进行管理,并且每个项目都具有企业,住宅和移动领域的子项目,以满足市场中的所有需求。AT&T提出的CORD形成了一个框架,该框架使用开放网络操作系统(ONOS)作为软件定义的网络(SDN)控制器,而XOS作为协调器,来组合和组合服务。它也是一种端到端服务,可以应用不同的策略并通过设计进行扩展。
与CORD相比,vCO是一个概念证明(PoC)项目,由OPNFV项目下的工作组领导,使用OpenDaylight *(ODL)作为SDN控制器,并使用Open Network Automation Platform(ONAP *)作为协调器。vCO当前已交付了三个演示,涉及企业,住宅和移动用例。这两个项目均基于无线电网络,以改善其在边缘计算中的功能。因此,它们绝对是用于边缘的MEC实现。
项目 | 基础 | 关键参与者 | 层 | 细分/重点 | 玛诺 | SDN | 最新版本 | 下层 | 代码仓库 |
阿克拉诺 | Linux基金会 | ARM,AT&T,戴尔,爱立信,英特尔,瞻博网络,诺基亚,红帽,WRS等 | 雨伞,全栈 | 多合一边缘堆栈 | 不适用 | 不适用 | 1.0 | Openstack,K8S | |
八哥 | OpenStack基金会 | 中国联通,爱立信,华为,英特尔,风河等 | IaaS | 工业物联网和MEC | 行动计划 | ODL | 1.0 | OpenStack的 | |
飞艇 | OpenStack基金会 | AT&T,Intel,Mirantis,SK Telecom等 | 部署方式 | Kubernetes上的Openstack | ONAP /增粘剂 | 印花布 | 0.1 | OpenStack / K8S | |
编码 | Linux基金会 | AT&T,中国联通,NTT,SK Telecom,Verizon等 | IaaS | 住宅,企业和移动MEC | XOS | ONOS | 6.0 | OpenStack / K8S | |
压控振荡器 | Linux基金会 | 中国移动,红帽等 | IaaS | 住宅,企业和移动MEC | ONAP /增粘剂 | ODL | 2.0 / 3.0 | OpenStack的 | 尚无代码回购。只是POC |
表3.迄今为止有关项目的更多信息
EdgeX铸造厂*是Linux Foundation边缘保护下的另一个强大项目,并且绝对是工业IoT(IIoT)领域的先锋项目。它还于2017年在Linux Foundation中成立,具有由微服务组成的松耦合架构。EdgeX Foundry同时支持设备管理和各种通信协议,使其成为与各种设备进行通信的理想项目。实际上,由于EdgeX Foundry的占地面积小,它通常位于网关和路由器等终端设备内部。由于结构是松散耦合的,因此用户也可以方便地在设备内部开发和放置自己的计算,网络和存储逻辑。由于EdgeX Foundry支持的各种访问介质及其所驻留的设备,可以将其分类为典型的FC实现。
在边缘计算获得业界认可的这段时间内,孵化了更多项目。中国大型科技公司华为*和百度*提出的两个开源项目也渴望提供基于Kubernetes的边缘计算。OpenEdge的*由百度于2018年末创立,旨在将云计算,数据和服务无缝扩展到边缘设备。通过将服务作为容器运行,用于通信的MQTT协议以及集成在项目中的功能即服务,OpenEdge为边缘计算和联网提供了引人注目的性能数据。最近,OpenEdge还宣布了其愿景,即增加对Kubernetes的支持并在内部构建自己的边缘操作系统。考虑到其所有功能,可以将OpenEdge归类为Edge的一种FC实现。
KubeEdge *,华为提出的项目,加入了CNCF *基金会在2019年3月出任第一Kubernetes本地边缘计算平台。它用于将本机容器化应用程序编排功能扩展到边缘主机。借助KubeEdge,用户可以在边缘站点中轻松使用基于Kubernetes的微型云,并且已经在内部应用了设备管理,云同步和服务维护套件。KubeEdge还具有占地面积小的特点,使其可在资源受限的环境(如网关)中使用。因此,可以肯定地将KubeEdge归类为典型的FC实现。
该领域内还有更多项目,试图涵盖更多用例和场景。下图提供了有关项目详细信息的更多信息,以供参考。
项目 | 基础 | 关键参与者 | 范围 | 层 | 细分/重点 | 最新版本 | 代码仓库 |
EdgeX铸造厂 | Linux基金会 | 戴尔,Vmware等 | Edge解决方案(SDK)的通用框架。 | PaaS | 工业物联网 | 3.0(预计2019年4月为4.0) | |
OpenEdge的 | 不适用 | 百度等 | 开放式边缘计算框架 | PaaS |
| 0.1.2 | |
KubeEdge | CNCF,Linux基础 | 华为等 | 在Edge上扩展本机容器化应用程序编排功能 | PaaS |
| 0.2 | |
Azure IoT边缘 | 不适用 | 微软 | 物联网(IoT)服务将任务卸载到边缘 | PaaS | 物联网 | 1.0.8开发 | |
ioFog | Eclipse基金会 | Edgeworx等 | 通过边缘微服务的边缘计算平台 | PaaS | 物联网 | 2.0 / 3.0 | |
日食库拉 | Eclipse基金会 | Comtrade,Eurotech,Rad Hat等 | 用于构建物联网网关的平台,支持远程管理和应用程序部署 | PaaS | 物联网 | 4.0 |
表4.与日期相关的项目的其他信息
结论
边缘计算仍处于发展阶段,它的普及和增长很可能在未来导致更多的实现,用例和边缘计算项目。本文建议您仔细研究要执行的用例,了解其功能,然后选择适当的实现来构建分布式边缘计算解决方案。我们希望本文中的项目分类将有助于您的决策过程,从而通过更好的实施使您的解决方案受益。并且,如果您有兴趣使这些项目更具功能性,请加入并通过功能建议,错误报告和其他社区贡献来帮助推进项目。
参考文献
S
英特尔公司NST / DSS / SSP的云软件工程师应若雨
Wang Shan,英特尔公司NST / DSS / SSP的软件工程经理;OpenStack基金会董事会个人董事