Edge computing, and introduced several open source computing platform edge

Calculation of the edge the edge (Edge) refers to a computing and storage resources on the network edge, where the opposite edge of the network data center, both are closer to the geographical distance from the user or from the network point of view. As a new computing paradigm, edge computing computing tasks to be deployed near the edge of the network generated data source, the use of edge resources to provide users with a large number of services or functional interface, greatly reducing the amount of data uploaded to the cloud data center, network bandwidth to ease pressure , and can better address data security and privacy issues.

The lower edge of the computing environment, and the heterogeneous data having a large amount of data, the application data processing are diverse, different computational tasks associated with different applications and for having a large computing task management complexity , middleware software architecture and simple tasks can not effectively ensure the feasibility, reliability maximize computing applications and resource utilization. Meanwhile, the edge computing systems for different applications or scenarios to be achieved have functional differences. Therefore, the edge computing platform has an important significance and impact on the promotion and development of computing edges.

Open-source platform edge computing overview 01

Edge computing system is a distributed system example, in the specific implementation process need to ground it to a computing platform, how to improve the efficiency of mutual cooperation between the various edges of the platform, how to achieve maximum utilization of resources, the design edge computing platform, system and interface challenges. For example, the network edge computing, storage and network resources quantity but many dispersed in space, how to organize and unify management of these resources is a problem to be solved. In the edge computing scenarios, especially things, a sensor such as a data source or the like, and their hardware and software transmission protocol with diversity, how data is also a problem to be considered easily and effectively collected from the data source. In addition, under the edge of the network computing resources are not rich conditions, the problem of how to complete the task of data processing is also a need to be resolved efficiently.

At present, the development of edge computing platform in the ascendant. Because of the different questions for each of the edges of a variety of computing platforms design, but without loss of generality, the general function of the computing platform edge of the frame shown in Figure 1. In this frame, the resource management function is used to calculate the edge network management, network and storage resources. Device access and data acquisition functions are used for access and retrieve data from the device. Security for the protection of data from the device's safety. Internet management device for managing and monitoring the operation of the controlling edge computing application.

Edge open source computing platform

Figure 1 - a general functional framework computing platform edge

Difference computing platform edges can be compared and analyzed in the following ways:

(1) design goals. Edge computing platform for which it is designed to reflect the areas of problem solving, and have a critical impact on the structure and function of the system design platform.

(2) the target user. In the conventional various edges computing platform, the platform is available to some network operators to deploy edge cloud services, some edge computing platform is not limited and can be deployed on its own ordinary users to use the device on the edge.

(3) scalability. In order to meet the needs of user applications dynamically added and deleted, the edge computing platform needs to have good scalability. Currently, the virtual machine container technology and techniques are often used to support scalability.

(4) characteristics of the system. For different applications of open source computing platform edges have different characteristics, these characteristics can be developed for different applications or deploy edge computing convenience.

(5) Scenario: Common applications include intelligent transportation, smart home and smart factories and other scenes, as well as augmented reality (AR) / Virtual Reality (VR) applications, video processing and edge unmanned vehicles when the response delay-sensitive application scenarios.

The design target edge computing platform and deployment, the current edge computing open source platform can be divided into three categories: facing edge networking end thereof computing open source platform edge facing the cloud services edge computing open source platform for cloud edge fused edge computation open-source platform.

Networking end edge 02 thereof facing the open source computing platform,

Things end edge facing the open source computing platform, to address the development and deployment of existing Internet application process issues, such as access devices like diversity. These platforms deployed gateways, routers and switches, edge device, the edge of things to support computing applications. Representative platform is Linux Foundation released the EdgeXFoundry and the Apache Software Foundation's Apache Edgent.

2.1 EdgeXFoundry

EdgeXFoundry standardization Interoperability Framework is a calculation of the edge of things for industrial development, deployed on the edge devices as routers and switches, plug and play functionality for the various sensors, devices, or other devices and manage them things, and thus collected and analyzed their data, or exported to an edge computing application or cloud computing center for further processing. The problem is that things EdgeXFoundry for device interoperability issues. Currently, the device having a large number of things a large amount of data, in conjunction with an urgent need to edge computing applications, but the diversity of hardware, software and IOT access to the data access function difficult, affect the deployment of the edge of computing applications. EdgeXFoundry The purpose is to simplify and standardize the industry Things edge computing architecture, to create an ecosystem around the interoperability of components.

