边缘计算及相关产品历史发展
背景
最近,公司部分业务场景在调研边缘计算相关的产品,计划用于某些服务的部署。关于边缘计算这个词汇已经听了无数遍,但一直没怎么关注,这里找了些资料,希望能帮助你我一起了解。
边缘计算的历史
边缘计算的历史可以追溯到过去几十年,但其逐渐崭露头角并发展壮大主要发生在近年来。以下是边缘计算历史的一些关键时刻:
- 分布式计算和物联网的起源(20世纪70年代至90年代): 分布式计算的概念在20世纪70年代开始引起注意,这是指将计算任务分配给多个计算机以提高性能。随着时间的推移,物联网的概念逐渐崭露头角,设备开始互相连接,形成网络。
- 云计算的兴起(2000年代): 随着互联网技术的迅猛发展,云计算在2000年代初崭露头角。企业和个人可以通过云服务提供商租用计算资源,实现灵活的存储和计算。
- 移动互联网的发展(2010年代): 随着移动设备的普及和互联网的全球化,对低延迟和高性能的需求增加。同时,物联网设备的快速增长推动了对更接近终端用户的计算资源的需求。
- 边缘计算概念的提出(2010年代初): 边缘计算的概念逐渐浮出水面,强调将计算资源放置在网络边缘,更接近终端用户和设备,以减少延迟和提高性能。(是不是有CDN内味)
- 5G技术的兴起(2010年代末至2020年代初): 5G技术的发展提供了更高的带宽和更低的延迟,加速了边缘计算的实现。5G网络的高性能使得更多的计算任务可以在网络边缘进行,支持更多实时应用和服务。
- 边缘计算在各行业的广泛应用(2020年代): 边缘计算在智能城市、工业物联网、医疗保健、智能交通等各行业得到广泛应用。边缘计算的架构不仅限于传统的数据中心,还包括边缘智能设备,如边缘计算网关和边缘计算节点。
- 云边协同和边缘智能的发展(2020年代至今): 边缘计算和云计算开始形成云边协同的模式,实现了更灵活的计算资源管理。同时,边缘智能设备的不断进步使得在边缘进行更为复杂的计算和决策成为可能。
而在这几十年的发展过程中,有如下几个产品是推动着边缘计算发展的重要关键节点:
- CDN
- Cloudlet
- 雾计算
- MEC
CDN(Content Delivery Network)
- 边缘计算(Edge Computing)的前身可以追溯到内容分发网络,是边缘计算的早期形式之一。
- CDN 主要目标是加速内容的传递,提高用户对互联网上内容的访问速度。 它通过在大范围内分布服务器节点,将内容缓存到离用户更近的位置,从而降低延迟并提高性能。
- CDN强调内容的备份和缓存,而边缘计算的基本思想则是功能缓存(function cache)。边缘计算可以看作是CDN的进一步演进,不仅关注内容分发,还涉及到在边缘位置执行计算任务,以支持更广泛的应用场景。
Cloudlet
- Cloudlet 是指一种位于网络边缘的小型云计算节点,旨在为终端设备提供更近距离的计算资源。他们的目标是创建一个位于网络边缘的小型云服务,以减少移动设备与远程云之间的通信延迟,提高移动应用程序的性能。
- Cloudlet 是 OEC(Open Edge Computing)的研究成果,该项目最初由美国卡耐基梅隆大学发起,而后受到了包括 Intel(英特尔)、华为、Vodafone(沃达丰)在内的多家公司的广泛支持,主要致力于对边缘计算应用场景、关键技术和统一 API 的研究。OEC 基于 OpenStack 开源项目进行扩展,从而得到了微云,目前其源码以及搭建方法也可以在 OEC 的官网上免费获得。
雾计算
- 在万物互联的背景下,边缘数据迎来了爆发性增长,为了解决面向数据传输、计算和存储过程中的计算负载和数据传输带宽的问题,研究者开始探索在靠近数据生产者的边缘增加数据处理的功能,即万物互联服务功能的上行。具有代表性的是雾计算(fog computing)、移动边缘计算(mobileedge computing,MEC)。
- 2012年,思科提出了雾计算,定义为迁移云计算中心任务到网络边缘设备执行的一种高度虚拟化的计算平台。
- 以往的云计算架构将计算从用户侧集中到数据中心,让计算远离了数据源,也会带来计算延迟、拥塞、低可靠性和安全攻击等问题,于是在云计算发展了大约10年的2015年,作为云计算架构的补充,雾计算开始兴起了。
- 雾计算就是本地化的云计算,如果说云计算更强调计算的方式,那么雾计算更强调计算的位置。如果说云计算是 WAN 计算,那么雾计算就是 LAN 计算。如果说 CDN 是弥补 TCP/IP 本地化缓存问题,那么雾计算就是弥补云计算本地化计算问题。
WAN计算(Wide Area Network Computing):
- 定义: WAN计算是指在广域网(Wide Area Network,WAN)上进行计算和数据处理的一种方式。WAN是指覆盖较大地理范围的网络,连接跨越城市、国家甚至全球的多个地点。
- 特点: WAN计算通常涉及远程数据中心、云服务或其他远程计算资源。由于WAN的传输延迟较高,因此在这种环境下进行计算可能会受到网络延迟的影响。
LAN计算(Local Area Network Computing):
- 定义: LAN计算是指在局域网(Local Area Network,LAN)上进行计算和数据处理的方式。LAN是一种连接在相对较小地理范围内的设备的网络,如企业内部、校园内等。
- 特点: LAN计算通常发生在本地服务器、计算机集群或其他局域网上的设备上。由于局域网的特性,通信延迟较低,数据传输速度较快,使得在局域网内进行计算更为实时和高效。
- 2015年11月,思科、ARM、戴尔、英特尔、微软及普林斯顿大学边缘 (Edge) 实验室共同宣布成立OpenFog 联盟等公司联合成立了开放雾联盟(OpenFog)。
MEC(Multi-Access Edge Computing,MEC)
- MEC,中文名又叫**多接入边缘计算,**是一种边缘计算的架构,致力于将计算和存储资源推送到网络边缘,以提供更低延迟、更高带宽和更好服务质量。
- MEC 并不是一个新概念,它最初于2013年出现,源于IBM与NokiaSiemens网络当时共同推出了一款计算平台,可在无线基站内部运行应用程序,向移动用户提供业务。
- 2014年,欧洲电信标准协会 (ETSI) 成立移动边缘计算规范工作组,正式宣布推动移动边缘计算标准化。其基本思想是把云计算平台从移动核心网络内部迁移到移动接入网边缘,实现计算及存储资源的弹性利用。
- 由于移动边缘计算位于无线接入网内,接近移动用户,因此可以实现超低时延、高带宽来提高服务质量和用户体验。随着深入研究,ETSI 将 MEC中”M”的定义也做了进一步扩展,使其不仅局限于移动接入,也涵盖WI-FI接入、固定接入等其他非 3GPP 接入方式,将移动边缘计算从电信蜂窝网络延伸至其他无线接入网络。
3GPP是一个国际性的标准制定组织,致力于制定移动通信领域的技术标准,特别是第三代移动通信(3G)和以后的技术标准。该组织的成员包括世界各地的电信运营商、设备制造商以及其他利益相关方。
- 2017年3月,ETSI把MEC中的“M”重新定义为“Multi-Access”,“移动边缘计算”的概念也变为“多接入边缘计算”。
边缘计算的现状
云计算厂商
- 边缘计算是对于云计算的补充,边缘计算伴随着云服务而生,将云端的能力下降到边缘。通常边缘不需要处理所有数据,而是和云端协同,共同完成计算。所以所有的边缘计算实践都需要云端配置和边缘端部署。
- 云计算厂商中AWS、微软和阿里云是边缘计算最早发力的。其中AWS推出了Greengrass,微软推出了Azure IoT edge,而阿里云则推出了 linkedge 等边缘计算工具。这些工具均实现了定义中所介绍的,将云端能力迁移到设备中,既可以在本地处理数据,又可以利用云端的优势。
Greengrass | Azure IoT edge | Linkedge | |
---|---|---|---|
公司 | AWS | 微软 | 阿里云 |
函数计算 | Lambda | Azure函数 | 函数计算 |
通信 | 消息传递 | 容器通信 | 消息路由 |
消息触发 | Lambda事件触发 | 事件函数触发 | 规则运算 |
数字孪生 | 影子设备:json文件,描述设备和Lambda函数的状态,并将状态同步回云端且保存在本地 | IoT Hub中的json文档,包含状态、元数据、模块配置和各种触发条件 | 物模型、三元组json |
安全 | 哈希证书 | 哈希证书 | 设备三元组 |
AI/ML(人工智能/机器学习) | 云端训练、本地发现资源进行推理 | ML Studio训练,本地推理 | 无 |
软件组成 | Greengrass Core IoT Device SDK | IoT Edge Runtime IoT Edge Edge/Hub IoT Device SDK | Linkedge镜像 AliOS |
运行条件 | 单核1GHZ 128MB RAM x86/ARM架构Linux | 能够运行容器的windows和 arm32架构的Linux | 能够运行容器的x86的windows、linux、arm |
实现过程 | 1. 运行 Linux 的设备(包括 Ubuntu 和 Raspian 等分配)和支持 Arm 或 x86 架构的设备可以托管 AWS IoT Greengrass Core。 2. AWS IoT Greengrass 可在本地执行 AWS Lambda 代码、消息收发、数据缓存和安全策略。 3. 运行 AWS IoT Greengrass Core 的设备充当枢纽,与其他运行 Amazon FreeRTOS 或已安装 AWS IoT Device SDK 的设备进行通信。 4. 这些设备的尺寸可能不同,从较小的基于微控制器的设备到大型设备。AWS IoT Greengrass Core 设备,支持 AWS IoT Device SDK 的设备,和 Amazon FreeRTOS 设备可进行配置,以在AWS IoT Greengrass 组中相互通信。 5. 如果 AWS IoT Greengrass Core 设备与云之间的连接断开,AWS IoT Greengrass 组中的设备还可通过本地网络继续相互通信。 6. AWS IoT Greengrass 组可能代表一个建筑层、一辆卡车或整个矿区。 | 1. 通过容易部署运行时 2. Edge开发业务逻辑 3. 在零接触设备预配的情况下,通过Azure IoT 中心从云中远程管理和部署工作负荷 4. 即使在处于离线状态或仅能间歇性连接到云时也不受影响。设备重新连接后,Azure IoT Edge 设备管理会自动同步设备最新状态,确保无缝运行。 | 1. 在云端创建边缘计算网关 2. 配置规则计算、消息函数、消息路由 3. 启动边缘计算容器 4. 云端自动下发相应的配置完成连接 5. 实现设备到IoT Hub连接、函数计算、路由通信 |
其他 | 运行时MIT开源 | ||
相关网站 | https://aws.amazon.com/cn/greengrass/ | https://azure.microsoft.com/zh-cn/services/iot-edge/ | https://help.aliyun.com/document_detail/85155.html?spm=5176.10695662.1996646101.searchclickresult.e62817ebFSXJd6&aly_as=Jsg4e-5f |
- 其他边缘计算云产品
边缘产品 | 公司 | 相关网站 | |
---|---|---|---|
1 | 边缘节点 EMR | Amazon | https://aws.amazon.com/cn/premiumsupport/knowledge-center/edge-node-emr-cluster/ |
2 | 边缘节点服务 ENS | 阿里 | https://www.aliyun.com/product/ens?spm=5176.10695662.1161011.1.7aa4e7b3aWSXa6&aly_as=kR8i41CR |
3 | 边缘节点计算 KENC | 金山 | https://www.ksyun.com/post/product/KENC |
4 | 智能边缘平台 IEF | 华为 | https://support.huaweicloud.com/usermanual-ief/ief_01_0003.html |
5 | 物联网智能边缘计算(IoT Edge) | 京东 | https://www.jdcloud.com/cn/products/iot-edge |
6 | 智能边缘产品智能边缘BIE(Baidu IntelliEdge) | 百度 | https://cloud.baidu.com/doc/BIE/index.html |
硬件厂商
- 行业联盟对于边缘计算的定义中主要是想打破终端设备碎片化的问题,现状是不同厂家自己的终端设备只与自己厂家的软件兼容。
- 谷歌的 edge tpu是一个专门在边缘上实现机器学习推理的超大规模集成电路芯片,配合cloud TPU可以完成AI和ML的算法训练和部署。
- NI、研华、凌华等硬件厂商的边缘计算实践是以硬件能力为核心的,其中 FPGA是核心器件,由于FPGA 的硬件逻辑可以本地配置,同时能完成告诉的AI和ML算法推理。
- 所以使能边缘计算对于硬件厂商有天然的优势。用边缘节点设备和可以远程更新配置的软件,可以完成边缘的数据压缩和汇聚以及服务器和边缘的协同。但是,因为硬件厂商自身不具备云计算能力,云端的开放与集成是一个短板。
软件基金会
软件基金会主要服务于开发者来使能边缘计算,同时开发者也会反哺开源基金会,故此边缘计算在软件基金会发展是最早的。
- Openstack,一直以来被认为是有可能替代AWS云的开源软件,在边缘设备使用 Openstack 可以实现边缘计算,在 Openstack 的不同网络分层中部署相应的边缘计算应用。
- edgeX,隶属于linux基金会的edgeX项目也是一个边缘计算软件,他是基于 Docker 的一些列微服务的集合,又可以划分为四个微服务层——核心服务层、支持服务层、开放服务层、设备服务层。此外linux基金会在2018年开源了一个叫Akraino的项目,Akraino是一个开源软件栈,同样使用虚拟机和容器技术,它可以通过对于底层的灵活优化,在边缘将应用的延时控制在20ms以内。