Skip to main content

Microsoft describes its IoT Operations as a “Range of modular, scalable, and highly available services” that run on Azure Arc-enabled edge Kubernetes clusters. It includes native integration of other MS services like Event Hub or Fabric, whereby the latter’s been generally available since November 2023 (visit https://www.btelligent.com/blog/microsoft-fabric-ist-ga-migration-vorteile-und-chancen/). Our blog summarizes the new Azure service’s features and deployment.

This is Part I of our blog series on the new Azure IoT Operations (AIO) service. Here, we concentrate on its features, deployment, and benefits over current solutions. Part II delves into typical configuration and integration aspects of Microsoft Fabric.

Features von Azure IoT Operations

Grundsätzlich gliedert sich Azure IoT Operations aus Architektursicht in zwei Elemente: IoT Operations selbst sowie das zugehörige Experience Portal. Ersteres dient als Überbegriff für die enthaltenen containerisierten Services, wie den Azure IoT Data Processor oder den Azure IoT OPC UA Broker. Das Experience Portal hingegen ermöglicht die Verwaltung von Ressourcen sowie Datenpipelines in IoT Operations mittels einer übersichtlichen Weboberfläche. Die offensichtlichste Neuerung von IoT Operations ist der Einsatz von Kubernetes als Orchestrierungssystem für die einzelnen neuen Dienste. Mittels Azure Arc wird dabei die Verwaltung der Cluster in der Cloud sowie die Integration weiterer Azure Services ermöglicht. Die Vorteile der Fokussierung auf Kubernetes liegen dabei auf der Hand:

  • Skalierbarkeit und hohe Verfügbarkeit der genutzten Services
  • geringere Einstiegshürde dank plattformunabhängiger und leistungsstarker Edge-Infrastruktur
  • Modularisierung der zu verwendenden Services und somit einfachere Anpassung an die gegebenen Anforderungen
  • Verwendung von eigens entwickelten oder bereits öffentlich bereitgestellten Custom Resource Definitions (CRDs)
  • vereinfachte Operationalisierung mithilfe von Custom Locations in Azure und der Möglichkeit zur Verwendung bekannter GitOps-Tools wie Flux oder ArgoCD

Der neue AIO-Service bietet viele Komponenten zur Individualisierung der jeweiligen Lösung an. Wie in der gezeigten Übersicht der mitgelieferten Komponenten lassen sich beispielsweise Daten mithilfe des Data Processors auf dem Edge Cluster vorverarbeiten. Im Gegensatz zum bestehenden IoT Edge ist dies mit der neuen pipelinebasierten Logik deutlich einfacher und benutzerfreundlicher möglich. Zum Vergleich: Beim Einsatz von IoT Edge müssen zu diesem Zweck zunächst entsprechende Edge Modules selbst entwickelt und auf den Edge Devices deployt werden. Mithilfe des IoT Operations Experience Portals hingegen können Datenpipelines in der UI definiert und konfiguriert werden. Selbstverständlich werden auch Konnektoren zu verschiedenen Azure Services, wie unter anderem Event Hubs, ADLS oder Fabric, bereitgestellt. Alternativ oder zusätzlich ist ebenfalls eine Veröffentlichung der Daten mittels des MQTT-Brokers möglich. Zur Orchestrierung der eingesetzten Services wird darüber hinaus der Azure IoT Orchestrator auf dem Cluster deployt. Insgesamt wird somit, insbesondere gegenüber IoT Edge, die Entwicklung von Services in Form von Modulen hin zu containerisierten und portablen Microservices in Kubernetes deutlich. Dies vereinfacht die Entwicklung sowie das Deployment in IoT Operations.

Wie sich IoT Operations in b.telligents Referenzarchitektur für Azure IoT integrieren lässt, zeigt die folgende Abbildung.

Deployment von Azure IoT Operations

Azure IoT Operations lässt sich in verschiedene Netzwerkarchitekturen integrieren. Die beiden am häufigsten verwendeten Architekturen sind:

Layered Networks kommen in der Praxis im Industrial IoT zum Einsatz und werden häufig durch die Purdue Enterprise Reference Architecture (PERA) (siehe https://en.wikipedia.org/wiki/Purdue_Enterprise_Reference_Architecture) abgebildet. Die Einordnung der Edge Layer in die unterschiedlichen Netzwerkebenen ist in der untenstehenden Abbildung dargestellt.

Im Folgenden wird das Deployment von Azure IoT Operations in Single Layer Networks betrachtet. Um die modularen und containerisierten Services in IoT Operations zu deployen, werden zunächst einige Voraussetzungen benötigt:

  • Azure Subscription
  • Service Principal, um die Kommunikation zwischen dem Cluster und den Cloud-Ressourcen zu ermöglichen
  • Edge Device (z. B. Single Node Cluster, 8 Core, 16 GB RAM, siehe Dokumentation)
  • Azure CLI mit der azure-iot-ops-Erweiterung

Im ersten Schritt muss daraufhin ein Kubernetes-Cluster auf dem Edge Device (in diesem Fall K3s) aufgesetzt werden. Wichtig ist dabei, die Verbindung zu Azure mittels Azure Arc herzustellen. Anschließend muss ein Key Vault erstellt werden, der im weiteren Verlauf des Deployments benötigt wird, um Secrets zu verwalten. Somit werden folgende Ressourcen vor dem Deployment in Azure erstellt:

  • Azure Arc (Kubernetes)
  • Key Vault

Danach kann in Azure Arc das Deployment von IoT Operations erfolgen. Dazu müssen zunächst die Subscription und die Resource Group sowie der Cluster-Name im Basic-Tab des Deployment-Prozesses eingetragen werden. Im nachfolgenden Configuration-Tab wird eine simulierte PLC (bzw. SPS) aktiviert und der MQ-Mode auf Auto gestellt. Daraufhin wird im Automation-Tab der zuvor erstellte Key Vault ausgewählt. Dabei wird ein Azure-CLI-Befehl generiert, der auf dem Edge ausgeführt werden muss. Anschließend erfolgt das Deployment, das mithilfe bekannter kubectl-Befehle beobachtet werden kann.

Zu beachten ist, dass die Pods im azure-iot-operations-Namespace deployt werden. Zusätzlich ist das Cluster nun auch im Azure Portal in der verwendeten Resource Group sichtbar.

Fazit

Auch wenn IoT Operations bisher noch in der Preview-Phase und somit nicht für den produktiven Einsatz geeignet ist, zeigt der neue IoT Service bereits viel Potenzial. Nachdem wir in diesem ersten Teil unserer Blogbeitragsreihe das Deployment betrachtet haben, veranschaulicht der zweite Teil die Konfiguration der eingesetzten Services anhand eines Beispiels.

 

 

 

Du hast offene Fragen oder Anmerkungen zu Azure IoT Operations oder bereits eine Idee für Deinen eigenen IoT Use Case? Dann wende Dich gerne jederzeit an uns, um in einem unverbindlichen Austausch oder bei einem Beratungstermin mehr zu erfahren.
 

Melde Dich hier!