在最近舉辦的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類似的邊緣計算解決方案。
閱讀英文原文:Microsoft Announces Public Preview of IoT Edge