本文来自微信公众号“人工智能与物联网”,作者/chris han。
如果您正在开发物联网设备,您很可能希望它进行一些有价值的计算来解决一个重要问题。也许您想在偏远地区部署传感器,开发可以执行数据分析以监控可再生能源的设备,或者构建可以使用计算机视觉检测疾病早期迹象的医疗设备。
无论您正在构建什么,在某些时候您可能会开始怀疑:您的设备应该在云端还是在边缘执行这些重要的计算?在云计算或边缘计算之间进行选择是一个可能影响设备成本或效率等因素的决定——没有人愿意一开始就做出错误的决定,然后花时间和金钱在以后转向正确的决定。
什么是云计算?
“云”是指可以通过互联网访问的服务器集合——流行的云提供商包括亚马逊网络服务、微软Azure和谷歌云。
这些服务器可以提供按需计算资源来存储和处理数据。您可以将云视为文件和程序的集中位置,您可以将任何设备连接到云以访问它们。Dropbox或Google Drive等服务是众多基于云的服务中的一部分。
云计算描述了在云中执行计算的想法。这些计算可以包括数据分析和可视化、计算机视觉和机器学习。云计算的一个实际例子是,当您的普通智能家居扬声器将您的音频输入发送到云端时,它会被算法解释并发回响应。
什么是边缘计算?
边缘描述了网络的“边缘”。它包括作为云入口/出口点但不属于云本身的设备。例如,数据中心的服务器是云的一部分;连接到该服务器的智能手机和路由器是边缘的一部分。
边缘计算描述了在边缘执行计算的想法。这样,处理就在靠近或在数据收集或操作的位置完成。
边缘计算过程的一个例子是自动驾驶汽车上的对象检测。车辆处理来自其传感器的数据并使用结果来避开障碍物。与您的智能家居扬声器不同,它收集的数据在本地处理,而不是发送到云端。
主要考虑因素
在边缘计算和云计算之间进行选择时,需要考虑几个关键问题。
您的设备网络质量如何?
当您拥有高带宽、低延迟和稳定的互联网连接时,在云上执行计算可以很好地工作,因为您需要在云服务器和设备之间来回发送数据。例如,如果您的设备打算在互联网连接良好的家庭或办公室中使用,则可以相对无缝地完成此来回操作。
在大多数情况下,如果计算是在边缘完成的,它不会受到远程位置的互联网连接不佳或丢失的影响;处理可以继续,因为它不是在云中计算的。您不希望车辆的物体检测在长途旅行中停止工作;这就是自动驾驶汽车经常在边缘执行物体检测等计算的原因之一。
您的数据需要多快和多长时间处理一次?
如果您的客户需要您的设备的响应时间比通过良好的网络连接所能达到的速度更快,例如监控系统的重要组件,边缘计算可能是理想的选择。可以减少或完全消除设备和云之间的传输时间延迟。因此,可以立即处理数据。如果数据处理本身很快,您可以从您的设备实现实时响应。
当设备使用间歇性时,云计算是有益的。智能家居设备又是一个很好的例子,在云中运行计算可以让您在多个客户之间共享相同的计算资源。这通过避免为您的设备配置升级硬件来运行数据处理的需要来降低成本。
您的哪一部分数据对您很重要?
如果您只关心数据处理后的结果,则边缘计算非常有用。您可以只发送需要长期存储在云中的重要内容,这样做可以降低在云中存储和处理数据的成本。例如,如果您正在创建需要报告道路拥堵程度的交通监控设备,您可以在边缘对视频进行预处理——而不是在云中运行数小时的原始视频——并且只发送图像或剪辑当它存在时的流量。
您可能需要保留数据以构建机器学习数据集,或者您计划在未来以其他方式分析原始数据。如果您已经将原始数据发送到云,那么在云中执行计算也可能是理想的选择。
您的设备的功率和尺寸限制是什么?
如果您预计您的设备将在功率和尺寸方面受到限制,因为它具有良好的网络连接,将计算工作发送到云端将让您的设备保持小型和低功耗。例如,Google Home和Amazon Alexa将捕获音频并将其发送到云端进行处理,从而允许在音频上运行复杂的计算,而这些计算在设备本身的小型计算机上是不可能运行的。
您的数据处理模型是您的知识产权吗?
如果您正在制造消费类设备,并且您用于处理数据的方法是您的知识产权(IP)的一部分,您可能需要考虑您计划如何保护它。在没有强大的安全计划的情况下将您的IP放在您的设备上可能会使其容易受到黑客攻击。如果您不具备在边缘保护IP的知识或资源,最好将其留在已经采取安全措施的云上。
在边缘计算和云计算之间进行选择的最终考虑因素
在边缘计算或云计算之间进行选择时,需要考虑很多事情。在复杂的问题中,您可以通过将处理的某些部分留在边缘而将其余部分留在云端,从而从两者的组合中受益。