Figure 2 shows the EdgeX Foundry architecture. In the bottom of the figure is a "south", it refers to all things devices, these devices and the edge network, sensors, or other direct communication networking devices thereof. In the top graph is the "north", it refers to a cloud computing center or enterprise systems, as well as cloud center portion in communication with the network. A data generation source is south, north and south from the data collected, and the data is stored, aggregation and analysis. 2, EdgeXFoundry located between the south and north, composed of a series of micro-services, and these services can be divided into micro-4 service layer and two enhancement underlying system services. Communicate via a common set of Restful application programming interface (API) between the micro service.

Edge open source computing platform

FIG 2- EdgeXFoundry architecture of FIG.

BACNET: building automation and control networks

BLE: Low-power Bluetooth

MQTT: Message Queuing Telemetry Transport

OPC-UA: OPC unified framework

REST: RESTful application programming interface

SDK: Software Development Kit

SNMP: SNMP

VIRTUAL: Virtual Device

(1)设备服务层。设备服务层主要提供设备接入的功能,由多个设备服务组成。每个设备服务是用户根据设备服务软件开发工具包(SDK)编写生成的一个微服务。EdgeXFoundry使用设备文件去定义一个南侧设备的相关信息,包括源数据格式,存储在EdgeXFoundry 中 的数据格式以及对该设备的操作命令等信息。设备服务将来自设备的数据进行格式转换,并 发送至核心服务层。目前,EdgeX Foundry提供了消息队列遥测传输协议(MQTT)、ModBus串行通信协议和低功耗蓝牙协议(BLE)等多种接入方式。

(2)核心服务层。核心服务层由核心数据、命令、元数据、注册表和配置4个微服务组件 组成。核心数据微服务存储和管理来自南侧设备的数据、元数据微服务存储和管理设备的元 数据。命令微服务将定义在设备文件的操作命令转换成通用的API,提供给用户以监测控制 该设备。注册表和配置微服务存储设备服务的相关信息。

(3)支持服务层。支持服务层提供边缘分析和智能服务,以规则引擎微服务为例,允许用户设定一些规则,当检测到数据满足规则要求时,将触发一个特定的操作。例如规则引擎可 监测控制温度传感器,当检测到温度低于25度时,触发对空调的关闭操作。

(4)导出服务层。导出服务层用于将数据传输至云计算中心,由客户端注册和分发等微服务组件组成。前者记录已注册的后端系统的相关信息,后者将对应数据从核心服务层导出至 指定客户端。

(5)系统管理和安全服务:系统管理服务提供安装、升级、启动、停止和监测控制EdgeX Foundry 微服务的功能。安全服务用以保障来自设备的数据和对设备的操作安全。

最新版本的 EdgeXFoundry 没有为用户自定义应用提供计算框架,用户可以将应用部署在网络边缘,将该应用注册为导出客户端,进而将来自设备的数据导出至应用来处理。EdgeX Foundry 的设计满足硬件和操作系统无关性,并采用微服务架构。EdgeXFoundry 中的所有微服务能够以容器的形式运行于各种操作系统,且支持动态增加或减少功能,具有可扩展性。EdgeXFoundry 的主要系统特点是为每个接入的设备提供通用的 RestfulAPI以操控该设备, 便于大规模地监测控制物联网设备,满足物联网应用的需求。EdgeXFoundry 的应用领域主 要在工业物联网,如智能工厂、智能交通等场景,以及其他需要接入多种传感器和设备的场景。

2.2 ApacheEdgent

Apache Edgent 是一个开源的编程模型和微内核风格的运行时,它可以被嵌入到边缘设备上,用于提供对连续数据流的本地实时分析。Edgent解决的问题,是如何对来自边缘设备的数据进行高效的分析处理。为加速边缘计算应用在数据分析处理上的开发过程,Edgent 提供一个开发模型和一套API用于实现数据的整个分析处理流程。基于Java或安卓的开发环境,Edgent应用的开发模型如图3所示。

Edge open source computing platform

图3-Edgent应用的开发模型

该模型由提供者、拓扑、数据流、数据流的分析处理、后端系统5个组件组成。

(1)提供者。一个提供者对象包含了有关Edgent应用程序的运行方式和位置信息,并具有创建和执行拓扑的功能

