Azure IoT Edge主要是把雲端的智慧擴充到邊緣裝置,這項服務能夠將部份的工作負載移至Edge,如此一來,裝置就能以較少的時間將訊息傳送至雲端,並且更快速地變更狀態。
儘管在物聯網的世界中,邊緣運算(Edge Computing)已被視為重要的一環,但不可否認地,各界對於邊緣運算的定義仍有各自不同的解讀,部份公司從網路的角度切入,有些則是從資料中心的觀點來看待,對於微軟而言,邊緣運算是雲的延伸,而且是被賦予智慧的邊緣。
微軟雲計算事業部物聯網方案經理陳樹榮指出,邊緣(Edge)的概念早已存在多年,微軟並非初次投入這個領域,早在2016年,微軟便與合作夥伴攜手推出物聯網閘道器開發整合套件,在更早之前,微軟在嵌入式系統市場便已累積了許多經驗,「不少企業在物聯網實踐的過程中遇到許多雲端無法解決的挑戰,這也是促使微軟決定推展Azure IoT Edge平台的原因之一;想要把雲端的能力發揮到最好,雲端必須與邊緣進行配對、互補,有些服務由雲端提供,而有些分析、處理則直接在邊緣解決。」
|
▲ Azure IoT Edge主要是把雲端的智慧擴充到邊緣裝置,但是想要連接、監控並且管理成千上百個IoT裝置或資產時,就必須仰賴Azure IoT Hub。資料可以透過IoT Hub傳送至Azure雲端平台上,而IoT裝置的功能設定和管理也可以透過IoT Hub來完成。(資料來源:微軟) |
現今處於技術公開預覽階段的Azure IoT Edge平台,主要是由三個元件組成,一是IoT Edge模組(Module),以容器的形式提供了包含AI工具包、串流分析(Stream Analytics)、機器學習以及函式庫等等,除了Azure服務之外,也能搭配第三方服務或是企業自行撰寫的程式。第二個元件是IoT Edge Runtime,主要是用於確保IoT Edge模組的執行,並且把模組的健康情況回報到雲端,以進行遠端監視。第三個元件則是以雲端為基礎的UI介面,讓企業可以在遠端監視以及管理IoT Edge裝置。
「目前在邊緣運算市場上,企業在IoT Edge領域中確實有多種選擇,然而微軟一直強調的是相同的開發環境,由於許多解決方案只支援Python語言,當這些編寫好的模型要套用到IoT Edge裝置時,因為使用的程式語言不同,就必須再重新編寫一次,就等於要維護兩套不同的系統與開發語言,非常麻煩。」他提到,微軟提供SDK支援多種作業系統,例如Linux、Windows等作業系統,而且支援多種程式設計語言,包含C、Node.js、Java、Microsoft .NET以及Python等等,讓企業可以在熟悉的工具和語言中輕鬆地進行IoT開發,而且還可以將這些資訊派發到各種不同的裝置。
陳樹榮認為,並非所有的應用情境都需要使用到邊緣運算,如果遇到腹地很廣、大量的資料量或是無法接受傳輸延遲等情況下才要考慮,否則一般的端對雲的架構就足以因應所需。