边缘计算是一个分布式计算的范式,正如云计算也是一个分布式计算的范式。由于行业、技术背景等不同,边缘计算在不同人眼里是有一定差异的。我们先来看看不同专家是如何定义边缘的,然后介绍边缘计算处理的数据的特点,最后对比下边缘计算与云计算、雾计算的区别。
一、边缘计算的七大不同定义:
定义一:任何不是传统数据中心的都可以成为某个人的边缘节点。
Alex Reznik, Chair of the ETSI MEC ISG standards committee, has a broad definition, "anything that’s not a traditional data center could be the ‘edge’ to somebody."这个定义有点高深抽象,过于宽泛,感觉等于啥也没说。
定义二:将其限定为靠近最后一英里网络的服务器。
The State of the Edge report concentrates on servers "in close proximity to the last mile network."根据这个定义,贴近终端用户的服务器设备都算。比如靠近企业的微数据中心、基站内部署的容器化的边缘计算服务器等、CDN服务器、贴近游戏用户的游戏加速服务器等。
定义三:Gamelet论文定义边缘节点是距离移动端用户一到两个hop,能够满足实时游戏的响应时间约束。
Gamelet paper defines 'the edge node is mostly one or two hops away from the mobile client to meet the response time constraints for real-time games'.Gamelet系统基本上是一个分布式micro-cloud系统,像计算密集的任务如游戏模拟和渲染都卸载到Gamelet边缘计算节点,这些节点距离移动端用户只有几跳。
这个定义,是从游戏的延迟响应的角度来看的。例如微软的xCloud就可以归为这一类。
定义四:Philip Laidler认为边缘计算是在用户端设备(CPE, Costumer Premise Equipment)上运行的工作负载。也有些人根据面向的用户类型,分别称之为用户端边缘计算、企业端边缘计算或设备端边缘计算。
Philip Laidler believes "edge compute includes workloads running on customer premises." Some call this the customer, enterprise or device edge.这个定义还不错,覆盖了用户、企业和物联网设备的各种场景。
用户端边缘计算:游戏加速、互联网CDN、MEC。
企业端边缘计算:边缘层视频监控分析、边缘层视频会议加速、边缘层机器学习。
设备端边缘计算:物联网边缘计算、车联网等。
定义五:边缘计算另外一个内涵更为窄的定义是:包括任何类型的计算机程序,通过更贴近请求侧来交付低延迟。
Another, more inclusive way to define "edge computing" is to include any type of computer program delivers low latency nearer to the requests.这个定义只关注了低延迟,范围太窄,把边缘层机器学习、车联网V2X之类排除在外。CDN、游戏加速、物联网实时流处理都符合这个定义。
定义六:Karim Arabi,在IEEE DAC 2014 Keynote中,以及2015年的MIT的MTL Seminar的受邀演讲中,宽泛的定义边缘计算为云之外的在网络的边缘侧的所有计算,更具体的定义是云之外的需要实时数据处理的应用程序。
Karim Arabi, in an IEEE DAC 2014 Keynote and subsequently in an invited talk at MIT's MTL Seminar in 2015 defined Edge Computing broadly as all computing outside Cloud happening at the Edge of the network and more specifically in applications where real-time processing of data is required.在他的定义中,关注的是实时性。云计算处理的时大数据,而边缘计算处理的是Instant Data,传感器或用户产生的实时数据。
In his definition, Cloud Computing operates on “Big Data” while Edge Computing operates on “Instant Data” that is real-time data generated by sensors or users。根据这个定义,游戏仿真渲染加速、传感器数据实时处理、车联网都属于这个范畴。
游戏处理的Instant Data就是游戏渲染数据、游戏仿真数据。
传感器的实时数据,就是各种物联网传感器的数据。
车联网的实时数据,V2X的数据。
定义七:在Edge Computing: A Primer一书中,边缘计算的定义是任何在数据源和云数据中心之间的计算和网络资源。
Here we define “Edge” as any computing and network resources along the path between data sources and cloud data centers. For example, a smartphone is an edge between body things and cloud, a gateway in a smart home is the edge between home things and cloud, a Micro Data Center (MDC) and a Cloudlet is the edge between a mobile device and cloud.这个定义把数据源和云之间的所有设备都看成边缘计算设备。例如智能手机是body things和云之间的边缘计算设备,智能家居的网关是home things和云之间的边缘计算设备,微数据中心MDC和Cloudlet是移动设备和云之间的边缘计算设备。
二:边缘计算的数据的特点:
大数据的特点是3V:Velocity(速度)、Variety(多样)、Volume(容量)
速度分为:实时、近实时、周期性、批处理、离线
多样分为:Things、Web/视频/社交、文本/音频/照片、数据库、表格
容量分为:ZB、EB、PB、TB、GB
下图为Edge Computing: A Primer一书中的云计算和边缘计算的3V的雷达图对比。其中,红色为云计算,绿色为边缘计算。
为什么图中边缘计算的Volume比云计算大? 因为未来边缘计算节点多了后,就会有大量数据在现场处理。
三、边缘计算和云计算的区别
我们知道了边缘计算的定义的内涵,还需要知道边缘计算与其他概念的区别。
我们先说说边缘计算和它上头的大Boss云计算的区别,然后再说下和思科2014年提出的雾计算概念的区别。
从数据的生产和消费的角度来看,云计算和边缘计算的区别:
云计算应用场景下,云端是数据的生产者,而用户和终端设备,是数据的消费者。例如,智能手机对于Youtube云计算是消费者。
边缘计算应用场景下,用户和终端设备,是数据的生产者。云端是数据的消费者。例如物联网传感器数据通过边缘计算上传到云端进行消费。
边缘计算和云计算的对比
下表为Edge Computing From Hype to Reality书中的边缘计算和云计算的对比。分别从计算能力、分布模式、应用程序特点、通信开销、移动端支持、管理方式、部署方式、用户设备和网络访问类型九个方面进行了对比。
四、边缘计算和雾计算的区别
边缘计算和雾计算都是用来处理数据的,它们的区别不像边缘计算和云计算那么清晰。在很多场合,边缘计算和雾计算的概念甚至可以互相替换。它俩的区别,有点像两个双胞胎,那怎么来区分呢它俩的关键区别,在于数据处理的位置。
边缘计算中,数据是在贴近设备侧处理的。比如传感器的数据通过串口传输到直连的网关内,进行分析处理。
雾计算中,数据处理是在局域网中或连在局域网上的硬件进行处理的。因此,雾计算的数据是在局域网的网关或者雾计算节点上进行的。边缘计算的计算靠近数据源。边缘计算更关注于物,而雾计算更关注于现场的网络基础设施。简而言之,边缘计算将智能放在设备侧,而雾计算是放在局域网内。
五、边缘计算的优点:
低延迟,提高响应速度。
在本地进行实时数据处理。
更低的运维成本,因为数据量分散到不同节点。
更低的网络流量,因为传输的数据更少。