(2)拓扑。拓扑是一个容器,描述了数据流的来源和如何更改数据流的数据。数据的输入、处理和导出至云的过程都记录在拓扑中。

(3)数据流。Edgent提供了多种连接器以不同方式接入数据源,比如支持消息队列遥测传输(MQTT)、超文本传输协议(HTTP)和串口协议等,用户还可以添加自定义代码以控制 传感器或设备的数据输入。此外,Edgent的数据不局限于来自真实传感器或者设备的数据,还支持文本文件和系统日志等。

(4)数据流的分析处理。Edgent提供一系列功能性的API 以实现对数据流的过滤、分裂、 变换和聚合等操作。

(5)后端系统。由于边缘设备的计算资源稀缺,Edgent 应用程序无法支撑复杂的分析任务。用户可以使用连接器,通过MQTT和ApacheKafka方式连接至后端系统,或者连接至IBMWatson IoT平台进一步对数据做处理。

Edgent 应用可部署于运行 Java虚拟机的边缘设备中,实时分析来自传感器和设备的数据, 减少了上传至后端系统如云数据中心的数据量,并降低了传输成本。Edgent的主要系统特点是提供了一套丰富的数据处理API,切合物联网应用中数据处理的实际需求,降低应用的开发难度并加速开发过程。Edgent的主要应用领域是物联网,此外,它还可以被用于分析日志、文本等类型的数据,例如嵌入服务器软件中用以实时分析错误的日志。

03 面向边缘云的边缘计算开源平台

网络运营商的网络边缘,如蜂窝网络基站、中央端局和在网络边缘的小型数据中心等,是用 户接入网络的地方,其计算、存储和网络资源也可用以部署边缘计算应用。面向边缘云服务的边缘计算平台着眼于优化或重建网络边缘的基础设施以实现在网络边缘构建数据中心,并提供类似云中心的服务。代表性的平台有开放网络基金会(ONF)的CORD项目和Linux基金会的AkrainoEdge Stack 项目。

3.1 CORD

CORD 是为网络运营商推出的开源项目,旨在利用软件定义网络(SDN)、网络功能虚拟化(NFV)和云计算技术重构现有的网络边缘基础设施,并将其打造成可灵活地提供计算和网 络服务的数据中心。现有网络边缘基础设施构建于由电信设备供应商提供的封闭式专有的软 硬件系统,不具备可扩展性,无法动态调整基础设备的规模,导致资源的低效利用。CORD计划利用商用硬件和开源软件打造可扩展的边缘网络基础设施,并实现灵活的服务提供平台, 支持用户的自定义应用。

图4 为CORD的硬件架构图,CORD利用商用服务器和白盒交换机提供计算、存储和网络资源,并将网络构建为叶脊拓扑架构以支持横向网络的通信带宽需求。此外,CORD 使用专用接入硬件将移动、企业和住宅用户接入网络中。

Edge open source computing platform

图4-CORD的硬件架构

CORD的软件架构如图5所示,云平台管理项目 OpenStack用以管理计算和存储资源,创建和配置虚拟机以及提供基础设施即服务(IaaS)功能。开源网络操作系统(ONOS)为网 络提供控制平面,用于管理网络组件如白盒交换网络结构等,并提供通信服务。容器引擎Docker 使用容器技术来实例化提供给用户的服务。服务控制平台 XOS用于整合上述软件, 以组装、控制和组合服务。

Edge open source computing platform

图5- CORD的软件架构

DOCKER: 容器引擎

ONOS: 开源网络操作系统

OPENSTACK: 开源的云计算管理平台项目

根据用户类型和使用案例的不同,CORD可被具体实现为 M-CORD、R-CORD和E-CORD。以 M-CORD为例,M-CORD面向无线网络(特别是5G 网络),使用蜂窝网络将用户接入。M-CORD基于 NFV和云计算技术将蜂窝网络功能进行分解和虚拟化,实现网络功能的动态扩展同时增强资源利用率。在此基础上,M-CORD 支持多接入边缘服务,为用户提供定制 服务和差异化体验质量(QoE)。此能力切合具备移动性的边缘计算应用的需求,能通过无 线网络为手机、无人车和无人机等移动设备的边缘计算应用就近提供强大的计算能力。R-CORD 和 E-CORD同样可以在网络边缘支持住宅用户或企业用户的边缘计算应用,如VR和AR 应用等,以获得更快的响应时间和更好的服务体验。

