Solution Accelerator für die Remoteüberwachung: Übersicht

Der Solution Accelerator für Remoteüberwachung implementiert eine End-to-End-Überwachungslösung für mehrere Computer an Remotestandorten. In der Lösung sind wichtige Azure-Dienste kombiniert, um eine generische Implementierung des Geschäftsszenarios zu erzielen. Sie können sie als Ausgangspunkt für Ihre Implementierung verwenden und anpassen, um Ihre eigenen speziellen Geschäftsanforderungen zu erfüllen.

In diesem Artikel werden einige wichtige Elemente der Remoteüberwachungslösung beschrieben, um die Funktionsweise zu verdeutlichen. Dieses Wissen ist für folgende Zwecke hilfreich:

  • Behandeln von Problemen in der Lösung
  • Planen der Lösungsanpassung zur Erfüllung besonderer Anforderungen
  • Entwerfen einer eigenen IoT-Lösung mit Verwendung von Azure-Diensten

Der Code für den Solution Accelerator für die Remoteüberwachung ist auf GitHub verfügbar:

Logische Architektur

Im folgenden Diagramm sind die logischen Komponenten des Solution Accelerators für die Remoteüberwachung zusammen mit der IoT-Architektur dargestellt:

Logische Architektur

Gründe für die Verwendung von Microservices

Die Cloudarchitektur wurde ständig weiterentwickelt, seit Microsoft die ersten Solution Accelerators veröffentlicht hat. Microservices haben sich als bewährte Methode herausgestellt, um Skalierbarkeit und Flexibilität zu erzielen, ohne die Entwicklungsgeschwindigkeit zu opfern. Mehrere Microsoft-Dienste nutzen dieses Architekturmuster intern mit hervorragenden Ergebnissen bei der Zuverlässigkeit und Skalierbarkeit. Mit den aktualisierten Solution Accelerators werden diese Erkenntnisse in die Praxis umgesetzt, damit auch Sie davon profitieren können.

Tipp

Weitere Informationen zu Microservicearchitekturen finden Sie unter .NET Application Architecture (.NET-Anwendungsarchitektur) und Microservices: An application revolution powered by the cloud (Microservices: Eine cloudbasierte Anwendungsrevolution).

Gerätekonnektivität

Die Lösung enthält die folgenden Komponenten im Teil zur Gerätekonnektivität der logischen Architektur:

Verwenden realer Geräte

Sie können für reale Geräte eine Verbindung mit der Lösung herstellen. Sie können das Verhalten Ihrer simulierten Geräte implementieren, indem Sie die Azure IoT-Geräte-SDKs verwenden.

Sie können reale Geräte über das Dashboard im Lösungsportal bereitstellen.

Microservice „Gerätesimulation“

Die Lösung enthält den Microservice „Gerätesimulation“, mit dem Sie einen Pool mit simulierten Geräten über das Lösungsportal verwalten können, um den End-to-End-Datenfluss der Lösung zu testen. Die simulierten Geräte ermöglichen Folgendes:

  • Generieren der Gerät-zu-Cloud-Telemetrie (D2C)
  • Reagieren auf Cloud-zu-Gerät-Methodenaufrufe (C2D) aus IoT Hub

Der Microservice stellt einen RESTful-Endpunkt für Sie bereit, über den Sie Simulationen erstellen, starten und beenden können. Jede Simulation umfasst einen Satz mit virtuellen Geräten unterschiedlichen Typs, die Telemetriedaten senden und auf Methodenaufrufe reagieren.

Sie können simulierte Geräte über das Dashboard im Lösungsportal bereitstellen.

IoT Hub

Der IoT Hub erfasst Telemetriedaten, die von den realen und simulierten Geräten in die Cloud gesendet wurden. Der IoT Hub stellt die Telemetriedaten den Diensten im IoT-Lösungs-Back-End für die Verarbeitung zur Verfügung.

Zu den Aufgaben des IoT Hub in der Lösung zählen auch:

  • Verwalten einer Identitätsregistrierung zum Speichern der IDs und Authentifizierungsschlüssel aller Geräte, die Verbindungen zum Portal herstellen dürfen.
  • Aufrufen von Methoden auf Ihren Geräten im Namen des Solution Accelerators.
  • Verwalte von Gerätezwillingen für alle registrierten Geräte. Ein Gerätezwilling speichert die von einem Gerät gemeldeten Eigenschaftswerte. Ein Gerätezwilling speichert außerdem die im Lösungsportal gespeicherten gewünschten Eigenschaften, damit das Gerät diese beim nächsten Verbinden abrufen kann.
  • Planen von Aufträgen, um Eigenschaften für mehrere Geräte festzulegen oder Methoden auf mehreren Geräte aufzurufen.

Datenverarbeitung und Analysen

Die Lösung enthält die folgenden Komponenten im Teil zur Datenverarbeitung und zu Analysen der logischen Architektur:

Microservice „IoT Hub-Manager“

Die Lösung enthält den Microservice „IoT Hub-Manager“ zum Verarbeiten von Interaktionen mit Ihrem IoT Hub, z.B.:

  • Erstellen und Verwalten von IoT-Geräten
  • Verwalten von Gerätezwillingen
  • Aufrufen von Methoden auf Geräten
  • Verwalten von IoT-Anmeldeinformationen

Dieser Dienst führt auch IoT Hub-Abfragen durch, um Geräte abzurufen, die zu benutzerdefinierten Gruppen gehören.

Der Microservice stellt einen RESTful-Endpunkt zum Verwalten von Geräten und Gerätezwillingen, Aufrufen von Methoden und Ausführen von IoT Hub-Abfragen bereit.

