边缘计算技术与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 开源软件项目

有了需求、场景和规范,基于边缘计算技术的大量软件项目便应运而生,其中,有些项目可用于构建边缘基础架构,有些项目可用作边缘平台,而其他项目则可能是源自边缘计算的项目衍生出来的。这里只有选择性地对一些项目进行简单介绍。

1.CORD与vCO

我们先来看重新组织局端为数据中心(Central Office Re-Architected as a Data Center,CORD)和虚拟局端(vCO)项目。CORD项目是由AT&T提出的一个ONOS用户场景。我们知道,局端(Central Office,CO)提供关键的接入汇聚网络服务,如有线、光纤、DSL和无线。AT&T在2013年11月发布了一个Domain2.0白皮书,目的是使AT&T网络业务和基础设施能够像数据中心和云服务一样具备敏捷性、可伸缩性和经济性,可以被方便地编排、调度、管理和使用。这就是为什么CORD被称作重新组织局端为数据中心,实际上就是将电信局端云化。

2015年1月,AT&T与开放网络实验室(ON.Lab)对CORD的概念证明(PoC)进行了定义,并在同年6月的ONS大会上进行了演示。2016年7月,CORD被放到Linux基金会下成为独立的开源项目。

原本,CORD的目标并不是针对边缘计算的,它基于SDN、NFV和云计算技术,逐渐融合成一套全新的端到端的解决方案。CORD建立在OpenStack或Docker之上,使用ONOS作为SDN控制器,并使用XOS作为编排工具。通过分布式、开源软件和白盒交换机可以实现创新,降低企业成本,使企业具备快速创新的能力。

后来由于边缘计算的兴起,从2017年开始,CORD逐渐涵盖了边缘计算MEC领域的内容,慢慢成为边缘计算的平台,旨在采用开源技术提供边缘云实现方案。CORD场景适用于电信局端、接入端、家庭,乃至整个企业环境,也可以在塔、汽车、无人机或任何其他地方运行。目前,CORD用户包括AT&T、SK Telecom、中国联通及NTT。

2017年6月,OPNFV北京峰会上又亮相了一个名为vCO的项目,它是由OPNFV开源工作组基于开源SDN控制器(ODL和OpenStack)开发的。该工作组的成员包括Cisco、Cumulus、Ericsson、F5、Intel、联想、Mellanox、Netscout、Nokia和Red Hat等公司。vCO可以使用ODL和OpenStack启动具有虚拟网络功能的VNF,如vCPE和vRAN,还能使用ONAP作为端到端平台管理VNF。不仅如此,越来越多的新服务正在转向局端,使其成为电信运营商NFV战略的关键组成部分,其中包括多接入边缘计算MEC。

CORD和vCO是“姊妹”项目,它们有很多相似之处,当然也有不同之处。它们都试图将现有的中心办公室作为用于计算、网络和存储的边缘云进行管理,并且每个项目都具有企业、住宅和移动领域的子项目,以满足市场中的所有需求。vCO与CORD一样,均认为局端是托管边缘计算的最佳位置,MEC中涉及的需要在用户侧服务的网络功能都可以通过它们进行编排和管理。

但是,与vCO相比,AT&T提出的CORD形成了一个框架,该框架使用开放网络操作系统(ONOS)作为软件定义的网络(SDN)控制器,而将XOS作为协调器,来组合服务。它也是一种端到端的服务,可以应用不同的策略并通过设计进行扩展。而vCO是一个PoC项目,由OPNFV项目下的工作组领导,使用OpenDaylight(ODL)作为网络控制器,并使用ONAP作为编排器。另外,vCO除了支持OpenFlow白盒交换机,还支持边界网关协议(BGP)。

vCO当前已交付了3个项目,涉及企业、住宅和移动用例。这3个项目均基于无线电网络,以改善其在边缘计算中的功能。因此,无论是CORD还是vCO,都是针对边缘计算的MEC实现。

2.Akraino和StarlingX

Akraino和StarlingX目前在边缘计算领域的影响力十分巨大,本书后面的章节会进行详细的描述,这里只进行简单的介绍。

Akraino项目是Linux基金会边缘保护伞下的著名开源边缘项目。2018年2月,Linux基金会和AT&T宣布推出一个新的开源项目,即Akraino Edge Stack,旨在创建一个开源软件栈,支持针对边缘计算系统和应用进行优化的高可用性云服务。

Akraino项目有助于为电信运营商、提供商和物联网提供易用性高、可靠性强和性能高的服务。随后,Intel、中国移动、中国电信、中国联通、华为、中兴、腾讯和Wind River等公司先后加入该社区,并讨论、商议、设计未来的Akraino架构。

Akraino的目标是充分利用Akraino社区构建起来的、针对各种用例优化过的端到端边缘开源软件栈。Akraino将这些端到端软件栈称为蓝图(Blueprint),它涵盖边缘实施所需的每一层,从云基础架构下层到上层的业务流程层。2019年6月,Akraino发布了其首个首要发行版,其中包含可部署的、经过自我认证的蓝图,适用于各种边缘用例,如无线电边缘云、集成边缘云、远端边缘分布式云等。总而言之,Akraino是很多蓝图的保护伞,用户可以根据需要选择这些可部署的蓝图。