对于用户而言,CORD 在运营商网络边缘提供的边缘云服务,具有与云计算相同的优点,即无需用户提供计算资源和搭建计算平台,降低了软硬件和管理成本。此外,有线和无线网络 的广泛分布使用户提交边缘计算应用不受地理位置的影响。目前,运营商正研究如何部署CORD,中国联通发起成立了CORD产业联盟,推动CORD项目的落地。

3.2 Akraino EdgeStack

AkrainoEdge Stack 是一个面向高性能边缘云服务的开源项目,并为边缘基础设施提供整体的解决方案。Akraino Edge Stack 致力于发展一套开源软件栈,用于优化边缘基础设施的网 络构建和管理方式,以满足边缘计算云服务的要求,比如高性能、低延迟和可扩展性等。Akraino Edge Stack 项目涉及的范围从基础设施延伸至边缘计算应用,其范围可以划分为 3个层面。

在最上面的应用层面,AkrainoEdge Stack致力于打造边缘计算应用程序的生态系 统以促进应用程序的开发。中间层面着眼于开发中间件和框架以支持上面层次的边缘计算应 用。在这个层面中,AkrainoEdge Stack 将开发API 和框架以接入现有互补性的开源边缘计算项目,例如上述的面向物联网的互操作性框架EdgeX Foundry,最大化利用开源社区的现有成果。在最下面的基础设施层面中,AkrainoEdge Stack 将提供一套开源软件栈用于优化基础设施。此外,Akraino Edge Stack 为每种使用案例提供蓝图以构建一个边缘计算平台。每个蓝图是涵盖上述3个层次的声明性配置,其中包括对硬件、各层面的支撑软件、管理工具和交付点等的声明。

Akraino Edge Stack 基于使用案例提供边缘云服务,可部署于电信运营商的塔楼、中央端局或线缆中心等。其应用领域包括边缘视频处理、智能城市、智能交通等。Akraino Edge Stack目前是一个初创项目,于2018年8月进入执行阶段。

04 面向云边融合的边缘计算开源平台

云计算服务提供商是边缘计算的重要推动者之一,基于“云边融合”的理念,致力于将云服务能力拓展至网络边缘。目前,亚马逊公司推出了AWSGreengrass ,微软公司推出了Azure IoT Edge ,阿里云公司推出了物联网边缘计算平台 LinkIoT Edge。微软公司在2018年宣布将Azure IoT Edge 开源。

Azure IoT Edge是一种混合云和边缘的边缘计算框架,旨在将云功能拓展至如路由器和交换机等具备计算能力的边缘设备上,以获得更低的处理时延和实时反馈。Azure IoT Edge运行于边缘设备上,但使用与云上的AzureIoT 服务相同的编程模型;因此用户在开发应用的过程中除对计算能力的考量外,无需考虑边缘设备上部署环境的差异,还可以将在云上原有的应用迁移至边缘设备上运行。

如图6 所示,AzureIoTEdge由IoTEdge模块、IoTEdge运行时和IoTEdge云界面组成,前两者运行在边缘设备上,后者则是一个在Azure云上提供服务的管理界面。

Edge open source computing platform

图6- Azure IoT Edge的架构图

(1)IoTEdge 模块。IoTEdge 模块对应于用户的边缘计算应用程序。一个模块镜像即一个Docker 镜像,模块里包含用户的应用代码,而一个模块实例就是一个运行着对应的模块镜像的 Docker 容器。基于容器技术,IoTEdge 具备可扩展性,用户可动态添加或删除边缘计算应用。由于相同的编程模型,Azure 机器学习和 Azure数据流分析等 Azure云服务也可以 部署到 IoTEdge模块,此特性便于在网络边缘部署复杂的人工智能应用,加快了开发过程。

(2)IoTEdge运行时。IoTEdge运行时由IoTEdge中心和IoTEdge代理2个组件构成,前 者负责通信功能,后者负责部署和管理 IoTEdge 模块,并监测控制模块的运行。IoT中心 是在 Azure云上的消息管理中心,IoT Edge中心与IoT 中心连接并充当其代理。IoT Edge 中心通过MQTT、高级消息队列协议(AMQP)和HTTPS协议获取来自传感器和设备的数据,实现设备接入的功能。此外,IoT Edge 中心作为消息中转站,连接 IoTEdge 模块之间 的消息通信。IoTEdge代理从IoTHub接收IoTEdge模块的部署信息,实例化该模块,并保 证该模块的正常运行,如对故障模块进行重启,并将各模块的运行状态报告至IoT中心。

