边缘计算 - 云计算厂商的下一个战场

边缘计算 - 云计算厂商的下一个战场

高德纳(Gartner)公司预计到2020年全世界有多达250亿的智能设备会连接互联网,这些智能设备包括,智能手机、个人穿戴设备、汽车、核磁共振仪、智能路灯、蒸汽发电机、飞机发动机等各式各样的智能设备。如此多的设备会产生50万亿GB的数据,这相当2015年全球数据量的5倍多。如果将这些设备产生的数据全部传输到云端,对网络带宽、网络流量成本控制、云端存储能力都是一个巨大的挑战。为了应对物联网场景中海量数据传输、存储的挑战,领先的云计算厂商纷纷推出边缘计算的产品。

什么是边缘计算(edge computing)

边缘计算是相对云计算而言的,它是指收集并分析数据的行为发生在靠近数据生成的本地网络中,而不是必须将数据传输到计算资源集中化的云端进行处理。边缘计算听起来像是一个全新的技术名称,但是他的逻辑内涵 - 将计算分散到各个节点自行完成,却是云计算发展过程中,尤其是物联网发展中非常自然的下一步。

计算机技术发展的螺旋式上升模型

计算机技术在发展过程中从来不是线性的,而是近似于螺旋的曲线,即由自身出发,仿佛又回到自身,并得到丰富和提高的辩证过程。

如下表所示,在30年前,计算通常发生在资源集中的大型机上。而20年前,随着PC的发展,C/S架构变得流行,任务处理变成分布式模型,客户端处理业务逻辑,数据库存储和交换数据。又经过10年的发展,为了提升用户体验、提供更敏捷的软件升级和改进,B/S架构占据主流,业务处理和存储又集中到了云端完成(注1)。现今,随着连入云端的智能设备越来越多、数据量越来越大,而且智能设备芯片的运算能力越来越强,这为使用边缘节点完成对初始数据的处理和分析便提供了必要的条件。

注1:为了支持高并发和海量存储能力,云端的每个服务都是分布式架构。但是,我们将云端看做一个黑盒子,则业务的计算、存储还是全部集中到了云端。

时间线 软件架构 系统模型 说明
30年前 大型机上的专有软件 集中式模型 通过计算资源集中管理的大型机来运行特定的任务
20年前 客户端软件+数据库服务器 分布式模型 通过PC上客户端软件处理业务逻辑和用户界面展示,而所需的数据都存储在数据库服务器上
10年前 浏览器+Web服务后台(也包括云计算服务后台) 集中式模型 所有的业务处理逻辑、数据存储都在云端的服务中完成,浏览器只负责用户界面的展示
现在 在数据产生的本地网络进行数据的收集和必要的分析 分布式模型 通过边缘节点的计算能力完成对初始数据的处理和分析,并提供近乎实时的反馈

数据重力(data gravity)

在物联网场景下,每个智能设备都会产生大量的数据,而且数据都是有重力的,传输如此海量的数据从本地到云端,则需要消耗大量的网络带宽。为了加快服务和计算处理数据的时间,将计算从云端移向采集数据的边缘节点则是必然之选。其实,在大数据场景下,将计算部署到靠近数据的节点早有先例。Hadoop中的MapReduce就是通过将mapper和reducer部署到数据存储的节点,从而高效的处理HDFS中存放的海量数据。

边缘计算的优势

如果说边缘计算所需要的必要条件已经满足,例如,智能设备芯片的运算能力而且数据重力的存在。那么,相对于计算资源和存储资源都趋于无限大的云端环境,边缘计算能够提供哪些独特的优势?

可以预见的是,虽然边缘节点的计算和存储的资源都小于云端环境,但是它还是有其独特的优势,

  1. 非常低的延时和近乎实时的分析。因为边缘节点靠近产生数据的设备端,因此可以在非常低延时的场景下收集到数据,并且根据给定的计算模型完成近乎实时的分析。这对设备的实时控制场景是非常有利的。
  2. 更为敏捷的业务反馈。边缘节点能够完成近乎实时的分析,因此能够给决策者更为敏捷的业务反馈,而不是等到云端按天或者按周分析,呈现业务洞见。
  3. 适配更低的网络带宽,网络流量。边缘节点能够通过本地网络采集智能设备产生的数据,同时,也不需要将全部的数据传输到云端。因此部署了边缘计算的解决方案可以适配更低的网络带宽和网络流量,甚至可以在没有互联网的环境下工作。这一特性非常适合网络环境不稳定,而且流量成本比较高的场景。

边缘计算的典型应用场景

既然,边缘计算有这么多优势,它的典型应用场景是什么呢?

自动驾驶的汽车

没错,自动驾驶汽车可以说是迄今为止边缘计算最为复杂的一个应用场景!汽车在行驶过程中,各种传感设备,视频设备不停的产生数据。而汽车在行驶过程中的控制指令,不可能全部由云端在收到数据后,经过分析再回传给相应的车辆。因此,有大量的计算和车辆控制都是在自动驾驶汽车内车载计算节点完成的。

如果说自动驾驶汽车的应用场景比较特殊,不属于在工业互联网场景的边缘计算。那我们可以再举几个工业互联网场景中的例子来接接地气。

简单而高效的数据清洗

在工业互联网场景下,传感器采集的数据并不像传统IT系统中的监控工具采集CPU、内存使用量那么准确。因为温度、压力、表面的油污等外界条件的变化,使传感器不能每次都准确的测量被测对象的实际值,从而产生了数据垃圾。如果我们不加处理,全部传输到云端再做数据清洗。那么,我们无疑浪费了一定的网络带宽和云端空间去存储这些垃圾数据。边缘计算就可以非常高效的在采集数据的同时,进行简单的数据清洗的工作,剔除这些垃圾数据。

