Kapitel 1. Die IoT-Landschaft
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wenn du über das Internet der Dinge (IoT) nachdenkst, stellst du dir vielleicht zunächst die unzähligen Geräte vor, die nahtlos in unsere moderne Landschaft eingeflochten sind. Das IoT hat praktisch jeden Bereich unseres Lebens durchdrungen, von der einfachsten Glühbirne bis hin zu monumentalen Systemen in den Konturen intelligenter Städte. Diese Geräte werden im IoT-Bereich treffend als "Dinge" bezeichnet. Um dieses komplexe Geflecht in seiner Gesamtheit zu ergründen, muss man sich nicht nur in die metaphorische 40.000-Fuß-Perspektive eines Flugzeugs begeben. Diese Perspektive offenbart die Geräte und die kunstvolle Symphonie der Teile, die alle harmonisch zusammenarbeiten. Es ist die IoT-Landschaft - ein Panoramablick, der die kollektive Essenz jedes Elements und jeder Orchestrierung erfasst, die diese IoT-Geräte in bemerkenswerte Bewegung versetzen. Es gibt jedem einzelnen Teil eine Taxonomie, die ihm seinen Zweck und seinen Platz innerhalb des großen Ganzen zuweist. In diesem Buch führe ich dich durch die Azure-spezifische IoT-Landschaft, die eine Vielzahl von Microsoft-verwalteten Cloud-Diensten, Kanten-Komponenten und Software Development Kits (SDKs) zur Auswahl bietet. Wirf also ohne Umschweife einen ersten Blick auf die Azure IoT-Landschaft, die in Abbildung 1-1 dargestellt ist.
Dieses Buch erforscht jede Facette dieser Landschaft und untersucht das Zusammenspiel der einzelnen Teile im Rahmen einer umfassenden IoT-Lösung. Stell dir das als eine Reise vor - eine Expedition, die auf der linken Seite (mit Geräten) beginnt und sich im Allgemeinen nach rechts bewegt. Auf diesem Weg überquerst du wichtige Knotenpunkte wie Kanten-Computing, IoT-Management und Messaging, Datenpfade, Datenpersistenz, Datendienste und die weitreichende Sphäre der Datenkonsumenten. Um dich auf diese Reise einzustimmen, geben wir dir zunächst einen Überblick über die einzelnen Stationen. Dieser strategische Auftakt wird dir den Weg weisen, angefangen bei den Geräten.
Aus Azurblau
Der erste Abschnitt der Azure IoT-Landschaft sind seltsamerweise die Dinge, die außerhalb von Azure existieren: Geräte und Kanten-Computing.
IoT-Geräte
Es ist schwer, ein IoT Gerät genau zu definieren, denn es ist nicht so einfach, wie man vielleicht denkt. Eine Lehrbuchdefinition für das "Internet der Dinge" wäre ein Netzwerk von miteinander verbundenen Geräten, die ohne direktes menschliches Eingreifen Daten sammeln, übertragen und empfangen können. Sicher, einige Dinge sind ziemlich offensichtlich. Eine intelligente Glühbirne oder ein vernetztes Haushaltsgerät ist ein IoT-Gerät, aber bei Dingen wie Fernsehern oder Mediaplayern ist die Abgrenzung etwas unscharf. Bei manchen Geräten kann das Gegenteil der Fall sein. Sie können speziell für die Zusammenarbeit mit Menschen entwickelt worden sein, wie z. B. Bagger oder intelligente Zahnbürsten. Beachte, was ich gesagt habe: Sie sind zweckbestimmt, wie z. B. das Bewegen von Erde oder das Putzen deiner Zähne. Das Gerät hat einen speziellen Zweck und nicht einen allgemeinen wie ein Laptop oder ein Smartphone.
IoT-Geräte haben jedoch im Allgemeinen einige gemeinsame Merkmale. Bei Geräten gibt es fast immer Konnektivität, damit das Gerät mit dem Internet kommunizieren kann, Sensoren zum Sammeln von Daten, Datenverarbeitung auf dem Gerät, um die gesammelten Daten zu verarbeiten, und Aktoren, um auf Befehle zu reagieren. Die Kombination dieser Elemente kann je nach Kontext ein komplexes oder einfaches Gerät ergeben.
Da es eine riesige Vielfalt an Geräten gibt, von Glühbirnen über Verkehrskameras bis hin zu Bulldozern und Herzmonitoren, ist es unmöglich, sie alle zu behandeln. Es ist sogar entmutigend, zu versuchen, etwas zu verallgemeinern, weil es unweigerlich Ausnahmen gibt. In Kapitel 2 führe ich dich durch die Azure-zentrierten Hardwareangebote von Microsoft und wir untersuchen, wie sie für verschiedene Zwecke zusammenarbeiten. Außerdem zeige ich dir die verschiedenen Softwareangebote für eingeschränkte Geräte (auch bekannt als ressourcenbeschränkte oder Kanten-Geräte, IoT-Geräte mit begrenzter Rechenleistung, Speicher, Energie und Kommunikationsfähigkeiten) und nicht eingeschränkte Geräte (mit der Cloud verbundene oder Gateway-Geräte, die im Vergleich zu eingeschränkten Geräten über eine höhere Rechenleistung, Speicher und Kommunikationsfähigkeiten verfügen). Diese Geräte sind darauf ausgelegt, bestimmte Aufgaben mit minimalen Ressourcen auszuführen und werden oft in abgelegenen oder schwierigen Umgebungen eingesetzt, in denen eine häufige Wartung oder das Auffüllen von Ressourcen schwierig sein kann.
In Kapitel 3 zeige ich dir, wie du mit der Erforschung von IoT-Geräten beginnen kannst, ohne gleich in Hardware investieren zu müssen.
Die Geräte verbinden sich letztendlich mit dem Internet . In einigen Fällen können sie das direkt tun, in anderen Fällen können sie einen Proxy verwenden, der die Geräte bei ihrer Arbeit unterstützt. Ein solcher Proxy wäre Teil des Kanten-Computings.
Edge Computing
Edge Computing ist ein dezentraler Ansatz zur Datenverarbeitung, bei dem die Berechnungen näher an der Datenquelle stattfinden, wodurch die Latenzzeit verringert und die Entscheidungsfindung in Echtzeit verbessert wird. Dabei werden die Daten auf oder in der Nähe der Geräte oder lokalen Server verarbeitet, anstatt alle Daten an einen zentralen Cloud-Server zu senden.
Edge Computing ist die Erweiterung der Cloud in ein Rechenzentrum, anstatt die Cloud als Erweiterung des Rechenzentrums zu betrachten, was eher einem Hybridmodell entspricht. Es ist besonders wertvoll für Anwendungen, die schnelle Reaktionen, geringe Latenzzeiten, eine effiziente Nutzung der Netzwerkbandbreite sowie Offline- und intermittierende Connected-Computing-Szenarien erfordern. Edge Computing eignet sich für Szenarien, in denen eine sofortige Datenverarbeitung unerlässlich ist, z. B. in der industriellen Automatisierung, der Fernüberwachung und in Smart Cities. Das Internet der Dinge (IoT) ist daher ein wichtiges Thema im Bereich des Edge Computing.
Zum Zeitpunkt der Erstellung dieses Buches ist Edge Computing ein heißes Thema, und bei Microsoft gibt es zahlreiche Aktivitäten, um Azure näher an die Kanten zu bringen. In diesem Zusammenhang gibt es zwei große Initiativen von Microsoft, die viele verschiedene Ressourcen umfassen. Speziell für das IoT bietet Azure Azure IoT Edge Runtime. Dabei handelt es sich um eine leichtgewichtige Container-Orchestrierungsplattform für den Aufbau modularer IoT-Geräte und Edge-Appliances. Darüber hinaus bietet Azure mit Azure Arc ein Allzweck-Tool zur Erweiterung der Azure-Kontrollebene auf Umgebungen außerhalb von Azure. Eine der größten Fähigkeiten ist die Verwaltung von Kubernetes-Clustern. Nutzer/innen können mit Arc Dienste wie Stream Processing, SQL Server, maschinelles Lernen und Messaging an der Kante bereitstellen. Da Arc Kubernetes nutzt, verwenden sowohl Azure Arc als auch Azure IoT Edge Docker-Container, das kannst du also nicht ignorieren! Container sind auf jeden Fall ein Teil dieser Lösungen. Kapitel 6 befasst sich ausführlich mit den Kanten-Optionen für Azure.
Diese verschiedenen Technologien machen Edge Computing zu einem der spannendsten Teile von IoT-Lösungen. Auch wenn du nicht vorhast, Kanten zu nutzen, kannst du einige Dinge des Edge Computing in deine Geräte integrieren. Unabhängig davon, wie du deine Geräte mit dem Internet verbindest, brauchen sie einen Ort, um sie online zu verwalten. Das ist der nächste Teil der IoT-Landschaft.
Azurblau
Jetzt kommen wir zu der IoT-Landschaft, die in Azure existiert. Hier gibt es IoT-Messaging und -Management, Datenverarbeitung, Datenpersistenz und Datenpräsentation.
IoT Nachrichtenübermittlung und Management
IoT Nachrichtenübermittlung und -verwaltung umfasst eine Vielzahl von miteinander verbundenen Themen. Eine Cloud-Lösung wie Azure IoT Hub kombiniert sie in einem Platform-as-a-Service (PaaS)-Angebot, das du als Solution Builder nutzen kannst. Im Folgenden erfährst du, was Azure IoT Hub und die zugehörigen Dienste für deine Geräte in Bezug auf IoT-Messaging und -Management bieten:
- Geräteregistrierung und -bereitstellung
-
Geräte müssen unter im IoT Hub registriert werden, um eine sichere Kommunikation aufzubauen. Azure Device Provisioning Services (DPS) bietet Mechanismen für die automatische Gerätebereitstellung, damit Geräte sicher dem Netzwerk beitreten können.
- Sichere Kommunikation
-
Geräte verbinden sich mit dem Azure IoT Hub über sichere Kommunikationsprotokolle wie MQTT, AMQP oder HTTPS. Die End-to-End-Sicherheit über das Internet wird durch Geräteauthentifizierung, Autorisierung und Verschlüsselung über eines dieser Kommunikationsprotokolle gewährleistet.
- Gerätezwillinge und gewünschte Eigenschaften
-
Twinning ist eine Möglichkeit, die Einstellungen von Geräten in der Cloud zu verfolgen, ohne jedes Gerät in der Cloud abfragen zu müssen. Ein vom Azure IoT Hub verwalteter "Gerätezwilling" repräsentiert den Zustand und die Metadaten des Geräts. Gerätezwillinge speichern gewünschte Eigenschaften, die von der Cloud-Anwendung eingestellt werden können, und gemeldete Eigenschaften, die Geräte aktualisieren.
- Cloud-to-Device (C2D) Messaging
-
Azure IoT Hub ermöglicht es Cloud-Anwendungen, Befehle oder Nachrichten an einzelne oder Gruppen von Geräten zu senden. Er bietet APIs und Routing-Funktionen für diese Nachrichten. Die Geräte empfangen diese Nachrichten und können entsprechend handeln.
- Device-to-Cloud (D2C) Messaging
-
Geräte können Telemetriedaten, Status-Updates und andere Informationen an die Cloud senden. Azure IoT Hub bietet viele Möglichkeiten, diese Daten an nachgelagerte Datenverarbeitungs-Engines zur Analyse und Überwachung weiterzuleiten, z. B. Datenbanken, Azure Functions, Logic Apps und Stream Analytics.
- Geräteverwaltung und -überwachung
-
Azure IoT Hub bietet Tools, um den Zustand und den Status der verbundenen Geräte zu überwachen. Geräte können ihren Status melden und Cloud-Anwendungen können diese Informationen zur Fehlerbehebung und Wartung abfragen.
- Verwaltung von Kantengeräten
-
Wir haben bereits über Azure IoT Edge gesprochen, aber Azure IoT Hub unterstützt die Verwaltung von IoT-Geräten am Rande, wo die Datenverarbeitung näher an der Datenquelle stattfindet. Azure IoT Edge erweitert diese Fähigkeit für die Bereitstellung und Verwaltung von containerisierten Workloads auf Kantengeräten.
- Skalierbarkeit und Leistung
-
Azure IoT Hub wurde entwickelt, um große Anzahl von Geräten und einen hohen Nachrichtendurchsatz zu bewältigen. Wenn Tausende von Geräten gleichzeitig verbunden sind, ist die potenzielle Datenflut beängstigend. Azure IoT Hub bietet abgestufte Optionen für die Skalierung, um verschiedene IoT-Szenarien abzudecken.
Kapitel 4 befasst sich mit allem, was mit dem Lebenszyklusmanagement von Geräten zu tun hat. Dieser Prozess umfasst alles von der Einführung eines Geräts bis zu dem Tag, an dem es ausgelagert und nicht mehr verwendet wird. Er umfasst die Geräteentwicklung, die Gerätebereitstellung, die Gerätewartung und schließlich die Stilllegung und Entsorgung der Geräte.
Kapitel 5 befasst sich mit den Vorgängen während der Hauptsequenz eines Geräts, in der es mit der Cloud durch Nachrichten vom Gerät an die Cloud und Nachrichten von der Cloud an das Gerät kommuniziert.
Wie du siehst, gibt es nicht nur eine Sache, die der IoT Hub für die Verwaltung von Nachrichten und Geräten im großen Maßstab übernimmt. Er ist das zentrale Nervensystem deiner IoT-Lösung. Er vermittelt die Beziehung zwischen deinen potenziell Tausenden von Geräten und den nachgelagerten Systemen, die die Telemetrie und die Daten von diesen Geräten über Datenverarbeitung verarbeiten .
Datenverarbeitung
Daten Die Datenverarbeitung ist eine wichtige Komponente in IoT-Lösungen, die die Verwaltung, Aufbereitung und Analyse der riesigen Datenmengen umfasst, die von IoT-Geräten erzeugt werden. Datenprozesse stellen sicher, dass die Daten gesammelt, umgewandelt und effektiv genutzt werden, um Erkenntnisse zu gewinnen und sinnvolle Maßnahmen zu ergreifen.
Bei der Datenverarbeitung geht es darum, Daten von diesen Geräten zu sammeln, Daten aus verschiedenen Quellen in Datensätze zu integrieren, sicherzustellen, dass die gesammelten Daten angemessen in Datenbanken oder Data Lakes gespeichert werden, sie zu bereinigen und umzuwandeln, um ihre Qualität und Konsistenz zu gewährleisten, und schließlich die Daten mit gut gestalteten Datenschemata zu präsentieren, damit die Daten abgefragt und analysiert werden können.
Es gibt allerdings eine Menge Möglichkeiten, dies zu tun. Du kannst dir das so vorstellen: Echtzeitverarbeitung und Stapelverarbeitung. Bei der Echtzeitverarbeitung werden die Datenströme von IoT-Geräten sofort analysiert, um schnell auf Anomalien zu reagieren und Warnungen oder Aktionen auszulösen. Bei der Stapelverarbeitung werden historische Daten in vordefinierten Stapeln analysiert, um Trends, Muster und Korrelationen aufzudecken, die Aufschluss über vergangene Ereignisse geben. Dieser Ansatz ist besonders wertvoll für langfristige Analysen.
In beiden Fällen werden die Daten durch die Aggregation zusammengefasst und konsolidiert, so dass die Datenmenge reduziert wird, der Informationsgehalt aber erhalten bleibt. Fortgeschrittenere Techniken wie maschinelles Lernen und künstliche Intelligenz werden eingesetzt, um komplexe Analysen durchzuführen, versteckte Muster zu erkennen und zukünftige Ergebnisse vorherzusagen. Das Ergebnis der Datenverarbeitung sind verwertbare Erkenntnisse, die bei der Entscheidungsfindung helfen, den Betrieb optimieren und die Gesamteffizienz steigern. Diese sind Teil der Datenarchitektur.
Die Datenarchitektur bietet einen allgemeinen Rahmen dafür, wie man über Datenverarbeitung denkt. Sie reicht von der Datenerfassung bis zu aufschlussreichen Ergebnissen. Sie umfasst Methoden, Werkzeuge und Strategien für den effizienten Umgang mit großen Datenmengen aus Quellen wie IoT-Geräten. Sie befasst sich mit den Datenquellen, der Art und Weise, wie Daten empfangen werden, wie sie integriert werden, wie sie umgewandelt werden, wie sie verarbeitet werden und wie sie präsentiert werden. Bei der Gestaltung der Datenverarbeitungsarchitektur müssen Faktoren wie Echtzeit- oder Stapelverarbeitung, Datenlatenz, Datenqualität, Integration in bestehende Systeme und Skalierbarkeit berücksichtigt werden.
Kapitel 7 leitet die letzte Hälfte des Buches ein und verlagert den Schwerpunkt auf die Erstellung skalierbarer Datenlösungen auf Azure. In Kapitel 8 werden die Verarbeitungskonzepte erweitert, indem drei verschiedene Architekturen betrachtet werden, die häufig für IoT-Daten verwendet werden.
Während ich gerade zwei grobe Kategorien genannt habe - Echtzeit- und Batch-Verarbeitung - kann man in diesem Zusammenhang mit heißen, warmen und kalten Pfaden noch einige Nuancen hinzufügen. Jeder dieser Pfade verfolgt einen anderen Ansatz bei der Datenverarbeitung in der Datenarchitektur.
Heiße Pfade
Der "heiße Weg" bezeichnet den Teil der Daten in einem System, der sofort oder in Echtzeit verarbeitet werden muss, um eine schnelle Entscheidungsfindung, schnelle Reaktionen und zeitnahe Aktionen zu ermöglichen. (Der Begriff "Hot Path" wird normalerweise mit "schneller" Verarbeitung gleichgesetzt, sollte aber nicht mit Geschwindigkeit verwechselt werden, da es nicht nur um Geschwindigkeit geht.) Hot-Path-Daten werden in Echtzeit oder nahezu in Echtzeit verarbeitet und ermöglichen eine schnelle Analyse und Entscheidungsfindung. Sie enthalten oft wichtige Informationen, die, wenn sie schnell verarbeitet werden, Probleme verhindern oder abmildern, Prozesse optimieren oder das Nutzererlebnis verbessern können. Bei diesen Maßnahmen kann es sich um automatische Reaktionen, Benutzerbenachrichtigungen oder Anpassungen der Systemparameter handeln. Im Zusammenhang mit dem IoT umfassen Hot Path-Daten Telemetrie-Ereignisse, die in Systeme einfließen, die in Echtzeit oder nahezu in Echtzeit auf Daten reagieren. Ein klassisches Beispiel für ein Hot-Path-Telemetrieereignis ist ein Rauchmelder, der ein Signal sendet, um die Feuerwehr zu alarmieren.
Azure bietet Werkzeuge für die Verwaltung dieser Prozesse mit Optionen wie Stream Analytics, Azure Functions, Event Grids, Event Hubs, Service Buses und anderen Echtzeitverarbeitungsfunktionen. Sie alle lassen sich gut miteinander kombinieren, um komplette Lösungen für IoT-Hotspots zu schaffen. In Kapitel 9 werde ich ausführlicher auf Hot Paths eingehen. Doch es gibt noch mehr als heiße Pfade. Es gibt noch etwas viel Cooleres: warme Pfade.
Warme Wege
Warme Pfaddaten stellen eine Kategorie dar, die in Bezug auf ihre Dringlichkeit und Verarbeitungshäufigkeit zwischen "heißen Pfad"- und "kalten Pfad"-Daten angesiedelt ist. Sie zeichnen sich dadurch aus, dass sie schneller verarbeitet werden müssen als Daten auf dem kalten Pfad, aber nicht so sofort wie Daten auf dem heißen Pfad. Wie beim heißen Pfad ist die Geschwindigkeit wichtig, aber nicht der einzige Faktor. Daten auf dem warmen Pfad liefern Erkenntnisse und unterstützen Entscheidungen, die eine kurze Verzögerung bei der Verarbeitung vertragen können.
Im Gegensatz zu Hot-Path-Daten, die ein sofortiges Handeln erfordern, werden Warm-Path-Daten mit einer moderaten Latenzzeit verarbeitet und können unter nahezu in Echtzeit oder leicht verzögert analysiert werden. Ihr Zweck ist es, Erkenntnisse zu liefern, die die laufende Überwachung, Optimierungsbemühungen und Entscheidungen unterstützen, die eine rechtzeitige Aufmerksamkeit erfordern, ohne dass eine sofortige Reaktion erforderlich ist. Warme Pfaddaten werden in Szenarien verwendet, in denen Effizienz und Optimierung Priorität haben. Diese Situationen profitieren von Erkenntnissen, die eine Eingabeaufforderung darstellen, aber keine sofortige Reaktion erfordern.
Was die Datenverarbeitungsarchitektur angeht, so werden die Daten auf dem warmen Pfad in der Regel mit Techniken wie Stream Processing verarbeitet, die ein Gleichgewicht zwischen Echtzeiteinblicken und einer leichten Verzögerung bei der Verarbeitung herstellen. So wird sichergestellt, dass die Daten innerhalb eines Zeitrahmens in verwertbare Erkenntnisse umgewandelt werden, der mit den Anforderungen der betrieblichen Entscheidungsfindung und der laufenden Optimierung übereinstimmt. Warme Pfaddaten spielen eine entscheidende Rolle, wenn es darum geht, die Dringlichkeit von heißen Pfaddaten und die längerfristigen Erkenntnisse aus kalten Pfaddaten in Einklang zu bringen. Im IoT hilft ein warmer Pfad dabei, Einblicke in den laufenden Betrieb, die Überwachung und die Optimierung innerhalb eines Zeitrahmens zu gewinnen, der ein Gleichgewicht zwischen Eingabeaufforderung und akzeptabler Verzögerung herstellt. Ein warmer Pfad bietet Situationsbewusstsein, indem er Einblicke in Veränderungen oder Trends im Verhalten, in der Leistung oder in den Umgebungsbedingungen von IoT-Geräten liefert. In Kapitel 10 findest du weitere Informationen zu warmen Pfaden.
Azure unterstützt warme Pfade durch Zeitreihendaten. Azure Data Explorer und Azure Stream Analytics sind die wichtigsten Dienste, die dies ermöglichen. Der Data Explorer ist eher ein Datenbankdienst, verfügt aber über die Rechenkapazität und die integrierten Dienste, die ihn für warme Pfade nützlich machen. Stream Analytics kann auch historische Daten in Zeitfenstern betrachten. Für große Zeitfenster oder wenn die Daten nicht sofort verarbeitet werden müssen, kannst du den nächsten Typ in Betracht ziehen: Cold Paths.
Kalte Pfade
Kalte Pfaddaten sind eine Kategorie in der Datenverarbeitung und -analyse, die sich durch ihren Schwerpunkt auf langfristige Speicherung und historische Analyse auszeichnet. Sie ist nicht unbedingt gleichbedeutend mit Stapelverarbeitung, wird aber oft als solche implementiert. Im Gegensatz zu den Daten im heißen oder warmen Pfad werden die Daten im kalten Pfad mit einer geringeren Zugriffshäufigkeit gespeichert und verarbeitet. Sie dienen z. B. der historischen Berichterstattung, der Trendanalyse und der Gewinnung tieferer Erkenntnisse, die keine schnellen Reaktionen erfordern. Die Verarbeitung von Daten im kalten Pfad erfordert keine sofortige Dringlichkeit und unterliegt längeren Intervallen, die in der Regel zwischen Stunden und Tagen liegen. Ihr Hauptnutzen liegt in der rückwirkenden Analyse, um Trends, historische Muster und Anomalien zu erkennen, die über einen längeren Zeitraum aufgetreten sind. Es eignet sich auch als Integrationsmuster für traditionellere Workloads, die herkömmliche Extrahieren, Transformieren und Laden (ETL) Integrationsarten nutzen.
Unternehmen neigen dazu, Daten auf dem kalten Weg mit kostengünstigen Speicherlösungen zu speichern, da ein häufiger und schneller Zugriff keine zentrale Anforderung ist. Sie werden verwendet, wenn die Einhaltung von Vorschriften unerlässlich ist, da Branchen historische Daten zu Prüfungszwecken aufbewahren müssen. Für Unternehmen tragen Kaltwegdaten dazu bei, historische Berichte zu erstellen, die Leistung im Laufe der Zeit zu verfolgen und fundierte Entscheidungen auf der Grundlage eines umfassenden historischen Kontextes zu treffen.
Für das IoT leisten die Daten des kalten Pfads auch einen Beitrag zu prädiktiven Analysen, z. B. wenn maschinelle Lernmodelle auf historischen Mustern für Vorhersagen trainiert werden. Sie helfen bei der Ursachenanalyse und ermöglichen detaillierte Untersuchungen vergangener Vorfälle oder Anomalien. Außerdem nutzen Unternehmen Cold Path-Daten, um für die Zukunft zu planen, indem sie die Konsequenzen vergangener Entscheidungen und Ereignisse verstehen. In Kapitel 10 befasse ich mich mit den kalten Pfaden.
In Datenverarbeitungsarchitekturen stellen Azure Data Factory, Azure Synapse, Azure Databricks und HDInsights die Rechenressourcen zur Verfügung, die mit der Speicherung zusammenarbeiten, damit Cold Paths funktionieren. Cold Path-Daten werden in Data Warehouses wie Azure Synapse, Azure Data Lake, speziellen Archivierungssystemen oder in einer einfachen Objektspeicherung wie Azure Blob Storage gespeichert. Alle diese Systeme sind Teil der Persistenz .
Persistenz der Daten
Wenn du nicht nur mit flüchtigen Daten arbeitest, musst du sie irgendwo speichern. Selbst flüchtige Datensysteme, wie z. B. Nachrichtenwarteschlangen, halten die Daten eine Zeit lang fest.
Datenpersistenz im Zusammenhang mit der Datenverarbeitung bezieht sich auf die Methoden und Mechanismen, die verwendet werden, um Daten über ihre ursprüngliche Verarbeitung oder Eingabe hinaus zu speichern und zu erhalten. Sie stellt sicher, dass die Daten für verschiedene Zwecke wie Analyse, Berichterstattung und zukünftige Verarbeitung zugänglich, abrufbar und nutzbar bleiben. Verschiedene Arten der Datenpersistenz erfüllen unterschiedliche Anforderungen in Datenverarbeitungsarchitekturen:
- Vorübergehende oder flüchtige Speicherung
-
Bei der temporären Speicherung werden die Daten für die sofortige Verarbeitung im Speicher oder Cache gehalten. Diese Art der Speicherung ist kurzlebig und wird hauptsächlich in der unmittelbaren Verarbeitungsphase verwendet. Sobald die Verarbeitung abgeschlossen ist, werden die Daten in der temporären Speicherung gelöscht. Er eignet sich für die Speicherung von Daten, auf die während der Verarbeitung häufig und schnell zugegriffen werden muss, ist aber nicht für die langfristige Aufbewahrung gedacht. Du triffst diese Speicherung z. B. bei Azure Service Bus, Event Grids und Stream Processing-Technologien wie Azure Stream Analytics an. Die Speicherung von Datenströmen wird für die Verwaltung von Echtzeit-Datenströmen verwendet, die von IoT-Geräten, Sensoren oder anderen Quellen erzeugt werden. Diese Art der Persistenz ermöglicht die sofortige Speicherung und Verarbeitung von Streaming-Daten und damit Echtzeit-Analysen und Entscheidungsfindung.
- Rohspeicher oder Data Lakes
-
Daten Seen sind Repositories, die rohe, unverarbeitete Daten in ihrem ursprünglichen Format speichern. Diese Form der Persistenz ist ideal, um verschiedene Datentypen wie strukturierte, halbstrukturierte und unstrukturierte Daten zu speichern, ohne sie sofort zu strukturieren oder umzuwandeln. Data Lakes erleichtern die zukünftige Verarbeitung und Analyse und ermöglichen es Unternehmen, bei Bedarf Erkenntnisse aus den Daten zu ziehen. Batch-Verarbeitung und ETL-Tools nutzen Data Lakes und Rohspeicher wie Blob Storage als Teil ihrer Verarbeitung.
- Strukturierte Speicherung oder Data Warehouses
-
Bei der strukturierten Speicherung, die häufig in Data Warehouses zu finden ist, werden Daten in einem strukturierten Format gespeichert, das für Abfragen und Analysen optimiert ist. Diese Art der Persistenz eignet sich besonders für verarbeitete und umgewandelte Daten, die für Berichte, Analysen und Business Intelligence bereit sind. Data Warehouses bieten eine optimierte Leistung für die Abfrage großer Datenmengen und die Gewinnung von Erkenntnissen. Datenbanken sind nützlich, um Daten für transaktionale Arbeitslasten abzufragen. Für das IoT gibt es nicht die eine Datenbank, die alles gut kann, aber Azure Cosmos DB und Azure Data Explorer bieten ein gewisses Maß an transaktionaler Speicherung, während Azure Synapse mehr analytische Speicherung bietet.
Auch wenn kein eigenes Kapitel der Datenpersistenz gewidmet ist, wird in diesem Buch ziemlich viel über Persistenz gesprochen, vor allem im Zusammenhang mit der Datenverarbeitung. In einer IoT-Lösung wirst du wahrscheinlich auf viele verschiedene Arten der Datenspeicherung stoßen. Du wirst diese als Teil deiner Datenbewegung und -verarbeitung nutzen.
In Datenverarbeitungsarchitekturen, insbesondere im IoT, führt die Kombination dieser Datenpersistenzmethoden zu verschiedenen Verarbeitungs- und Analysestufen. Temporäre Speicherung hilft bei der sofortigen Verarbeitung, Data Lakes speichern Rohdaten, strukturierte Speicherung ermöglicht effiziente Abfragen und archivierte Speicherung gewährleistet die Datenaufbewahrung. Alle diese Methoden unterstützen jedoch in gewissem Umfang eine Datenpräsentation .
Datenpräsentationsschicht
In Softwarearchitektur und Systemdesign bezieht sich eine Präsentationsschicht, manchmal auch Serviceschicht genannt, auf eine Komponente oder eine Reihe von Funktionen, die die Interaktion zwischen verschiedenen Teilen eines Systems erleichtern. Sie ist ein Vermittler, der verschiedene kommunikationsbezogene Aufgaben, die Datenverarbeitung und den Zugriff auf Funktionen übernimmt. Der Hauptzweck einer Serviceschicht besteht darin, eine einheitliche und standardisierte Schnittstelle für verschiedene Clients bereitzustellen, über die sie einheitlich auf Dienste und Ressourcen zugreifen können. Diese Schicht trägt dazu bei, die zugrunde liegende Komplexität der Systemkomponenten zu abstrahieren, und bietet eine einheitliche Schnittstelle, mit der Benutzer und andere Systeme interagieren können.
Die Serviceschicht fungiert als Brücke zwischen den Kunden (Verbrauchern) und den Kernfunktionen und abstrahiert die technischen Feinheiten, so dass die Benutzer interagieren können, ohne das Innenleben verstehen zu müssen. Sie verwaltet den Datenaustausch zwischen diesen Einheiten und sorgt für eine reibungslose Kommunikation durch verschiedene Protokolle und Transformationen. Sie ist sozusagen eine Fassade über der komplexen Datenverarbeitung. Eine Serviceschicht bietet Sicherheit für Daten, APIs für die Bereitstellung von Daten, Pushs für Datenabonnenten, Datencaches zum Herunterladen und viele andere Dinge, die Datenkonsumenten nutzen.
Diese Schicht befasst sich auch mit übergreifenden Aspekten wie Protokollierung, Überwachung und Fehlerbehandlung, die für eine stabile und gut überwachte Umgebung unerlässlich sind. Die Serviceschicht kann skalierbar gestaltet werden, so dass das System einen höheren Datenverkehr und eine höhere Nachfrage ohne Leistungseinbußen bewältigen kann. Sie spielt eine wichtige Rolle bei der Schaffung einer einfachen, sicheren und effizienten Brücke zwischen den Daten und den Verbrauchern. Kapitel 11 befasst sich ausführlich mit der Serviceschicht und geht auf alle Feinheiten der einzelnen Arten der Datenexposition ein.
Kein einziger Dienst in Azure bietet eine Datenpräsentationsschicht; die dafür verwendeten Dienste sind jedoch in der Regel vorwärtsgerichtet. Für Push-Lieferungen kannst du einige Low-Level-Protokolle wie FTP verwenden. Für Web-Apps und Datenintegrationen im Push-Stil können Webhooks, Azure Web PubSub und die Azure SignalR-Integration genutzt werden. Andere Integrationen können auch APIs nutzen, wie z. B. Azure Functions, einen API-Service oder ein Tool wie Azure Data API Builder. All diese Tools und Integrationspunkte bieten Verbrauchern eine Möglichkeit, die Daten zu erhalten, die sie für ihre Zwecke benötigen.
Datenverbraucher
In der ausgedehnten IoT-Landschaft umfassen die Datenkonsumenten eine Vielzahl von Unternehmen und Systemen, die einen Nutzen aus den von IoT-Geräten erzeugten Daten ziehen. Sie sind maßgeblich daran beteiligt, die Daten in aussagekräftige Erkenntnisse und umsetzbare Informationen zu verwandeln. In diesem Ökosystem gibt es mehrere verschiedene Kategorien von Datenkonsumenten:
-
Einige Verbraucher fordern unmittelbare Ergebnisse aus Echtzeitdaten, die schnell auf die eingehenden Informationen reagieren, um sofortige Entscheidungen zu treffen und Reaktionen auszulösen. Diese Echtzeit-Analyse- und Entscheidungssysteme sind für die vorausschauende Wartung, die Erkennung von Sicherheitsverletzungen und ereignisgesteuerte Abläufe unerlässlich. Diese Systeme nutzen APIs und Datenintegrationen im Push-Stil.
-
Operational Dashboards und Überwachungs-Tools wie Power BI stellen Daten und Berichte in Echtzeit dar. Diese Tools liefern eine leicht verständliche Momentaufnahme des laufenden Betriebs und der Leistungskennzahlen und unterstützen die Betriebsteams dabei, Ressourcen effektiv zu verwalten und Anomalien rechtzeitig zu erkennen. Sie erleichtern fundierte Entscheidungen und die Formulierung von Strategien, indem sie Erkenntnisse aus Echtzeit-, historischen und aggregierten IoT-Daten liefern.
-
Datensatz Verbraucher, wie z.B. prädiktive Analysen und maschinelle Lernmodelle, zapfen historische und Echtzeit-IoT-Daten an und leiten daraus Muster, Trends und Erkenntnisse ab, die als Grundlage für zukünftige Vorhersagen dienen. Diese Verbraucher sind entscheidend für die Optimierung von Prozessen, die Vorhersage von Wartungsanforderungen und die strategische Planung.
-
Externe Anwendungen und APIs nutzen IoT-Daten zur Integration in andere Softwaresysteme, Anwendungen oder Dienste. Sie reichen von Drittanbieteranwendungen, die die Funktionalität erweitern, bis hin zu Datenmarktplätzen, die Zugang zu bestimmten IoT-Datensätzen bieten. Sie werden wahrscheinlich APIs und Echtzeit-Datenfeeds nutzen. Industrie-Apps und Verbraucher-Apps geben den Nutzern Einblicke in ihre Daten. Diese Anwendungen ermöglichen es den Nutzern, fundierte Entscheidungen zu treffen und ihre IoT-Geräte aus der Ferne zu verwalten.
Jede Art von Datenkonsument hat ihre eigenen Anforderungen und Zwecke. Eine robuste Datenarchitektur und eine gut durchdachte Serviceschicht müssen vorhanden sein, um diese Vielfalt effektiv zu bedienen. So wird sichergestellt, dass die von IoT-Geräten erzeugten Daten zugänglich, relevant und in Formaten verfügbar sind, die auf die Bedürfnisse der einzelnen Verbraucher zugeschnitten sind, damit diese den größtmöglichen Nutzen aus dem IoT-Ökosystem ziehen können. Kapitel 12 geht auf dieses Thema ein und gibt dir einige praktische Beispiele.
Überwachung, Protokollierung und Sicherheit
Die IoT-Landschaft umfasst verschiedene Bereiche im Kontext des IoT, aber Überwachung, Protokollierung und Sicherheit sind übergreifende Themen in der Azure IoT-Landschaft. Sie sind wie Dünger, Wasser und Sonnenlicht, die die Pflanzen gut wachsen lassen.
Im Zusammenhang mit Microsoft Azure und IoT-Einsätzen auf der Azure-Plattform sind Überwachung, Protokollierung und Sicherheit drei wichtige Aspekte, die es zu beachten gilt. Diese Aspekte sind grundlegend, um die Zuverlässigkeit, die Sichtbarkeit und den Schutz von IoT-Systemen und -Daten zu gewährleisten. Du musst nicht nur deine Geräte überwachen. Du musst auch deine Softwaresysteme und Azure selbst überwachen.
Die Überwachung in einer Azure IoT-Lösung bezieht sich auf die laufende Beobachtung und Messung von Systemkomponenten, Geräteverhalten und Datenflüssen. Dabei werden Tools und Dienste eingesetzt, um die Leistung, die Verfügbarkeit und den Zustand von IoT-Ressourcen zu überwachen. IoT Hub liefert die Daten, aber Tools wie Azure Monitor bieten verschiedene Überwachungsfunktionen, einschließlich der Visualisierung von Telemetriedaten in Echtzeit. Azure bietet Defender for IoT, Azure Security Center und Azure Sentinel, um Einblicke in die Geräteaktivitäten zu erhalten, Anomalien zu erkennen und sicherzustellen, dass deine IoT-Lösung wie erwartet funktioniert. Durch die Überwachung von IoT-Geräten und -Infrastrukturen kannst du proaktiv Probleme erkennen, die Leistung optimieren und ein reibungsloses Nutzererlebnis gewährleisten.
Die Überwachung basiert auf der Protokollierung, die systematisch Ereignisse, Aktivitäten und Interaktionen innerhalb einer IoT-Lösung aufzeichnet. Azure IoT-Lösungen können eine Vielzahl von Daten erzeugen, und eine effektive Protokollierung ist für die Fehlerbehebung, die Prüfung und das Verständnis des Systemverhaltens unerlässlich. Azure bietet Azure Log Analytics und Azure Monitor, mit denen du Protokolle zentral erfassen und speichern kannst. Diese Protokolle bieten wertvolle Einblicke in das Verhalten von Geräten, Anwendungsinteraktionen und Systemereignissen und helfen dir, Probleme zu diagnostizieren und historische Daten für Verbesserungen zu analysieren. In Kapitel 13 erfährst du, wie du deine Azure-Anlage überwachen kannst und wie die verfügbaren Tools Daten erfassen und protokollieren.
Sicherheit ist ein übergreifendes Anliegen bei IoT-Implementierungen, und Azure bietet robuste Funktionen zum Schutz deiner IoT-Lösung. Azure IoT bietet sichere Gerätebereitstellung, Identitätsmanagement und Authentifizierung mit Technologien wie X.509-Zertifikaten oder Geräteschlüsseln. Mit der rollenbasierten Zugriffskontrolle (RBAC) kannst du den Zugriff auf Ressourcen anhand von Benutzerrollen kontrollieren und so sicherstellen, dass nur autorisierte Personen IoT-Komponenten verwalten und mit ihnen interagieren können. Wie bereits erwähnt, bietet Microsoft mit dem Azure Security Center und Sentinel Funktionen zur Erkennung und zum Schutz vor Bedrohungen, die dir helfen, potenzielle Sicherheitslücken in deiner IoT-Umgebung zu erkennen und zu schließen. In Kapitel 14 werden verschiedene Bedrohungen im Zusammenhang mit IoT-Geräten aufgezählt und Strategien zur Entschärfung dieser Bedrohungen vorgestellt.
Überwachung, Protokollierung und Sicherheit sind wesentliche Bestandteile von Azure IoT-Implementierungen. Die Überwachung ermöglicht es dir, den Zustand und die Leistung deiner Lösung in Echtzeit zu überwachen, die Protokollierung ermöglicht eine effektive Fehlerbehebung und historische Analyse, und die Sicherheitsmaßnahmen schützen deine IoT-Umgebung vor unbefugtem Zugriff und potenziellen Bedrohungen. Diese Aspekte tragen zusammen zu einem zuverlässigen, gut verwalteten und sicheren IoT-Ökosystem auf der Azure-Plattform bei.
Fazit
Auf den letzten Seiten hast du einen Überblick über die Inhalte dieses Buches erhalten. Jede beleuchtete Komponente hat ihre Rolle und Bedeutung innerhalb der IoT-Landschaft. Es gibt viel zu bedenken, von Geräten über Datenpfade und Edge Computing bis hin zur Datenverwaltung. Willkommen an der vordersten Front der Innovation, wo Azure IoT-Angebote auf dich warten und dir das Tor zu den Möglichkeiten öffnen.
Get Architektur von IoT-Lösungen auf Azure now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.