在最近举办的 Connect(); 大会上,微软发布了一个名为IoT Edge 的新版IoT 网关软件开发包(SDK),该技术可为物联网场景提供边缘计算能力。
作为设备消息处理和发布工作的一部分,IoT Edge 可通过“模块”提供执行单元,借此对现有SDK 进行扩展,使得这一处理过程支持容器的运行,并可同时兼容适用于Docker 的Linux 和Windows 容器。
图片来源: https://docs.microsoft.com/en-us/azure/iot-edge/how-iot-edge-works
IoT Edge 为原有 SDK 新增了下列功能:
AI Toolkit 包含一系列脚本、代码和教程,可以帮助用户理解如何在边缘位置应用机器学习能力。Azure 流分析可供用户使用与云端解决方案完全相同的 SQL 语言,而 Azure 函数可帮助开发者将 Azure 函数开发流程不加改动,直接以容器的方式部署到 IoT Edge。通过让每个模块的开发流程与云端版本保持兼容,借此实现代码和解决方案的重用。
用户可以通过多种语言创建自定义的 IoT Edge 模块,目前可支持 C#、C 和 Python,但随后将支持更多语言,这一过程中可通过 Visual Studio Code 开发、调试和部署代码,并通过容器部署到边缘位置。
在设备方面,这个 IoT 解决方案可访问设备孪生(Device twin), 即 Amazon 在 AWS IoT Core 中所谓的设备影子(Device shadow),其中存储了设备的最新配置信息。在 IoT Edge 中,微软通过模块孪生对这一概念进行了扩展,借此在边缘设备上的处理流程中提供与云端模块相同样式的配置。通过这种方式即可在常规生命周期管理过程中有需要的时候更新并重新配置网边缘设备或网关。
IoT Edge 的配置和容器可通过 Microsoft Azure IoT 中心部署,并可沿用相同的安全流程。
很多物联网场景可通过边缘计算获益,例如可通过图像处理能力检测生产过程中的瑕疵,可预先将传感器数据汇总在一起随后发送到云端,或通过机器学习算法在边缘位置获得智能处理能力。
对于延迟或带宽有较高要求的场合,或在无法提供可靠互联网连接的情况下直接在本地处理并提供警报和预警时,这一能力尤为实用。
之前的内部预览版 IoT Edge 已经被很多客户采用。在此次发布过程中,Schneider Electric 公司分析应用程序架构师 Matt Boujonnier 说:
Azure IoT Edge 可以帮助我们以更简单的方式打包并部署机器学习应用程序。以前机器学习功能只能在云端运行,因此很多物联网场景根本无法使用,因为有时候我们需要在尽可能接近事件来源的位置运行应用程序。现在我们可以根据需要,灵活地在云端或边缘位置运行。
IoT Edge 支持在 x64 或 ARM 架构的硬件上运行,借此微软也具备了与诸如 AWS Greengrass 、 IBM Watson Edge Analytics 以及 SAP Leonardo IoT Edge 类似的边缘计算解决方案。
评论