另外的一个例子是工业资产绩效管理应用中的数据清洗。例如,我们在核磁共振仪上部署了若干传感器,用来采集工作中设备各个子部件的运行数据。但是,我们知道核磁共振仪并不是每时每刻都在工作。如果没有病人使用的时候,设备就处于待机状态。但是传感器只能按照固定的采集频率收集数据,并不能判断设备是处于待机状态还是工作状态。如果我们对采集的数据不加处理,全部传输到云端,则对云端的数据集造成了不小的噪声,进而对分析的结果也产生了一定的偏差。通过边缘计算就可以非常方便的剔除设备待机状态下的数据,使得云端的数据集更为准确而更便于预测性维护的分析。

近乎实时的设备控制

因为边缘节点靠近产生数据的设备端,因此可以在非常低延时的场景下收集到数据,并且运行已经在云端训练过的模型进行近乎实时的分析,产生的结果可以直接反馈到设备端,进而实现实时的设备控制。例如,因为操作员的误操作,使得风力发电机的转速超过了训练模型的推荐值,边缘节点便可以近乎实时的探测到这一事件,并实时发送指令控制风力发电机的转速恢复到正常范围内,从而避免一次人为造成的设备停机事件。

无联网状态时的数据收集和分析

我们知道波音或者空客的大飞机从中国到北美的每次航程中就会产生超过500GB的设备运行数据,如果我们通过机载移动联网的方式将这些设备运行数据传输到云端,无疑是一笔不小的网络流量开销。如果飞机上部署了边缘计算节点,在空中飞行过程中的所有数据都可以存储在边缘计算节点中。而且边缘计算节点还能提供近乎实时的分析反馈能力,使得飞机的机长能够更为及时的了解飞机自身的状态,并采取相应的行动。而当飞机降落后,我们可以将边缘计算节点联网,通过有线宽带网络的方式,可以较低成本的将每次航程中的数据传输到云端。

积极应对小概率的非计划停机

我们都知道工业互联网场景下的一个重要的应用场景就是,通过采集工业设备运行过程中的数据,进行横向分析和历史回归分析,从而预测设备下一次失败的时间,并在此之前进行预防性维护,降低设备的非计划停机时间,提升设备的运营效率。可以想象的是,在工业场景下的设备失败是小概率事件,而设备失败之前若干小时的时间窗口内所采集的设备运行数据价值最高。因此,我们都希望能以更高的采集频率收集设备失败之前若干小时内各个子部件的运行数据。例如,设备正常工作时每五分钟采集一次,而在设备失败之前每秒采集一次。如果没有边缘计算,我们只能按照最高频率采集数据,即每秒采集一次。这样,我们无疑要花费大量的网络带宽和云端存储资源存储这些数据,然后再按照每五分钟做一次聚合计算,最终删掉部分原始数据以释放相应的资源。如果部署了边缘计算节点,我们完全可以在边缘节点维护一个每秒采集一次并能存储若干小时时长数据的缓冲区。这样,边缘节点可以在设备正常工作时,每五分钟聚合一下本地数据,上传一个聚合后的数据点。如果设备失败了,则将缓冲区中若干小时的按秒采集的数据一次性的上传云端,为更为精准的下一次预防性维护提供数据支持。

我该如何实施边缘计算

我们已经了解了边缘计算拥有广泛的应用场景,那么,我们该如何在自己的物联网,尤其是工业互联网项目中实施边缘计算呢?

答案就是Predix Machine

Predix Machine - 完整的边缘计算解决方案

Predix Machine的逻辑架构图,如下图所示。

边缘计算 - 云计算厂商的下一个战场

从上图中,我们可以了解到,

  1. Predix Machine是一套软件SDK,可以部署到从ARM控制器到工业网关、到x86服务器等不同的硬件平台上。我们可以根据边缘计算业务需求,选择不同的硬件平台部署Predix Machine的SDK完成数据采集、分析上传的全过程。
  2. 而且,Predix Machine提供M2M接口(设备对设备的接口)能够直接接收通过工业协议传输的设备数据,例如,OPC-UA,modbus,MQTT等,无需任何编程。
  3. 另外,Predix Machine提供边缘分析的能力,我们可以通过MQTT接收实时的数据流,并对其进行相应的分析,完全可以满足上述边缘计算典型场景的需求。
  4. Predix云平台还提供了Edge Manager服务,可以从云端完成设备的注册,认证,升级,下线等全生命周期管理。

小结

  1. 2020年全世界有多达250亿的智能设备会连接互联网,会产生50万亿GB的数据。边缘计算便成为物联网,尤其是工业互联网必然的选择。
  2. 边缘计算是相对云计算而言的,它是指收集并分析数据的行为发生在靠近数据生成的本地网络中。
  3. 边缘计算相对于云计算,有着独特的优势,可以提供非常低的延时和近乎实时的分析、更为敏捷的业务反馈、能够适配更低的网络带宽、网络流量,甚至是无联网状态下的数据收集和分析。
  4. 边缘计算有着非常丰富的应用场景,从数据清洗,到实时控制,到无联网状态时的数据收集和分析,到非计划停机事后分析等等。
  5. Predix Machine是完整的边缘计算解决方案,提供了设备对设备,设备到云端,云端反向到设备等多种数据和控制路径,能完美解决工业互联网场景下边缘计算所面对的各项挑战。

作者:谢品,上海创新坊首席架构师,GE数字集团

专注于工业互联网,云计算,大数据,高性能分布式存储领域,对Cloud Foundry和传统应用向云端,特别是向Predix迁移有丰富的经验,曾供职于VMware,EMC,Autodesk等知名软件公司云计算部门。