本
文
摘
要
5G和物联网让边缘计算备受瞩目,巨头们纷纷跑步入场,边缘计算项目百花齐放,参差不齐。边缘计算社区经过1个月收集,梳理了10个2019年表现优异的边缘计算开源项目、边缘计算框架及边缘计算平台,以下排名不分先后。
01 StarlingX
StarlingX,一个专注于对低延迟和高性能应用进行优化的开源边缘计算及物联网云平台,StarlingX 项目是基于WindRiver 的产品 Titanimu Cloud R5 版本基础上修改而来。2018 年 5 月, Intel 和风河宣布将其电信云 /边缘云的商业产品 TitaniumCloud中的部分组件开源, 命名为StarlingX, 并提交给 OpenStack Foundation 管理。
2018年10月,OpenStack社区发布了 StarlingX 首个版本,最初的 starlingX 主要是通过 6 大组件,来完成对 Openstack 的安装部署,监控管理等。2019年9 月正式发布其2.0版本。StarlingX项目旨在为边缘计算重新配置经过验证的云技术,在大规模分布式计算环境中提供成熟且稳健的云平台。StarlingX是适用于裸机、虚拟机和容器化部署环境的完整边缘云基础设施平台,适用于对高可用性(HA)、服务质量(QoS)、性能和低延迟等 有严格要求的应用场景。
StarlingX可兼容不同的开源组件,可为故障管理和服务管理提供独特项目组件,以确保用户应用程序的高可用性。StarlingX代码库蓄势待发,随时准备部署边缘计算可扩展解决方案。该项目由OpenStack基金会托管。
gx.io
02 KubeEdge
2019年3月19日,CNCF基金会及技术委员会全体一致同意来自华为的开源智能边缘项目KubeEdge加入CNCF社区,成为CNCF在智能边缘领域的首个正式项目。KubeEdge的名字来源于Kube + Edge,顾名思义就是依托Kubernetes的容器编排和调度能力,实现云边协同、计算下沉、海量设备接入等,将Kubernetes的优势和CloudNative云原生应用管理标准延伸到边缘,解决当前智能边缘领域用户所面临的挑战。
KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。KubeEdge架构上分为三个部分,分别是云、边、端三侧。云端负责云上应用和配置的校验、下发,边缘侧则负责运行边缘应用和管理接入设备,设备端运行各种边缘设备。KubeEdge完整的打通了边缘计算中云、边、设备协同的场景,整体架构如下图。
KubeEdge使用Apache 2.0许可,并且绝对可以免费用于个人或商业用途。KubeEdge横跨云原生和智能边缘两大版图,充满无限可能。
官网:https://kubeedge.io
GitHub:https://github.com/kubeedge/kubeedge
03 EdgeXFoundry
EdgeXFoundry是Linux基金会托管的一个开源项目,该项目是一个面向工业物联网边缘计算开发的标准化互操作性框架,部署于路由器和交换机等边缘设备上,为各种传感器、设备或其他物联网器件提供即插即用功能并管理它们,进而收集和分析它们的数据,或者导出至边缘计算应用或云计算中心做进一步处理。EdgeXFoundry针对的问题是物联网器件的互操作性问题。目前,具有大量设备的物联网产生大量数据,迫切需要结合边缘计算的应用,但物联网的软硬件和接入方式的多样性给数据 接入功能带来困难,影响了边缘计算应用的部署。
EdgeXFoundry的主旨是简化和标准化工业物联网边缘计算的架构,创建一个围绕互操作性组件的生态系统。
官网
GitHub:https://github.com/edgexfoundry
04 Akraino Edge Stack
Akraino Edge Stack 是Linux基金会的项目,是一个面向高性能边缘云服务的开源项目,并为边缘基础设施提供整体的解决方案。Akraino Edge Stack 致力于发展一套开源软件栈,用于优化边缘基础设施的网络构建和管理方式,以满足边缘计算云服务的要求,比如高性能、低延迟和可扩展性等。Akraino Edge Stack 项目涉及的范围从基础设施延伸至边缘计算应用,其范围可以划分为 3个层面。
在最上面的应用层面,AkrainoEdge Stack致力于打造边缘计算应用程序的生态系统以促进应用程序的开发。中间层面着眼于开发中间件和框架以支持上面层次的边缘计算应 用。在这个层面中,AkrainoEdgeStack 将开发API 和框架以接入现有互补性的开源边缘计算项目,例如上述的面向物联网的互操作性框架EdgeX Foundry,最大化利用开源社区的现有成果。在最下面的基础设施层面中,AkrainoEdgeStack 将提供一套开源软件栈用于优化基础设施。此外,Akraino Edge Stack 为每种使用案例提供蓝图以构建一个边缘计算平台。每个蓝图是涵盖上述3个层次的声明性配置,其中包括对硬件、各层面的支撑软件、管理工具和交付点等的声明。
Akraino EdgeStack 基于使用案例提供边缘云服务,可部署于电信运营商的塔楼、中央端局或线缆中心等。其应用领域包括边缘视频处理、智能城市、智能交通等。Akraino Edge Stack目前是一个初创项目,于2018年8月进入执行阶段,19年6月发布首个版本。Akraino R1向新的灵活性提供了第一次迭代,以快速扩展边缘云服务,最大限度地提高效率,并为部署的服务提供高可用性。它为工业物联网、电信5G核心和vRAN、uCPE、SDWAN、边缘媒体处理和运营商边缘媒体处理等边缘使用案例提供了一个可部署且功能齐全的边缘堆栈。作为首个版本,它为进一步的增强和开发打开了大门,以支持边缘基础设施。
了解更多:
05 Baetyl
OpenEdge是百度开源的开放边缘计算平台,后面改名为Baetyl。2019年9月23日,百度智能云宣布将百度智能边缘计算框架Baetyl捐赠给 Linux Foundation Edge社区。Baetyl旨在将云计算能力拓展至用户现场,提供临时离线、低延时的计算服务,包括设备接入、消息路由、消息远程同步、函数计算、设备信息上报、配置下发等功能。Baetyl和智能边缘BIE(Baidu-IntelliEdge)云端管理套件配合使用,通过在云端进行智能边缘核心设备的建立、存储卷创建、服务创建、函数编写,然后生成配置文件下发至 Baetyl 本地运行包,整体可达到边缘计算、云端管理、边云协同的效果,满足各种边缘计算场景。
在架构设计上,Baetyl 一方面推行模块化,拆分各项主要功能,确保每一项功能都是一个独立的模块,整体由主程序控制启动、退出,确保各项子功能模块运行互不依赖、互不影响;总体上来说,推行模块化的设计模式,可以充分满足用户按需使用、按需部署的切实要求;另一方面,Baetyl 在设计上还采用全面容器化的设计思路,基于各模块的镜像可以在支持Docker 的各类操作系统上进行一键式构建,依托 Docker 跨平台支持的特性,确保 Baetyl 在各系统、平台的环境一致;此外,Baetyl还针对Docker容器化模式赋予其资源隔离与限制能力,精确分配各运行实例的 CPU、内存等资源,提升资源利用效率。
官网:http
Github:https://github.com/baetyl/baetyl ;
06 CORD
ONF(Open Networking Foundation,开放网络基金会)成立于2011年,是一个全球运营商主导的开放网络技术联盟,也是软件定义网络SDN的标准制定者和产业推动者,目前被公认为是运营商网络开源解决方案的领导者。CORD (Central Office Re-architected as a Data Center)是ONF推进的重点项目,旨在基于通用硬件、开源软件和SDN/NFV技术实现电话端局重构为数据中心,从而借助云计算的敏捷性和通用硬件的规模性构建更加灵活和经济的未来网络基础设施,并通过业务协同和编排层实现应用的快速响应和灵活部署。
现有网络边缘基础设施构建于由电信设备供应商提供的封闭式专有的软硬件系统,不具备可扩展性,无法动态调整基础设备的规模,导致资源的低效利用。CORD计划利用商用硬件和开源软件打造可扩展的边缘网络基础设施,并实现灵活的服务提供平台,支持用户的自定义应用。CORD利用商用服务器和白盒交换机提供计算、存储和网络资源,并将网络构建为叶脊拓扑架构以支持横向网络的通信带宽需求。此外,CORD 使用专用接入硬件将移动、企业和住宅用户接入网络中。
官网:https://opencord.org/
07 k3s
Kubernetes 一直是边缘计算场景中具有领先地位的解决方案,在各个垂直领域产生了许多用例,如制造业、交通、零售业以及银行。典型的边缘系统包括智能电表、飞机引擎、天然气和石油钻机、邮轮、高铁、风力发电机、智能汽车、ATM 等,它们均利用了Kubernetes 在系统上运行复杂的工作负载。
k3s is 5 less then k8s,直接翻译过来就是k3s比k8s少了5个字符,引申一下就是k3s就是k8s的简化版。可以看做k8s的一个衍生版,特点就是轻量。k3s是经过CNCF一致性认证的轻量级Kubernetes发行版,适用于IoT和边缘计算场景,k3s 的小型二进制文件、原生ARM 支持以及生产级、高可用的架构,加之k3s 能在边缘场景中自动初始化并且维护集群,使其成为了边缘网络中理想的Kubernetes 发行版。
官网:https://k3s.io/
下面是世界三大云计算厂商的边缘计算产品。
08 AWS IoT Greengrass
亚马逊的边缘平台通过AWS IoT Greengrass提供,该服务于2016年提出,并于2017年6月全面上市。AWS IoT Greengrass 是将云功能扩展到本地设备的软件。这使得设备可以更靠近信息源来收集和分析数据,自主响应本地事件,同时在本地网络上彼此安全地通信。本地设备还可以与 AWS IoT 安全通信并将 IoT 数据导出到 AWS 云。AWS IoT Greengrass 开发人员可以使用 AWS Lambda 函数和预构建的连接器来创建无服务器应用程序,这些应用程序将部署到设备上以进行本地执行。下图演示了 AWS IoT Greengrass 的基本架构。
2019年5月,AWS的边缘计算平台AWS IoT Greengrass,以机器学习推理支持的形式进行了改版。AWS IoT Greengrass 可将 AWS 无缝扩展至边缘设备,因此可以在本地操作其生成的数据,同时仍可将云用于管理、分析和持久存储。借助 AWS IoT Greengrass,互联设备可以运行 AWS Lambda 函数、Docker 容器,或同时运行两者,基于机器学习模型执行预测、使设备数据保持同步以及与其他设备安全通信 – 甚至在没有连接 Internet 的情况下也可实现这些功能。
利用 AWS IoT Greengrass,您可以使用熟悉的语言和编程模型在云中创建和测试设备软件,然后将其部署到设备中。您可对 AWS IoT Greengrass 进行编程、管理设备上的数据的生命周期,使之可筛选设备数据,并仅将必要信息传输回 AWS 中。您还可以使用 AWS IoT Greengrass 连接器连接到第三方应用程序、本地软件和即时可用的 AWS 服务。连接器还可以用预先构建的协议适配器集成快速启动设备,并允许您通过与AWS Secrets Manager 的集成简化身份验证。
了解更多:
https://docs.aws.amazon.com/zh_cn/greengrass/latest/developerguide/what-is-gg.html
09 Azure IoT Edge
Azure IoT Edge 是基于物联网 (IoT) 中心构建的 IoT 服务。 此服务供想要在设备上 (也称为“在边缘上”)而不是在云中分析数据的客户使用。 通过将部分工作负荷移至边缘,设备将消息发送到云所花费的时间可以更少,并且设备可以对状态更改更快地做出响应。
Azure IoT Edge 主要将基于云的分析和定制的业务逻辑转移到边缘设备,使企业能够专注于洞察商业机会而非数据管理。微软表示,这些设备现在将能够立即采取实时数据行动。借助开源的 Azure IoT Edge,开发人员可以更灵活地控制自己的边缘解决方案,以及运行时或调试问题。
为了解决 Azure IoT Edge 大规模部署的安全问题,Azure IoT Edge 深入集成了设备调配服务,以安全地配置数以万计的设备和 Azure IoT Edge 安全管理员,这些管理员可以用来保护边缘设备及其组件。自动设备管理(ADM)可以基于设备元数据将大型物联网边缘模块部署到设备。
Azure IoT Edge 支持 C#,C,Node.js,Python 和 Java 等编程语言。它还提供 VSCode 模块开发,测试和部署工具,以及带 VSTS 的 CI/CD 管道。部署Azure IoT Edge 有三个必要组件,即 Azure IoT Edge Runtime,Azure IoT Hub 和 Edge 模块。Azure IoT Edge Runtime 是免费且开源的,但客户必须使用付费的Azure IoT Hub 实例进行扩展。边缘设备的管理和部署也将基于 Azure 服务或客户使用的 Edge 模块。
Github:https://github.com/Azure/iotedge
10 Link IoT Edge
2018年3月28日,阿里云宣布战略投入边缘计算技术领域,并推出首个IoT边缘计算产品Link Edge,将阿里云在云计算、大数据、人工智能的优势拓宽到更靠近端的边缘计算上,打造云、边、端一体化的协同计算体系。
Link Edge将阿里云的计算能力扩展至边缘,在离设备最近的位置执行计算,提供安全可靠、低延时、低成本、易扩展的本地计算服务,能够大大提升处理效率,减轻云端的负荷,提供更快的响应,将需求在边缘端解决,是IoT服务不可缺少的环节。
Link Edge专为物联网开发者推出,产品继承了阿里云安全、存储、计算、人工智能的能力,可部署于不同量级的智能设备和计算节点中,提供稳定、安全、多样的边缘到IoT设备的通信连接,同时可以结合阿里云的大数据、AI学习、语音、视频等能力,打造出云边端三位一体的计算体系。此外,Link Edge还支持设备接入、函数计算、规则引擎、路由转发、断网续传等功能。
在实际场景中,Link Edge的应用领域越来越广泛,例如在未来酒店,边缘网关通过Link Edge快速集成了本地设备,并作为本地节点快速响应本地事件,实现入楼闸机、房间门、空调、照明、水电等设备的M2M智能联动,客人入住后由天猫精灵作为私人管家,接收住户指令、管理多端设备,实现室内室外一体化的语音智能。