Share via


IoT 工作負載中的營運卓越

由於 IoT 解決方案需求的複雜性,組織的營運功能對於推動永續性商業價值很重要。 本指南著重于 IoT 裝置和服務的操作層面,這些層面可唯一解決 IoT 解決方案的核心需求。

IoT 工作負載中的營運卓越需要完整可見度和控制解決方案的所有硬體和軟體元件。 設計、開發、布建、監視、支援和維護做法必須是敏捷式且提供業務價值,而不會增加作業風險。

在 IoT 解決方案中,裝置多樣性和規模、不同的網路類型,以及地理位置分散的位置,將雲端和混合式 共同責任模型 從雲端提供者移開。 雲端服務可讓組織更輕鬆地操作 IoT 裝置和網路本身或使用協力廠商,但組織本身擁有這些 IoT 工作負載重要元素的操作責任。

營運卓越可確保您的 IoT 解決方案可以成功:

  • 支援不同的使用者角色。
  • 管理所有裝置生命週期階段。
  • 有效率地調整以符合隨選變更。
  • 使用自動化來管理和監視。
  • 與其他後端系統整合。

評估 IoT 工作負載中的營運卓越

若要透過 Well-Architected 架構營運卓越要素的鏡頭來評估 IoT 工作負載,請在 Azure Well-Architected 檢閱中完成 IoT 工作負載的操作卓越問題。 評估識別 IoT 解決方案的重要營運卓越建議之後,請使用下列內容來協助實作建議。

設計原則

架構卓越五大要素可支援 IoT 工作負載設計方法。 這些要素可作為跨 重要 IoT 設計領域的後續設計決策指南針。 下列設計原則可擴充 Azure Well-Architected Framework - Operational Excellence的品質要素。

設計原則 考量事項
採用連續作業和調整 請確定 IoT 解決方案可以成功管理自動化裝置布建、與其他後端系統整合、支援不同的角色,例如解決方案開發人員、解決方案管理員和操作員,並視需要調整並有效地調整至任何變更,例如要部署的新 IoT 裝置或更高的擷取輸送量。
最佳化建置和發行程序 任何成功的企業 IoT 解決方案都需要策略來建立和更新裝置設定的裝置或車隊。 裝置的設定包括裝置屬性、連線設定、關聯性和韌體。 IoT 操作員需要簡單且可靠的工具,讓他們能夠在裝置存留期內的任何時間點更新裝置或裝置的組態。
了解作業健康狀態 使用 IoT 解決方案記錄、監視和警示系統來判斷解決方案是否如預期般運作,並協助針對整個解決方案生命週期的問題進行疑難排解。
使用自動化和 DevOps IoT 裝置基本上是具有特殊硬體和軟體的小型電腦。 IoT 裝置通常受限於硬體,例如記憶體或計算容量有限。 自動化和 DevOps 是確保 IoT 裝置和閘道的 OS 和軟體已正確上傳並部署,以將作業停機時間降到最低。 自動化和 DevOps 對於監視和管理 IoT 裝置的生命週期至關重要。

IoT 架構層

營運卓越設計原則有助於厘清考慮,以確保 IoT 工作負載符合基礎 IoT 架構層級的需求。

IoT 核心層:裝置和閘道、裝置管理和模型化,以及擷取和通訊,識別 IoT 特定的解決方案。 其他層級和跨領域活動也經常與其他工作負載共用。 DevOps 跨領域活動對於支援營運卓越要素特別重要。

此圖顯示 IoT 架構中的各層和跨領域活動。

裝置和閘道層

此層代表部署在邊緣或內部部署的實體或虛擬裝置與閘道硬體。

IoT 營運卓越的關鍵因素是組織能夠規劃、布建、設定、監視和淘汰 IoT 裝置。 組織必須選取符合商務和技術需求的 IoT 硬體,並定義適當的測試程式,以確保作業可靠性。

使用新硬體的綠地專案通常會在裝置類型、韌體和技術規格中擁有更大的彈性。 您可能需要選取符合地區認證需求或法規的裝置,例如 CE、UL、UL、PCI 或 RMS。

已部署硬體的 Brownfield 專案通常有更多硬體限制。 您可能需要尋找其他類型的硬體,例如通訊協定或身分識別轉譯裝置,或藍牙到 MQ 遙測傳輸 (MQTT) 閘道等連線閘道。

Azure 認證裝置計畫認證會驗證裝置可與Azure IoT 中樞連線,並透過IoT 中樞裝置布建服務安全地布建 (DPS) 。 Azure 認證裝置類別目錄可協助您尋找並選取經認證的合作夥伴硬體。 裝置類別目錄具有搜尋和篩選功能,可用來尋找符合解決方案需求的硬體。