另外,2018年5月,Intel和Wind River决定开源大部分其电信行业云平台拳头产品Wind River Titanium Cloud的代码,并命名为StarlingX,为在虚拟机和容器中运行的电信运营商级应用程序提供边缘计算服务,支持高可靠性和高性能的要求。在该项目开源之后,StarlingX被推到了OpenStack基金会下进行试点和孵化,为边缘和IoT用例提供集成和优化的平台。

StarlingX是一个可部署的、高度可靠的边缘基础架构软件平台,它基于更多的开源组件,如OpenStack、Kubernetes、Ceph等,还提供增强的功能,如主机管理、故障管理、软件管理等。该平台中还实现了多种加速技术,包括OVS-DPDK和SR-IOV。这些功能使StarlingX可以改善低触摸可管理性及平台的可靠性,因此可以保证边缘用例的超低延迟、小占用空间和可扩展性。在探索其体系结构时,StarlingX会同时满足MEC和CC的特征,因为它具有资源供应功能,主要位于服务器等设备上,并且其初始用例在MEC的范围内。

3.Airship

Airship由AT&T、Intel、SK Telecom发起,现在是OpenStack基金会框架下的一个项目。该项目于2018年启动,组件松散耦合。

Airship最初作为一个方便的部署工具被使用,可用于从头开始引导整个云基础架构,如Kubernetes上的OpenStack。但是,这实际上只是其功能的一小部分,更重要的是,Airship可以处理任何包含Helm图表的平台,还可以通过配置yaml文件来处理基础结构的持续更新。Airship要么针对一个特定的用例,要么与任何边缘实现的特征保持一致。

4.EdgeX Foundry

在物联网领域,还有一个开源项目的影响力也十分大,它绝对是工业IoT领域的先锋项目,即2017年4月由Linux基金会发布的开源物联网边缘计算项目:EdgeX Foundry。该项目构建于Dell早期的基于Apache2.0协议的FUSE物联网中间件框架之上,其中包括十几个微服务和超过12.5万行的代码。在FUSE合并了项目AllJoyn-compliant IoTX之后,Linux基金会协同Dell创立了EdgeX Foundry。

在EdgeX Foundry架构中,南侧包括所有物联网物理设备,以及与这些设备、传感器、执行器或其他对象直接通信的网络边缘器件;北侧负责数据汇总、存储、聚合、分析和转换为决策信息的云平台,并负责与云平台通信。该项目的主要目的是创造一个具有互操作性和即插即用组件的物联网边缘计算的生态系统,协调各种传感器网络协议与多种云平台及分析平台,充分挖掘横跨边缘计算、安全、系统管理和服务等模块间的互操作性,打造并推广EdgeX这种面向物联网的通用开放标准。

EdgeX Foundry并不是一项新标准,而是统一标准和边缘应用的方式,是一个简单的互操作性框架。它独立于操作系统,支持任何硬件和应用程序,可以促进设备、应用程序和云平台之间的连接。它的主要任务是简化和标准化工业物联网边缘计算,同时保持其开放性。

实际上,由于EdgeX Foundry占用的内存小,因此它通常位于网关和路由器等终端设备内。由于该结构是松散耦合的,因此用户可以方便地在设备内部开发和放置自己的计算、网络和存储逻辑。基于EdgeX Foundry支持的各种访问介质及其所驻留的设备,可以将其归类为典型的FC实现。

目前,EdgeX Foundry和Akraino都是Linux基金会边缘保护伞下的项目,而StarlingX属于OpenStack基金会的试点孵化项目。

5.OpenEdge和KubeEdge

在边缘计算获得业界认可的这段时间内,更多项目得到了孵化。华为和百度也提出了两个开源项目来提供基于Kubernetes的边缘计算。

OpenEdge由百度于2018年年末创立,计划将云计算、数据和服务无缝扩展到边缘设备中。通过将服务作为容器运行,用于通信的MQTT协议及集成在项目中的功能即服务,OpenEdge为边缘计算和互联网提供了引人注目的性能数据。最近,OpenEdge还宣布了其愿景,即增加对Kubernetes的支持,并在内部构建自己的边缘操作系统。考虑到其所有功能,应该将OpenEdge归类为Edge的一种FC实现。

华为提出的KubeEdge项目于2019年3月加入Linux基金会里的CNCF子基金会,成为第一个Kubernetes本机边缘计算平台。它用于将本机容器化应用程序编排功能扩展到边缘主机。借助KubeEdge,用户可以在边缘站点中轻松使用基于Kubernetes的小型云,并在内部应用设备管理、云同步和服务维护套件。KubeEdge还具有占地面积小的特点,使其可在资源受限的环境(如网关)中使用。因此,可以肯定地将KubeEdge归类为典型的FC实现。

6.OpenNESS

OpenNESS是由Intel开源的另一个项目,它极大地促进了跨各种网络平台的边缘服务的编排。在利用主要的行业边缘编排框架(如Kubernetes)的同时,OpenNESS能够实现多平台、多访问和多云的云原生微服务架构。它与接入网无关,可以与LTE、Wi-Fi和有线网络互操作。这些特性使OpenNESS成为易于使用的参考软件工具包,可供用户在本地和网络边缘位置创建和部署应用程序。

OpenNESS看起来有些特殊,它实际上可以缓解和处理从云到网络和内部部署边缘的应用程序迁移的复杂性问题,因此不应将其归类为上述任何类别。