Microservice „Gerätetelemetrie“

Der Microservice „Gerätetelemetrie“ stellt einen RESTful-Endpunkt für den Lesezugriff auf Gerätetelemetrie bereit, die in Time Series Insights gespeichert ist. Der RESTful-Endpunkt ermöglicht außerdem CRUD-Vorgänge an Regeln und Lese-/Schreibzugriff für Alarmdefinitionen aus dem Speicher.

Microservice „Speicheradapter“

Der Microservice „Speicheradapter“ verwaltet Schlüssel-Wert-Paare, die die Speicherdienstsemantik abstrahiert und eine einfache Schnittstelle zum Speichern von Daten von beliebigem Format mithilfe von Azure Cosmos DB enthält.

Werte werden in Auflistungen organisiert. Sie können an einzelnen Werten arbeiten oder ganze Sammlungen abrufen. Komplexe Datenstrukturen werden von den Clients serialisiert und als einfache Textnutzlast verwaltet.

Der Dienst stellt einen RESTful-Endpunkt für CRUD-Vorgänge bei Schlüssel-Wert-Paaren bereit. Werte

Azure Cosmos DB

Solution Accelerator-Bereitstellungen verwenden Azure Cosmos DB zum Speichern von Regeln, Warnungen, Konfigurationseinstellungen und allem anderen Cold Storage.

Microservice „Azure Stream Analytics-Manager“

Der Microservice „Azure Stream Analytics-Manager“ verwaltet ASA-Aufträge (Azure Stream Analytics) und legt unter anderem deren Konfiguration fest, startet und stoppt sie und überwacht deren Status.

Der ASA-Auftrag wird von zwei Verweisdatasets unterstützt. Ein Dataset definiert Regeln, und das andere definiert Gerätegruppen. Die Verweisdaten für Regeln werden aus den vom Microservice „Gerätetelemetrie“ verwalteten Informationen generiert. Der Microservice „Azure Stream Analytics-Manager“ transformiert Telemetrieregeln in Datenstrom-Verarbeitungslogik.

Anhand der Verweisdaten für Gerätegruppen wird identifiziert, welche Gruppe von Regeln für eine eingehende Telemetriemeldung gilt. Die Gerätegruppen werden vom Microservice „Konfiguration“ verwaltet, und sie verwenden Azure IoT Hub-Gerätezwillingsabfragen.

Die ASA-Aufträge übermitteln die Telemetriedaten von den verbundenen Geräten an Time Series Insights zur Speicherung und Analyse.

Azure Stream Analytics

Azure Stream Analytics ist ein Ereignisverarbeitungsmodul, mit dem Sie große Datenmengen untersuchen können, die von Geräten gestreamt werden.

Azure Time Series Insights

Azure Time Series Insights speichert die Telemetriedaten aus den mit dem Solution Accelerator verbundenen Geräten. Es ermöglicht auch das Visualisieren und Abfragen von Gerätetelemetrie in der Projektmappe-Webbenutzeroberfläche.

Microservice „Konfiguration“

Der Microservice „Konfiguration“ stellt einen RESTful-Endpunkt für CRUD-Vorgänge an Gerätegruppen, Lösungseinstellungen und Benutzereinstellungen im Solution Accelerator bereit. Er arbeitet mit dem Microservice „Speicheradapter“ zusammen, um die Konfigurationsdaten beizubehalten.

Microservice „Authentifizierung und Autorisierung“

Der Microservice „Authentifizierung und Autorisierung“ verwaltet die Benutzer, die berechtigt sind, auf den Solution Accelerator zuzugreifen. Für die Benutzerverwaltung kann jeder beliebige Identitätsanbieter verwendet werden, der OpenID Connect unterstützt.

Azure Active Directory

Solution Accelerator-Bereitstellungen verwenden Azure Active Directory als OpenID Connect-Anbieter. Azure Active Directory speichert Benutzerinformationen und stellt Zertifikate zum Überprüfen von JWT-Tokensignaturen bereit.

Präsentation

Die Lösung enthält die folgenden Komponenten im Teil zur Darstellung der logischen Architektur:

Die Webbenutzeroberfläche ist eine React-JavaScript-Anwendung. Für die Anwendung gilt Folgendes:

  • Ausschließliche Verwendung von JavaScript React und vollständige Ausführung im Browser
  • Formatierung per CSS
  • Interaktion mit öffentlichen Microservices über AJAX-Aufrufe

Die Benutzeroberfläche enthält alle Funktionen des Solution Accelerators und interagiert mit anderen Microservices, z.B.:

  • Microservice „Authentifizierung und Autorisierung“ zum Schützen von Benutzerdaten.
  • Microservice „IoT Hub-Manager“ zum Auflisten und Verwalten der IoT-Geräte.

Die Benutzeroberfläche integriert den Azure Time Series Insights-Explorer, um das Abfragen und Analysieren von Gerätetelemetrie zu ermöglichen.

Mit dem Microservice „Konfiguration“ kann die Benutzeroberfläche Konfigurationseinstellungen speichern und abrufen.

Nächste Schritte

Wenn Sie den Quellcode und die Entwicklerdokumentation erkunden möchten, können Sie mit einem der beiden GitHub-Repositorys beginnen:

Ausführliche Diagramme für die Lösungsarchitektur:

Weitere konzeptionelle Informationen zum Solution Accelerator für die Remoteüberwachung finden Sie unter Anpassen des Solution Accelerators für die Remoteüberwachung.