在 Azure IoT 認證的硬體中尋找的重要功能是 Azure 隨插即用和數位對應項定義語言 (DTDL) 相容性。 這些功能可確保裝置與 Azure Digital Twins 等服務緊密整合。 對於 Azure IoT Edge案例,請務必尋找具有IoT Edge受控認證的類別目錄裝置。 此認證可保證裝置可以執行IoT Edge執行時間,並啟用支援邊緣處理和分析工作負載之IoT Edge模組的部署和管理。

裝置元件和備用必須可供使用,才能涵蓋解決方案存留期的維護和支援合約。 請確定專案開始時有及時且安全的設備供應專案,因為此需求稍後可能會很昂貴。 使用受信任的廠商鏈結,並考慮雙重或多個供應專案來源。

擷取和通訊層

組織的網路營運小組通常會與電信業者合作,以處理 IoT 工作負載的通訊網路技術堆疊。 與您的電信業者協調,以設定及操作 IoT 解決方案和作業的有線和無線通訊網路元件。

容量調整

設定 IoT 雲端解決方案的擷取和其他後端層,以能夠調整以處理預期和非預期的容量需求。 如果您的解決方案系結至已連線的產品,您必須處理預期負載中的波動。 負載可能會受到行銷計畫的影響,例如銷售或促銷,或由假日等季節性事件影響。 您應該在事件之前測試負載變化,包括非預期的事件,以確保您的 IoT 解決方案可以調整。

Azure 提供數個選項,以符合業務成長的容量需求。 IoT 解決方案的容量規劃和調整會因您建置IoT Central以IoT 中樞為基礎的解決方案而有所不同。

  • IoT Central 是受控應用程式平臺,可讓您用來快速評估 IoT 案例,並評估業務的機會。 不過,IoT Central 會處理大部分的基礎結構元素,但只會儲存 30 天的資料。 由於大部分的 IoT 解決方案會將資料匯出至其他服務,因此您應該專注于確保其他服務可以在評估解決方案期間處理預期和非預期的容量需求。

  • 透過以IoT 中樞為基礎的解決方案,您必須負責相應增加,以處理內嵌訊息數目的成長,以及相應放大以處理區域需求。 瞭解裝置將傳送至IoT 中樞且持續輸送量的訊息數目,對於選取正確的IoT 中樞層以支援預測的需求非常重要。

    如果您接近IoT 中樞訊息限制,您的系統應該能夠自動相應增加IoT 中樞到下一個容量單位。 IoT 解決方案中的任何後端服務,例如 Azure 串流分析、Azure Cosmos DB 和 Azure Data Explorer必須支援延展性,以確保解決方案資料流程中沒有任何瓶頸。

您也應該規劃邊緣裝置容量需求和需求。 無論您是管理即時作業系統 (RTOS) 型裝置或具有IoT Edge的大型計算裝置,請確定計算和記憶體大小適合您的特定使用案例。

裝置管理和模型化層

實作集中式裝置管理解決方案來管理、監視及操作 IoT 裝置的生命週期,以及管理 IoT 解決方案的整體設定。 請考慮實作整合式 UI,以協助操作小組進行裝置車隊管理。

裝置佈建

定義遠端裝置布建策略,以在現場啟用 IoT 裝置的零觸控、Just-In-Time 布建,而不需要人為介入。

針對 IoT 裝置的遠端布建,Azure IoT 中樞裝置布建服務 (DPS) 可讓您連線及設定遠端裝置以IoT 中樞。 DPS 可在處理站啟用零觸控布建,而不需硬式編碼資訊,並啟用跨多個 IoT 中樞的裝置負載平衡。

雖然 DPS 支援對稱金鑰證明,但在生產環境中,您應該使用 X.509 憑證或 TPM 證明機制。 如果您使用 X.509 憑證,您應該將根憑證或根憑證簽署的中繼憑證部署到 DPS,以允許欄位中的裝置正確驗證服務,並指派給正確的 IoT 中樞。

IoT 解決方案生命週期的一部分包括重新布建欄位中的裝置,或在 IoT 中樞之間移動裝置。 DPS 可讓您設定 重新布建原則 ,以判斷 IoT 裝置提交新的布建要求時的預期行為。 裝置應該程式設計為在重新開機時傳送布建要求,並實作方法來手動觸發隨選布建。 此機制可確保每次裝置啟動時,都會連絡 DPS 以重新導向至適當的 IoT 中樞。

裝置設定和更新管理

