您可以藉由將 Azure 平臺即服務 (PaaS) 元件組合為本文概述,以建立自定義 IoT 解決方案。 本文和此圖表說明IoT解決方案常用的 Azure 元件和服務,但沒有任何單一解決方案會使用這些元件。
架構
工作流程
下列工作流程對應至上圖:
- 通常會產生數據的裝置。
- 您針對數據形成見解。
- 您根據深入解析採取的動作 。
例如,馬達會傳送溫度數據。 您可以使用此數據來評估馬達是否如預期般執行。 您可以使用有關馬達效能的深入解析來排定其維護排程的優先順序。
裝置
Azure IoT 支援大量的裝置,從執行 Azure Sphere 的微控制器到 MXCHIP 和 Raspberry Pi 等開發人員面板。 Azure IoT 也支援能夠執行自定義程式碼的智慧伺服器閘道。 裝置可能會透過 Azure IoT Edge 等服務執行一些本機處理,或直接連線到 Azure,以便將資料傳送至 IoT 解決方案並從 IoT 解決方案接收數據。
當裝置連線到雲端時,有數個服務可協助擷取數據。 Azure IoT 中樞 是雲端閘道服務,可安全地連線和管理裝置。 Azure IoT 中樞 裝置布建服務可讓您以零接觸的 Just-In-Time 布建,以安全且可調整的方式註冊大量裝置。 Azure Digital Twins 可啟用真實世界系統的虛擬模型。
深入解析
裝置連線到雲端之後,您可以處理和探索其數據,以取得其環境的自定義見解。 概括而言,有三種方式可以處理數據:經常性路徑、暖路徑和冷路徑。 路徑在延遲和數據存取的需求上有所不同。
- 經常 性路徑 會在數據送達時,以近乎即時的方式分析數據。 經常性路徑遙測必須以低延遲處理。 經常性存取路徑通常會使用數據流處理引擎。 請考慮使用 Azure 串流分析或 Azure HDInsight 等服務。 輸出可能會觸發警示,或寫入可使用分析工具查詢的結構化格式。
- 暖路徑會分析可以容納較長延遲的數據,以進行更詳細的處理。 請考慮 使用 Azure 數據總 管來儲存和分析大量數據。
- 冷路徑會以較長的間隔執行批處理,例如每小時或每日。 冷路徑通常會在大量數據上運作,這些數據可以儲存在 Azure Data Lake Storage 中。 結果不需要和作用中或暖路徑中的時間一樣及時。 請考慮使用 Azure 機器學習 或 Azure Databricks 來分析冷數據。
動作
您可以使用您收集資料的深入解析來管理及控制環境。 商務整合動作可能包括:
- 儲存資訊訊息
- 引發警示
- 傳送電子郵件或簡訊
- 與商務應用程式整合,例如客戶關係管理 (CRM) 和企業資源規劃 (ERP) 軟體解決方案
您可以使用下列服務進行管理和業務整合:
- Power BI 會連線至、模型及可視化您的數據。 您可以使用Power BI來共同作業數據,並使用人工智慧來做出數據驅動決策。
- Azure 地圖服務 使用地理空間 API、SDK 和服務,例如搜尋、地圖、路由、追蹤和流量,來建立位置感知 Web 和行動應用程式。
- Azure AI 搜尋 服務可透過傳統和產生的 AI 搜尋應用程式中的使用者擁有內容,大規模提供安全的資訊擷取。 AI 搜尋具有索引編製、AI 擴充和查詢功能。
- Azure API 管理 提供單一位置來管理所有 API。
- Azure App 服務 部署與組織一起調整的 Web 應用程式。
- Azure Mobile Apps 會建置適用於 iOS、Android、Windows 或 macOS 的跨平臺和原生應用程式。
- Dynamics 365 結合雲端中的CRM和 ERP 軟體解決方案。
- Microsoft Power Automate 是一項軟體即服務(Saas)供應專案,可將跨應用程式和其他 SaaS 服務的工作流程自動化。
- Azure Logic Apps 會建立並自動化工作流程,以整合您的應用程式、數據、服務和系統。
Azure 也提供數個服務來協助您監視整個IoT解決方案,並保護其安全。 診斷服務包括 Azure 監視器。 適用於IoT的 Microsoft Entra ID 和 Microsoft Defender 等安全性服務可協助您控制、檢視及管理安全性設定和威脅偵測和回應。
元件
- API 管理
- Azure AI 搜尋服務
- Azure App Service
- Azure 資料總管
- Azure Data Lake
- Azure Databricks
- Azure Digital Twins
- Azure 事件中樞
- Azure Functions
- Azure HDInsight
- Azure IoT Edge
- Azure IoT 中樞裝置佈建服務
- Azure IoT 中樞
- Azure Logic 應用程式
- Azure Machine Learning
- Azure 地圖服務
- Azure 行動裝置應用程式
- Azure 監視器
- Azure Sphere
- Azure 串流分析
- Dynamics 365
- 適用於 IoT 的 Microsoft Defender (部分機器翻譯)
- Microsoft Entra ID
- Microsoft Power Automate
- Power BI
考量
這些考量能實作 Azure Well-Architected Framework 的要素,其為一組指導原則,可以用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。
管理能力
您可以使用 Azure Digital Twins 來控制和監視連線的環境。 數字對應項是真實世界環境的虛擬模型,由來自商務系統和IoT裝置的數據驅動。 企業和組織使用數字對應項來啟用見解和動作。 開發人員和架構設計人員會使用數位對應項解決方案來協助實作智慧型手機的環境,例如:
- 製造中的預測性維護。
- 供應鏈可見度。
- 適用於即時清查的智慧貨架。
- 聯網家庭和智慧建築。
可靠性
可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性的設計檢閱檢查清單。
復原IoT解決方案的重要考慮領域是商務持續性和災害復原。 設計高可用性 (HA) 和災害復原 (DR) 可協助您定義並達成解決方案所需的運行時間目標。
不同的 Azure 服務提供不同的備援和故障轉移選項,以協助您達成最適合您商務目標的運行時間目標。 若要將其中任何 HA/DR 替代方案納入您的 IoT 解決方案中,必須先謹慎評估下列事項的取捨:
- 您需要的復原層級。
- 實作和維護複雜度。
- 銷售的商品成本(COGS)影響。
您可以在每個 Azure IoT 服務的檔案中找到服務特定的效能資訊。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱 安全性的設計檢閱檢查清單。
零信任安全性模型
零信任是一種安全性模型,假設會發生缺口,並且將每個存取嘗試視為源自開放網路一樣。 零信任假設您已實作基本概念,例如保護身分識別和限制存取。
基本安全性實作包括明確驗證使用者、瞭解其裝置,以及能夠使用即時風險偵測進行動態存取決策。 執行基本概念之後,您可以將焦點轉移到IoT解決方案的下列零信任需求:
- 使用強式身分識別來驗證裝置。
- 使用最低特殊許可權存取來減輕爆炸半徑。
- 監視裝置健康情況,以閘道存取或標示裝置以進行補救。
- 執行更新以保持裝置狀況良好。
- 監視以偵測和回應新興的威脅。
可信任且安全的通訊
從裝置接收並傳送到裝置的所有信息都必須值得信任。 除非裝置可以支援下列密碼編譯功能,否則它應該受限於局域網路,而且所有網路間通訊都應該通過現場網關:
- 具有安全、公開分析且廣泛實作對稱密鑰加密演算法的數據加密和數字簽名。
- 支援 TCP 或其他數據流式通訊路徑的 TLS 1.2,或數據報型通訊路徑的 DTLS 1.2。 支援 X.509 憑證處理是選擇性的。 您可以將 X.509 憑證處理取代為 TLS 的計算效率更高且具有連線效率的預先共用密鑰模式,您可以透過對 AES 和 SHA-2 演算法的支援來實作。
- 可更新的金鑰存放區和每個裝置金鑰。 每個裝置都必須有唯一的密鑰數據或令牌,才能將它識別到系統。 裝置應該安全地將金鑰儲存在裝置上(例如,使用安全金鑰存放區)。 裝置應該能夠定期更新密鑰或令牌,或在系統外泄等緊急情況下回應。
- 裝置上的韌體和應用程式軟體必須允許更新,才能修復探索到的安全性弱點。
許多裝置太受限,無法支持這些需求。 在此情況下,您應該使用欄位閘道。 裝置會透過局域網路安全地連線到現場閘道,而閘道可安全地與雲端通訊。
實體竄改
建議的裝置設計包含防止實體操作嘗試的功能,以協助確保整體系統的安全性、完整性和可信度。
例如:
- 選擇微控制器/微控制器或輔助硬體,以提供安全儲存和使用密碼編譯密鑰材料,例如受信任的平台模組 (TPM) 整合。
- 錨定安全開機載入器和 TPM 中的安全軟體載入。
- 使用感測器來偵測入侵嘗試,並嘗試操作裝置環境,以及裝置的警示和潛在的「數位自我破壞」。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化的設計檢閱檢查清單。
一般而言,使用 Azure 定價計算機 來預估成本。 Microsoft Azure Well-Architected Framework 中的成本一節會說明其他考慮。
效能效益
效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱 效能效率的設計檢閱檢查清單。
建置您的解決方案,以全域規模部署。 為了獲得最佳延展性,請使用可獨立調整的離散服務來建置 IoT 應用程式。 本節說明數個 Azure 服務的延展性考慮。
IoT 中樞
每個 IoT 中樞都會在特定定價和調整層中布建特定數量的單位。 階層和單位數目會決定裝置可以傳送至中樞的訊息每日配額上限。 如需詳細資訊,請參閱 IoT 中樞配額和節流。 您可以相應增加中樞,而不中斷現有的作業。
針對 IoT 中樞,請考慮下列縮放比例:
- 訊息的每日配額上限為 IoT 中樞。
- IoT 中樞 實例中已連線裝置的配額。
- 擷取輸送量:IoT 中樞 擷取訊息的速度。
- 處理輸送量:處理傳入訊息的速度。
IoT 中樞 會根據裝置標識碼自動分割裝置訊息。 來自特定裝置的所有訊息一律都會抵達相同的分割區,但單一分割區會有來自多個裝置的訊息。 因此,平行化的單位是分割區標識符。
Azure Functions
當 Azure Functions 從 Azure 事件中樞 端點讀取時,每個事件中樞分割的函式實例數目上限。 最大處理速率取決於一個函式實例處理單一分割區的事件的速度。 函式應分批處理訊息。
串流分析
串流分析作業在串流分析管線的所有點平行,從輸入到查詢到輸出時,最適合調整規模。 完全平行作業可讓串流分析跨多個計算節點分割工作。 如需詳細資訊,請參閱利用 Azure 串流分析中的查詢平行化作業。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主體作者:
- Matthew Cosner |主要軟體工程管理員
其他參與者:
- Armando 布蘭科·加西亞 |資深項目經理
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。