(3)IoT云界面。云界面提供了设备管理的功能。用户通过云界面进行添加设备,部署应用和监测控制设备等操作,为用户大规模部署边缘计算应用提供了方便。

Azure IoT Edge 的主要系统特点是强大的Azure 云服务的支持,尤其是人工智能和数据分析 服务的支持。AzureIoT Edge具有广阔的应用领域,除了物联网场景,原有在云上运行的应 用也可以根据需求迁移至网络边缘上运行。目前AzureIoTEdge已有智能工厂、智能灌溉系 统和无人机管理系统等使用案例。

05 构建边缘计算平台的开源软件

一些开源软件能为边缘计算平台提供组件功能,具体包括:

(1)网络管理。开源网络自动化平台(ONAP)是一个为物理或虚拟网络功能的自动化 和实时策略驱动化编排提供平台的开源项目,在边缘云中可用于定制网络服务。Linux基金会在2018年将ONAP与其他5个功能类似的开源项目合并成LFNetworkingFund项目。ONOS是一个开源网络操作系统,它提供一个控制平面用于管理网络组件,运行软件程序和模块,并为终端主机提供通信服务。目前,ONAP应用于 Akraino EdgeStack 项目中,ONOS应用于CORD 项目中。

(2)容器技术。Docker作为一个开源的应用容器引擎,被多个边缘计算平台使用以提供灵活的应用部署方式。Kubernetes是一个对容器化应用进行自动化部署、扩展和管理的开源项目,可用于边缘计算平台中以提供可靠和可扩展的容器编排。

(3)云平台。OpenStack是一个开源的云计算管理平台项目,可用于构建边缘云,管理边缘云基础设备的计算、存储和网络资源。StarlingX是一个用于构建分布式边缘云的开源项目,提供一套完整的云基础架构软件栈,现应用于AkrainoEdge Stack 项目中。

(4)人工智能技术。引入人工智能技术是边缘计算的发展趋势之一。Acumos 人工智能(AI)是一个用于训练、部署和共享AI应用程序的开源框架,可用于边缘云中以提供AI边缘计算应用的快速开发和部署。Acumos AI 目前已用于Akraino Edge Stack 项目中。

06 结束语

Edge computing platform provides a method of reducing latency for the application of the edge based on the calculated data to improve the real-time processing architecture and software stack support. At present, the edge computing platform is still in rapid development period, we conducted the following analysis of its future development trends in this article:

(1) for a specific application scenario of specific computing platform edge will develop rapidly. Currently, smart home, smart city and smart factories are subject to application scenarios of concern, how systematic functional requirements to support these scenarios is the development trend edge computing platform.

(2) Data security and privacy protection edge computing platforms will become more prominent. How data security at the edge of the device cooperate with each other to ensure that the edge of the platform location privacy of user information on how to avoid exposure, especially edge computing device computing resources, limited storage capacity, so that security and defense edge computing platform has a higher challenge.

(3) Edge computing platform will bind more artificial intelligence techniques. At present, the depth of learning as the representative of artificial intelligence techniques developed very rapidly, but the study "Intelligent Edge" has just started, the future of computing platforms will be introduced edge artificial intelligence technology, intelligent data processing edge.

This article first appeared in the "ZTE Communications"

About the Author

Liang Jia Yue, Sun Yat-sen data Computer Science and postgraduate students; research direction for edge computing.

Liu Bin, Institute of Electronics PhD students; research direction for edge computing.

Associate Professor Liu Fang, Zhongshan University School of Science and Computer data; research direction for Computer Architecture and storage technology; has hosted and participated in the National Natural Science Foundation of China, Ministry of Science and R & D focus, "863" and so on more than 10 projects; Zhongshan University " Hundred Talents Program "of young talented people, military scientific and technological progress prize 1; published more than 70 papers, authorized more than 10 national invention patents.

Article Source: edge computing community

Guess you like

Origin www.oschina.net/news/108401/opensource-edge