建立更新裝置或裝置車隊設定的策略。 裝置的設定包括裝置屬性、韌體、連線設定和關聯性。 IoT 操作員需要簡單且可靠的工具,讓他們在裝置存留期內的任何時間點更新裝置或裝置車隊的設定。

IoT 解決方案的規模和裝置組態的特定使用,會影響設定管理原則的設計。 請務必盡可能自動化此策略,並確保可以有效率地設定和更新設定。

設定管理原則應該支援:

  • 清查已部署在 欄位中的 IoT 裝置和IoT Edge裝置。
  • 透過裝置群組逐步推出更新。
  • 支援測試和復原的復原更新。
  • 現有或新裝置的自動更新。
  • 已更新狀態報表和警示。

支援這些設定管理需求的 Azure 功能包括IoT 中樞自動裝置管理、IoT Edge自動部署、IoT 中樞排程工作,以及適用于IoT 中樞的裝置更新。

  • 若要持續更新現有或新的裝置,以及IoT Edge裝置組態,例如屬性、應用程式特定設定或關聯性,請使用IoT 中樞自動裝置管理或IoT Edge自動部署。 這兩個功能都提供有效率、安全且可靠的方式,可將車隊或特定裝置群組的設定部署自動化。 服務會根據標記持續監視所有新的和現有的目標裝置及其設定,以確保裝置一律具有指定的設定。 這些功能之間的主要差異在於自動裝置管理僅適用于非IoT Edge裝置,而IoT Edge自動部署僅適用于IoT Edge裝置。

  • 若要根據一次性或週期性排程更新現有的裝置或IoT Edge裝置設定,請使用IoT 中樞排程的工作。 這項功能是一種有效率、安全且可靠的方式,可在排程時間為車隊或特定裝置群組提供設定更新。

  • 若要更新現有的裝置或IoT Edge裝置韌體、應用程式或套件更新無線 (OTA) ,請使用裝置更新進行IoT 中樞。 此服務是更新車隊或特定裝置群組的安全、安全且可靠的方式。

最好是擁有 IoT 裝置的手動更新方法。 由於根憑證變更或連線問題,您可能需要手動更新裝置,方法是實際連線到本機電腦或使用藍牙等本機連線通訊協定。

若要深入瞭解裝置管理,請參閱:

管理使用者介面

解決方案操作員和系統管理員需要介面來與 IoT 解決方案互動,例如布建裝置、新增或移除使用者、將命令傳送至 IoT 裝置,或管理裝置更新。

IoT Central 具有內建且便於使用的管理介面,可讓操作員和系統管理員專注于新增產業知識,以及評估解決方案。

當您使用平臺服務來建置企業解決方案時,例如 IoT 中樞 和 Azure Digital Twins,您可以使用IoT 中樞 REST APIAzure Digital Twins REST API中公開的 REST API 來建置自訂管理 UI。

整合層

典型的 IoT 解決方案是由多個元件所組成,例如擷取、路由、資料儲存和資料處理。 請務必記錄並充分瞭解 IoT 解決方案的整個資料流程。 具備測試程式,以確保解決方案的不同部分如預期般運作,並符合組織的技術和操作需求。 實作自動化,以在裝置連線到 IoT 解決方案時大規模識別裝置功能,並輕鬆地與後端服務整合。

設定及測試與其他支援 IoT 應用程式後端和前端服務之 Azure 和協力廠商服務的可靠整合。 成功的 IoT 實作需要整合 IoT 服務,例如IoT 中樞和其他 Azure 和協力廠商服務。

例如,DPS 使用自訂程式碼和Azure Functions支援自訂配置原則,因此請務必確認 Azure 函式允許來自 DPS 和IoT 中樞的流量。 另一個範例是IoT 中樞與後端服務之間的整合,以啟用訊息路由和檔案上傳等功能。 IoT 中樞必須正確地向這些 Azure 服務進行驗證。 您應該使用受控識別來消除手動管理這些認證的需求。

DevOps 層

DevOps 包含角色和使用者管理、計量集合、監視和自動化。

角色和使用者管理

解決方案設計階段初期的重要決策是定義實作和管理解決方案的角色。 判斷負責大規模開發、管理及操作 IoT 解決方案的角色,以及指派給這些角色的使用者。

在理想情況下,解決方案應該信任集中式識別提供者,例如Microsoft Entra識別碼,並且只讓這些角色中的適當使用者執行管理或作業活動,例如建立和布建新裝置、將命令傳送至欄位中的硬體、部署更新和修改使用者權限。

