根据IDC最新的「全球边缘计算支出报告」指出,到2022 年,全球在边缘计算上的支出预计将达到1760 亿美元,比2021 年增长14.8%。企业和服务提供商在边缘解决方案的硬体、软体和服务上的支出预计将在2025 年达到近2740 亿美元。
本文盘点了2022年值得关注的十大边缘计算开源项目(排名不分先后)。
Akraino
Akraino 于 2018 年推出,现在是 LF Edge 的一部分。Akraino 是一组面向边缘的开放基础架构和应用程序蓝图,涵盖了供应商和企业边缘域的5G,AI,Edge IaaS / PaaS,IoT。Akraino目标是创建支持针对边缘计算系统和应用程序优化的高可用性云堆栈。它旨在改善企业边缘、OTT 边缘和运营商边缘网络的边缘云基础设施状态,为用户提供新的灵活性,以快速扩展边缘云服务,最大化边缘支持的应用程序和功能,并帮助确保必须始终运行的系统的可靠性。
Akraino与 Airship、OpenStack、ONAP、ETSI MEC、GSMA、TIP、CNCF 和 ORAN 等多个上游开源社区/SDO 合作。Akraino 提供了一个完全集成的解决方案,支持集成堆栈的零接触配置和零接触生命周期管理。
2021年2月,Akraino Release 4 (R4) 发布7个新蓝图。借助 R4,Akraino 蓝图支持更多的用例、部署和 PoC,支持更高级别的灵活性,快速扩展公有云边缘、云原生边缘、5G、工业物联网、电信和企业边缘云服务并测试边缘云蓝图以部署边缘服务。
2021年10月,Akraino发布Release 5 (R5), 提供了一个功能齐全的开源边缘堆栈,可在全球范围内实现多种边缘平台。Akraino 的第五个版本带来了三个新蓝图(总共 30 多个蓝图),并为跨边缘的各种 Kubernetes 部署提供了额外支持,包括智能城市、云原生汽车和多租户。
新的用例和蓝图为工业边缘、公有云边缘接口、联合 ML、KubeEdge、私有 LTE/5G、SmartDevice Edge、互联汽车、AR/VR、边缘人工智能、Android 云原生、SmartNIC、Telco Core 和 Open-RAN、NFV、IOT、SD-WAN、SDN、MEC 等提供了边缘堆栈。
官网:https://www.lfedge.org/projects/akraino/
Github:https://github.com/akraino-edge-stack
StarlingX
StarlingX 是一个完整的云基础设施软件堆栈,适用于工业物联网、电信、视频交付和其他超低延迟用例中要求最苛刻的应用程序所使用的边缘。凭借边缘应用程序所需的确定性低延迟以及使分布式边缘易于管理的工具,StarlingX 为现在可用于生产的可扩展解决方案中的边缘实施提供了基于容器的基础架构。
StarlingX 不是为边缘用例提供参考平台和差距定义,而是提供一个可部署、可扩展且高度可靠的边缘基础设施软件平台,以构建关键任务边缘云。StarlingX 经过测试并作为一个完整的堆栈发布,可确保各种开源组件之间的兼容性。其独特的项目组件提供故障管理和服务管理等功能,以确保用户应用程序的高可用性。StarlingX 社区针对安全性、超低延迟、极高的服务正常运行时间和简化的操作优化了解决方案。
2021年5月,StarlingX 社区宣布发布R5.0版本,包括引入了一个名为“edgeworker”节点的新功能,有利于工业物联网和工厂车间自动化程度的提高;增加了对 Nvidia GPU 的支持;加强编排 FPGA 映像更新的能力;将 Vault 集成到机密管理平台中,以提供安全存储和访问机密的能力。StarlingX 即将发布发布R6.0版本。
官网:https://www.starlingx.io/
GitHub:https://github.com/starlingx
Baetyl
Baetyl 前身为“OpenEdge”,由百度发起,是中国首个开源边缘计算平台。Baetyl 作为第一阶段项目加入 LF Edge。2019 年 9 月,百度宣布将 Baetyl 捐赠给 Linux Foundation Edge 旗下社区。Baetyl旨在打造一个 轻量、安全、可靠、可扩展性强的边缘计算社区,为中国边缘计算技术的发展和不断推进营造一个良好的生态环境。
Baetyl 将云计算能力拓展至用户现场。提供临时离线、低延时的计算服务,包括设备接入、消息路由、数据遥传、函数计算、视频采集、AI推断、状态上报、配置下发等功能。
Baetyl提供了一个通用的边缘计算平台,将不同类型的硬件设施和设备功能操作到一个标准化的容器运行时环境和API中,从而通过云和本地的远程控制台对应用程序、服务和数据流进行有效管理。Baetyl 还为边缘操作系统配备了相应的工具链支持,通过一套内置服务和 API 降低开发边缘计算的难度,并在未来提供图形 IDE。
Baetyl v2 提供了一个全新的边云融合平台,采用云端管理、边缘运行的方案,分成边缘计算框架和云端管理套件两部分,支持多种部署方式。可在云端管理所有资源,比如节点、应用、配置等,自动部署应用到边缘节点,满足各种边缘计算场景,特别适合新兴的强边缘设备,比如 AI 一体机、5G 路侧盒子等。
v2 和 v1 版本的主要区别
边缘和云端框架全部向云原生演化,已支持运行在 K8S 或 K3S 之上。
引入声明式的设计,通过影子(Report/Desire)实现端云同步(OTA)。
边缘框架暂不支持进程(native)运行模式,由于运行在 K3S 上,所以整体的资源开销会有增加。
边缘框架将来会支持边缘节点集群。
2021年6月,Baetyl 发布 2.2 版本,添加 EdgeX 支持、新 API、调试等功能。Baetyl 的新功能仍然基于云原生功能,继续构建开放、安全、可扩展、可控的智能边缘计算平台。
2.2 版本中的特定新功能
支持使用 EdgeX Foundry
支持边缘集群环境所需的新 API 定义
支持 DaemonSet 负载类型应用程序
用于远程调试和远程查看已部署应用程序的新 API 定义
用于 GPU 监控和共享功能的新 API 定义
官网:https://baetyl.io/
GitHub:https://github.com/baetyl/baetyl
EdgeX Foundry
EdgeX Foundry是LF Edge旗下的开源、供应商中立的Edge IoT中间件平台。它从边缘的传感器(即“事物”)收集数据,并充当双重转换引擎,向企业、云和本地应用程序发送和接收数据。EdgeX Foundry用于统一工业物联网边缘计算解决方案的生态系统。
EdgeX Foundry 的重点是通过利用云原生原则(例如松耦合的微服务、平台独立性) ,以及通过支持一个能够满足物联网边缘特定需求的架构,包括不同的连接协议、广泛分布的计算节点的安全和系统管理来充分实现边缘计算的优势。
EdgeX解决了分布式物联网边缘架构中“南北交汇”的边缘节点和数据规范化的关键互操作性挑战。
2021年6月,EdgeX Foundry发布了第二个主要版本,代号为Ireland ,Ireland专注于边缘/物联网解决方案,对 API 集进行大修,消除技术问题,提供更多基于消息的通信,并为采用者和开发人员简化和保护接口,使平台更易于使用和更可靠。
2021年12月,EdgeX Foundry 宣布发布EdgeX 2.1版本,代号为Jakarta,这是该项目的第 9个版本。Jakarta的重要意义在于它是 EdgeX 提供长期支持 (LTS) 的第一个版本:
EdgeX长期支持 (LTS)
EdgeX v2 API(适用于所有服务)
通过消息总线的设备服务到应用服务
提高安全性
新设备服务
简化的设备配置文件
应用服务改进
使用 Angular JS 构建的新的和改进的 GUI
下一个 EdgeX 版本定于 2022 年春季发布,代号为“Kamakura”。Kamakura 很可能是另一个 dot 版本,它将再次向后兼容所有 EdgeX 2.x 版本(Ireland and Jakarta)。(EdgeX的发布节奏是每年发布两次)
官网:https://www.edgexfoundry.org/
GitHub:https://github.com/edgexfoundry
EdgeGallery
EdgeGallery是由华为、信通院、中国移动、中国联通、腾讯、九州云、紫金山实验室、安恒信息等八家创始成员发起的一个MEC边缘计算开源项目。目的是打造一个符合5G 边缘“联接+计算”特点的边缘计算公共平台,实现网络能力(尤其是5G网络)开放的标准化和MEC应用开发、测试、迁移和运行等生命周期流程的通用化。
EdgeGallery要解决的是5G MEC边缘计算平台的标准不统一带来的生态碎片化,产业规模做不大的问题。EdgeGallery社区聚焦5G边缘计算MEC场景,通过开源协作构建起MEC边缘的资源、应用、安全、管理的基础框架和网络开放服务的事实标准,并实现同公有云的互联互通。在兼容边缘基础设施异构差异化的基础上,构建起统一的MEC应用生态系统。
2021年12月31日,EdgeGallery社区正式发布第七个版本Gold Release,此版本是EdgeGallery的1.5.0正式版本。本次版本发布后,EdgeGallery共有32个代码仓已经发布。
V1.5.0版本在EdgeNative架构、集成开发平台优化、边缘自治等功能上有明显增强,并尝试对APP变现和商业化流程进行探索。
亮点功能
MECM资源管理功能增强:
支持边缘节点的资源管理,包括边缘节点的资源信息,租户信息等
支持APP的资源管理,包括APP使用的虚拟机列表,对应虚拟机的状态与度量指标
支持边缘资源的申请,包括虚拟机拉起,flavor设置,镜像(应用)选择等
支持边缘虚拟机资源的维护,包括重启,关闭,开机,远程VNC等
EdgeGallery虚拟机场景增强:
支持灵活定义MEC节点内的网络
支持灵活定义应用挂接的网络
支持配置应用的网络接口参数
支持在部署应用时灵活配置flavor
支持边缘节点内的租户隔离,EdgeGallery用户与Openstack租户绑定
官网:https://www.edgegallery.org/
GitHub:https://github.com/EdgeGallery
K3s
K3s是由SUSE(原 Rancher Labs)完全通过CNCF(云原生计算基金会)认证的兼容 Kubernetes 发行版,所谓发行版,内核机制还是和 K8s 一样,但是剔除了很多外部依赖以及 K8s 的 alpha、beta 特性,同时改变了部署方式和运行方式,目的是轻量化 K8s,并将其应用于 IoT 设备(比如树莓派)。简单来说,K3s 就是轻量级 K8s,消耗资源极少。为了实现这一点,K3s被设计成一个大约 45MB 的二进制文件,完全实现了 Kubernetes API。
K3s 没有全称,也没有官方的发音。Kubernetes 是一个 10 个字母的单词,简写为 K8s。由于设想的是在内存占用方面只是一半的大小,Kubernetes 一半大的就是一个 5 个字母的单词,简写为 K3s。K3s 适用于边缘计算、物联网、CI、Development、ARM和嵌入 K8s场景。
完美适配边缘环境:k3s是一个高可用的、经过CNCF认证的Kubernetes发行版,专为无人值守、资源受限、偏远地区或物联网设备内部的生产工作负载而设计。
简单且安全:k3s被打包成单个小于60MB的二进制文件,从而减少了运行安装、运行和自动更新生产Kubernetes集群所需的依赖性和步骤。
针对ARM进行优化:ARM64和ARMv7都支持二进制文件和多源镜像。k3s在小到树莓派或大到 AWS a1.4xlarge 32GiB服务器的环境中均能出色工作。
官网:https://k3s.io/GitHub:https://
github.com/k3s-io/k3s
KubeEdge
KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。KubeEdge是业界第一个边缘容器平台项目。2019 年 3 月 18 日KubeEdge被 CNCF 收录,目前处于孵化级别。
KubeEdge的目标是创建一个开放平台,使能边缘计算,将容器化应用编排功能扩展到边缘的节点和设备。
KubeEdge 的优势主要包括:
边缘计算:通过在边缘运行业务逻辑,可以在生成数据的地方保护和处理大量数据。这降低了边缘和云之间的网络带宽要求和消耗。这提高了响应能力,降低了成本,并保护了客户的数据隐私。
简化开发:开发人员可以编写常规的基于 HTTP 或 MQTT 的应用程序,将它们容器化,然后在任何地方运行它们——无论是在边缘还是在云端——以更合适的方式运行。
Kubernetes 原生支持:使用 KubeEdge,用户可以在边缘节点上编排应用程序、管理设备以及监控应用程序和设备状态,就像云中的传统 Kubernetes 集群一样。
丰富的应用:很容易将现有的复杂机器学习、图像识别、事件处理和其他高级应用程序获取和部署到边缘。
KubeEdge 的组件在两个单独的位置运行——云上和边缘节点上。在云上运行的组件统称为 CloudCore,包括 Controller 和 Cloud Hub。Cloud Hub 作为接收边缘节点发送请求的网关,Controller 则作为编排器。在边缘节点上运行的组件统称为 EdgeCore,包括 EdgeHub,EdgeMesh,MetadataManager 和 DeviceTwin。
2021年10月,KubeEdge社区自发布了KubeEdge 1.8版本。本次版本包括大规模集群CloudCore的Active-Active HA支持、EdgeMesh架构修改、EdgeMesh跨局域网通信和Kubernetes依赖升级:
CloudCore对大规模集群的主动HA支持[Beta]
EdgeMesh架构修改
EdgeMesh跨局域网通信
Onvif设备映射器
Kubernetes依赖关系升级
30多个bug修复和增强功能
官网:https://kubeedge.io
GitHub:https://github.com/kubeedge/kubeedge
OpenYurt
OpenYurt是基于原生Kubernetes构建的,目标是对其进行扩展以无缝支持边缘计算。简而言之,OpenYurt使用户能够管理在边缘基础架构中运行的应用程序,就像它们在云基础架构中运行一样。OpenYurt是阿里云2020年5月份发布首个边缘计算云原生开源项目,是业界第一个以无侵入的方式将Kubernetes扩展到边缘计算领域的项目。2020年9月份正式成为CNCF 沙箱项目。
OpenYurt是为满足典型边缘基础设施的各种DevOps需求而设计的。通过OpenYurt来管理边缘应用程序,用户可以获得与中心式云计算应用管理一致的用户体验。它解决了Kubernetes在云边一体化场景下的诸多挑战,如不可靠或断开的云边缘网络、边缘节点自治、边缘设备管理、跨地域业务部署等。OpenYurt保持了完整的Kubernetes API兼容性,无厂商绑定,使用简单。
OpenYurt 现已广泛应用于物联网、边缘云、分布式云等典型边缘计算场景,并覆盖物流、能源、交通、制造、零售、医疗、CDN等诸多行业。
2021年9 月,OpenYurt 发布 v0.5.0 版本。新发布版本中首次提出 kubernetes-native非侵入、可扩展的边缘设备管理标准,使 Kubernetes 业务负载模型和 IOT 设备管理模型无缝融合。同时联合 VMware 推动 EdgeX Foundry 作为云原生设备管理模型的首个实现并成功落地,大大降低 EdgeX Foundry 在 Kubernetes 上的部署管理的复杂度同时也提升了边缘设备的管理效率。
同年还发布了v0.6.0版本,新版本功能包括:
推出OpenYurt体验中心,支持终端用户轻松学习OpenYurt。
支持 NodePool 级别的 Ingress 控制器。
本地存储支持多设备路径
添加 YurtAppDaemon 用于在 NodePool 级别管理 DaemonSet 等工作负载。
添加YurtCluster Operator(kubernetes和openyurt转换的声明方式)
官网:https://openyurt.io/
GitHub:https://github.com/openyurtio/openyurt
SuperEdge
2020年11月,腾讯云联合英特尔、VMware、虎牙、寒武纪、美团、首都在线,共同发布 SuperEdge 边缘容器开源项目。
SuperEdge 是基于Kubernetes-native的边缘容器管理系统。该系统把云原生能力扩展到边缘侧,很好的实现了云端对边缘端的管理和控制,极大简化了应用从云端部署到边缘端的过程。SuperEdge 为应用实现边缘原生化提供了强有力的支持。
相比OpenYurt以及KubeEdge,SuperEdge 除了具备Kubernetes零侵入以及边缘自治特性,还支持独有的分布式健康检查以及边缘服务访问控制等高级特性,极大地消减了云边网络不稳定对服务的影响,同时也很大程度上方便了边缘集群服务的发布与治理。
目前,SuperEdge已经广泛应用,覆盖物联网、工业互联网、交通、能源、零售、智慧城市、智慧建筑、云游戏和互动直播等。
2021年9月,SuperEdge正式成为CNCF沙箱项目。9月26日,SuperEdge v0.6.0 版本正式发布。本次更新主要聚焦于生产集成,让 SuperEdge 真正在用户生产环境落地,添加了本地持久化存储的支持,边缘 IoT 设备的接入,ServiceGroup 的部署状态和事件的反馈,以及对微服务使用框架 Tars、边缘应用监控数据的采集、Tengine AI 框架在 SuperEdge 使用的 Demo,具体内容如下:
集成 TopoLVM,支持边缘本地持久化存储
动态配置 PV:创建 PVC 对象时自动创建边缘节点 PV 资源;
动态扩容存储容量:可编辑 PVC 对象自动扩容 PV 的容量;
容量指标采集:可从 kubelet 中采集容量指标,进行存储容量和读写监控;
扩展调度器存储策略:TopoLVM 扩展了 Kube-scheduler,使用 CSI 拓扑功能将 Pod 调度到 LVM 卷所在节点,并且可设置存储容量调度策略;
统一管理本地存储资源:可把多个物理卷组加入 VolumeGroup 中,屏蔽了底层物理卷细节,对 Pod 统一进行存储资源分配;
官网:https://superedge.io/
GitHub:https://github.com/superedge/superedge
Fledge
Fledge 是一个面向工业边缘的开源框架和社区,专注于关键操作、预测性维护、态势感知和安全。Fledge 的架构旨在将工业物联网 (IIoT)、传感器和现代机器与云和现有的“棕地”系统集成,如DCS(分布式控制系统)、PLC(程序逻辑控制器)和 SCADA(监督控制和数据)。所有这些都共享一组通用的管理和应用程序 API。
Fledge 开发人员和运营商在构建 IIoT 应用程序时无需再面临复杂性和碎片化问题,通过收集和处理更多传感器数据以实现业务自动化和转型。Fledge 的现代可插拔架构消除了数据孤岛。通过使用一组一致的 RESTful API 来开发、管理和保护 IIoT 应用程序,Fledge 创建了一个统一的解决方案。
Fledge与Project EVE密切合作,Project EVE为 Fledge 应用程序和服务提供系统和编排服务以及容器runtime。Fledge 还与Akraino集成,这两个项目都支持推出 5G 和专用 LTE 网络。2021年9月29日,Fledge发布了v1.9.2版本。
官网:https://www.lfedge.org/projects/fledge/