1.2.3 雾计算——雾是接近地面的云
随着物联网技术的发展,在万物互联的背景下,边缘数据迎来了爆发性增长。为了解决面向数据传输、计算和存储过程中的计算负载和数据传输带宽的问题,研究者们开始探索在靠近数据生产者的边缘增加数据处理的功能,即万物互联服务功能的上行。具有代表性的是雾计算(Fog Computing)、移动边缘计算(Mobile Edge Computing,MEC)。
2012年,思科公司提出了雾计算概念,将其定义为迁移云计算中心任务到网络边缘设备执行的一种高度虚拟化的计算平台。云计算架构将计算从用户侧集中到数据中心,让计算远离了数据源,但也带来计算延迟、拥塞、低可靠性和易受攻击等问题,于是在云计算发展了大约10年的2015年,修补云计算架构的“大补丁”——雾计算开始兴起了。
雾计算就是本地化的云计算,是对云计算的补充。云计算更强调计算的方式,雾计算更强调计算的位置。如果说云计算是WAN计算,那么雾计算就是LAN计算。如果说CDN是弥补TCP/IP本地化缓存的问题,那么雾计算就是弥补云计算本地化计算的问题。
如图1-8所示,是思科公司对雾计算的原始定义。在思科公司的定义中,雾主要是由边缘网络中的设备构成,这些设备可以是传统网络设备(早已部署在网络中的路由器、交换机、网关等),也可以是专门部署的本地服务器。一般来说,专门部署的设备会有更多资源,而使用有宽裕资源的传统网络设备则可以大幅度降低成本。这两种设备的资源能力都远小于一个数据中心,但是它们庞大的数量可以弥补单一设备资源的不足。雾平台由数量庞大的雾节点构成。这些雾节点可以各自散布在不同地理位置,与资源集中的数据中心形成鲜明对比。
图1-8 雾计算的原始定义
2015年11月,思科、ARM、戴尔、英特尔、微软及普林斯顿大学边缘(Edge)实验室等,联合成立了开放雾联盟(OpenFog)。
雾计算将处理能力放在包括IoT设备的LAN上面。这个网络内的IoT网关,或者说是雾节点用于数据收集、处理、存储。多种来源的信息收集到IoT网关里,处理后的数据发送回需要该数据的设备。雾计算的特点是处理能力强的单个设备接收多个端点来的信息,处理后的信息发回需要的地方。和云计算相比延迟更短。
边缘计算进一步推进了雾计算的“LAN内的处理能力”的理念,处理能力更靠近数据源。不是在中央服务器里整理后实施处理,而是在网络内的各设备实施处理。这样,通过把传感器连接到可编程自动控制器(PAC)上,使处理和通信的同时进行成为可能。和雾计算相比,边缘计算优点是,故障点比较少,各自的设备独立动作,可以判断什么数据保存在本地,什么数据发到云端。
以智能吸尘器为例,来了解一下边缘计算和雾计算的差别(如图1-9所示)。雾计算方案是集中化的雾节点(或者IoT网关)不断从家中的传感器收集信息,检测到垃圾的话就启动吸尘器。边缘计算的解决方案里是传感器自己判断有没有垃圾,来发送启动吸尘器的信号。更多雾计算相关内容尽在本书第3章。
图1-9 智能吸尘器