在以IoT 中樞為基礎的解決方案中,您可以使用Microsoft Entra識別碼來驗證對IoT 中樞服務 API 的要求,例如建立裝置身分識別或叫用直接方法。 您可以針對解決方案操作員和系統管理員開發自訂管理 UI,以針對Microsoft Entra識別碼驗證使用者,並代表這些使用者對 IoT 解決方案後端執行 API 要求。

IoT Edge計量收集器

Azure IoT Edge在 IoT Edge 模組 Marketplace 中提供IoT Edge計量收集器現成可用的IoT Edge模組。 將本課程模組新增至IoT Edge部署,以收集計量並將其傳送至 Azure 監視器。 開放原始碼模組程式碼是支援 Linux x64、ARM32 和 ARM64 版本 1809 的多架構 Docker 容器映射。

計量收集器模組可以從可使用 Prometheus 資料模型發出計量的所有模組收集記錄。 雖然 內建計量 預設會啟用廣泛的工作負載可見度,但您也可以使用自訂模組來發出可增強監視解決方案的案例特定計量。

有兩個選項可將計量從計量收集器模組傳送至雲端:

  • 將計量傳送至 Log Analytics。 使用名為 InsightsMetrics 的固定原生資料表,將收集的計量內嵌至特定的 Log Analytics 工作區。

  • 將計量傳送至IoT 中樞。 您可以設定收集器模組,以透過邊緣中樞模組將收集的計量傳送為 UTF-8 編碼的 JSON 裝置到雲端訊息。 此選項會解除鎖定IoT Edge裝置的監視,這些裝置只允許外部存取IoT 中樞端點。

AllowedMetricsBlockedMetrics 設定選項接受計量選取器的空白或逗號分隔清單。 如果計量符合任一清單中的一或多個計量,則會比對清單並包含或排除。

使用 Azure 監視器活頁簿,即可以視覺化方式探索從 IoT Edge 裝置收集的計量。 策劃的活頁簿會使用內嵌至 Log Analytics 工作區中IoT Edge執行時間的內建計量。 這些檢視不需要任何來自工作負載模組的計量檢測。

Azure 入口網站為IoT Edge裝置提供策劃的監視活頁簿作為公用範本。 若要存取活頁簿,請從Azure 入口網站中的 IoT 中樞IoT Central頁面,流覽至 [監視] 區段中的 [活頁簿]頁面。

顯示Azure 入口網站中IoT Edge監視活頁簿的動畫。

監視

使用 IoT 解決方案記錄、監視和警示系統來判斷解決方案是否如預期般運作,以及協助疑難排解和減輕問題。 監視和記錄有助於判斷裝置或系統是否處於錯誤狀況、正確設定、產生精確的資料,以及符合定義的服務等級目標。

IoT 記錄和監視系統可能比標準企業營運應用程式更為複雜。 因為 IoT 解決方案通常會跨越下列範圍,所以會發生複雜度:

  • 與環境互動的實體感應器。
  • 邊緣上的應用程式會執行資料成形和通訊協定轉譯等活動。
  • 基礎結構元件,例如內部部署閘道、防火牆和交換器。
  • 擷取和傳訊服務。
  • 持續性機制。
  • 深入解析和報告應用程式。
  • 在雲端中獨立運作和調整的子系統。

下列簡化的記錄和監視架構顯示一般 IoT 解決方案元件的範例,以及它們如何使用建議的技術。

此圖顯示範例記錄和監視系統。

如果您的重要應用程式和商務程式依賴 Azure 資源,您應該監視這些資源的可用性和效能。 您可以使用 Azure 監視器 來執行下列監視活動:

監視 IoT 中樞

Azure IoT 中樞會收集與其他 Azure 資源相同的監視資料類型,如從 Azure 資源監視資料中所述。 每個 IoT 中樞Azure 入口網站的 [概觀] 頁面包含提供一些使用計量的圖表,例如所使用的訊息數目,以及連線到中樞的裝置數目。 [ 觀] 頁面上的資訊很有用,但只代表 IoT 中樞可用的少量監視資料。

會自動收集其中一些監視資料,並可在您建立 IoT 中樞時立即進行分析。 您可以設定其他類型的資料收集。 若要深入瞭解IoT 中樞建立的計量和記錄,請參閱監視Azure IoT 中樞資料參考

監視更新

如同任何部署或更新,您應該監視部署和裝置的更新狀態。 DevOps 提供一個持續提供全新軟體更新的方法。 IoT 中樞裝置更新會測量已安裝最高版本相容更新的裝置數目,以監視合規性。 如果裝置已安裝最高版本的可用相容更新,則裝置符合規範。

監視設定

如同任何部署或更新,您應該監視和警示裝置設定或更新部署的狀態。 每個 Azure IoT 設定服務都會收集並儲存 Azure 監視器中的記錄和計量。 您可以使用此資料來建立 Azure 監視器警示,以在設定部署或更新建立、完成或失敗時傳送通知。

如果每個 Azure IoT 設定服務所提供的監視資料不足,Azure IoT 中樞服務 API 會提供更細微的檢視。

監視自動化和 DevOps

DPS、IoT 中樞和IoT Edge提供連續計量和狀態更新,這些是監視持續整合/持續部署的重要輸入, (CI/CD) 狀態或自動化腳本輸出。 您可以在 Log Analytics 工作區中收集並分析這些計量,然後定義警示。

若要深入瞭解監視,請參閱:

自動化

IoT 裝置基本上是具有特殊硬體和軟體的小型電腦。 IoT 裝置通常受到硬體限制,例如記憶體或計算容量有限。 自動化和 DevOps 可確保 IoT 裝置和閘道軟體已正確上傳並部署,以將作業停機時間降到最低。 自動化和 DevOps 對於監視和管理開發、部署及操作 IoT 解決方案和裝置的完整生命週期而言非常重要。

成熟 DevOps 實作的主要優點是靈活度,能夠快速感知及回應業務需求的變更。 若要使用自動化搭配 DevOps 進行敏捷式軟體發展、部署、測試、整合和作業,請遵循下列建議:

  • 使用 CI/CD DevOps 原則和程式來提升生產力,並建立順暢的快速開發週期。

  • 在基礎結構即程式碼 (IaC) 環境中部署應用程式軟體變更,以自動化和管理已部署軟體的持續作業。

  • 從開發到部署至 IT 作業,將 IoT 應用程式軟體生命週期自動化。

  • 使用 IoT 中樞 和 IoT Edge 中的 DevOps 工具和程式,將邊緣軟體生命週期自動化。 使用IoT Edge在裝置上部署 IoT 應用程式軟體。

  • 為操作員提供工具,以取得可見度和見解、共同作業、控制和維護可靠的 IoT 解決方案。

  • 採用跨功能小組,持續提供解決方案。 裝置廠商和跨功能解決方案開發人員應該一起合作來開發和部署 IoT 解決方案。

  • 發展商務和部署模型,以針對不同的商務模型和試驗驗證、部署和增強功能建立可能性。

自動化裝置生命週期

連線IoT Edge裝置的生命週期超過部署、中斷和修正及淘汰。 連線的裝置讓組織處於最佳位置,以充分利用商機,並持續在整個系統生命週期中新增累加創新。

在 IoT 解決方案中,安裝在硬體上的軟體程式會定義系統功能。 數千個裝置可能會連線到單一雲端端點,例如IoT 中樞。 組態或軟體中的任何變更都必須分散到所有裝置上。 若要變更系統功能,請更新軟體,而不是進行硬體變更或本機操作。

當您在 IoT 系統中實作自動化和 DevOps 時,請遵循每個裝置生命週期階段的特定自動化和 DevOps 需求。 下表說明支援裝置生命週期三個階段的 Azure IoT 功能。

開始生活

預期結果 程式碼片段可用的平臺功能
非 DPS 裝置註冊 大量裝置更新
裝置佈建 提供零觸控裝置布建所需的 DPS 設定
裝置憑證和權杖管理 使用共用存取簽章 (SAS) 來控制對IoT 中樞的存取
裝置憑證生命週期管理 使用 DPS 和 DigiCert 的 CA 憑證生命週期管理
裝置初始設定 裝置對應項和裝置模組

中年

預期結果 程式碼片段可用的平臺功能
大規模持續裝置組態管理 裝置對應項和裝置模組
適用于IoT Edge模組的 CI/CD 管線 持續整合和持續部署 (CI/CD) 至 Azure IoT Edge 裝置
裝置重新布建 DPS 裝置重新布建
變更或到期的 SAS 金鑰產生 使用共用存取簽章 (SAS) 來控制對IoT 中樞的存取
記錄和裝置診斷 針對IoT 中樞預先設定的 Azure活頁簿
Azure IoT Edge監視診斷 收集及傳輸IoT Edge裝置記錄和計量
OTA 裝置更新 IoT 中樞裝置更新

生命週期結束

預期結果 程式碼片段可用的平臺功能
取消註冊裝置 從 DPS 取消註冊裝置
移除裝置特定設定 裝置對應項和裝置模組
裝置更換 與開始生活相同

下一步