Internet of Things
Säulen belastbarer IoT-Plattformen
Aktuelle IoT-Plattformen sollten einige Mindestanforderungen erfüllen, um als Grundlage für komplexere Projekte in Frage zu kommen. Um diese geht es im folgenden Artikel, beginnend bei der Konnektivität, also den unterstützten Protokollen und Schnittstellen.
Jeder Sensortyp hat seine eigenen Protokolle oder Datenschnittstellen. Neben IoT-Standards wie MQTT, COAP oder HTTP sind auch drahtlose Funkprotokolle wie z.B. NB-IoT oder LoRaWAN notwendig, die den mobilen Einsatz von batteriebetriebenen Sensoren erlauben und hohe Reichweiten bis zu mehreren Kilometern erreichen. Um die Sensordaten mit externen Daten aus operativen Systemen etwa für ERP oder CRM zu integrieren, ist es empfehlenswert, sie über eine Message Queue wie Kafka einzusammeln und von dort in die IoT-Plattform zu laden. Das entkoppelt die Datenquelle und der Datensenke, was wiederum die Anbindung von neuen Systemen erleichtert.
Entwicklung von Regelketten
Bei der Vorverarbeitung der Eingangsdaten der Sensoren spart ein Low Code-Ansatz viel Zeit. Damit können auch Endanwender ohne tiefgreifende Programmierkenntnisse Berechnungslogiken, Aggregationen oder Alarmschwellwerte implementieren. Tools wie Node-RED bieten visuelle Regelketten, die sich vergleichsweise einfach bedienen lassen: vorgefertigte Knoten mit bestimmten Funktionen werden platziert und über Kanten miteinander verbunden. Letztere geben die Datenflussrichtung vor. Die Lösung ThingsBoard beinhaltet sogar eine Komponente, die Prozesse innerhalb der IoT-Plattform automatisieren kann. Komplexe Verarbeitungsketten können zusätzlich bei hohen Datenaufkommen in einem Queuing-System aufbereitet werden. Mit Applikationen wie KafkaStreams oder KsqlDB lassen sich hochskalierbare Lösungen implementieren.
Device und
Asset Management
Neben dem Speichern von Sensornachrichten muss die Plattform auch Beziehungen zwischen Sensoren oder anderen Objekten abbilden können. Das umfasst die Metadatenpflege der Devices (Standort, Firmware oder Gerätetyp), aber auch die hierarchische Strukturierung der Sensoren. Werden diese Beziehungen in der Plattform gepflegt, ergeben sich verschiedene Möglichkeiten:
- • Drilldowns und Rollups in Dashboards, vom Gebäude bis zum Sensor,
- • Naheliegende Abfragemöglichkeiten wie 'Zeige mir alle Sensoren von Raum 1 im Dashboard an',
- • Aggregationsstufen für Sensorwerte und Alarme wie 'Gesamtzahl der Alarme im Gebäude',
- • Bessere Auffindbarkeit der Sensoren in der Plattform durch Gruppierung.
Manche Plattformen - zum Beispiel ThingsBoard - erlauben die Definition von mehrschichtigen Hierarchiestrukturen sowohl für Sensoren als auch für Objekte. Es ist sogar möglich, Strukturen innerhalb von Kunden zu definieren, z.B. Sub-Kunden. Dieser Aspekt wird von Anwendern häufig unterschätzt, denn bei sehr vielen Sensoren verliert man ohne vorher bedachte Strukturen schnell den Überblick. Für eine tiefere Analyse der Beziehungen zwischen Sensoren und Objekten empfehlen sich Graph-Datenbanken wie Neo4j.
Mandantenfähigkeit
und Rollenkonzepte
Für die Verwaltung verschiedener Benutzer und ihrer Rechte sind Rollenkonzepte und Mandantenfähigkeit wichtig. So können Anwender auf die Daten des eigenen Mandanten zugreifen, nicht aber auf die anderer. Separate Verarbeitungslogiken vermeiden Konflikte unter den Mandanten. Tiefgreifende Rollenkonzepte (RBAC, Role-Based Access Control) innerhalb eines Mandanten ermöglichen die Erstellung von Nutzergruppen und Einstellung ihrer Berechtigungen. Rollen mit Lese-, Schreib- oder Vollzugriffen sollten sich definieren lassen.
Visualisierung von Daten
Datenvisualisierungen sollten nicht nur durch Dashboards möglich sein, sondern auch ein Monitoring von Echtzeit- und historischen Daten bieten. Manche Plattformen bieten auch das Anstoßen von Aktionen außerhalb des Dashboards an, z.B. das Steuern von Produktionsanlagen oder das Senden von Gateway-Befehlen. Für historische Sensorwerte als Grundlage für Periodenvergleiche ist die Unterstützung von skalierbaren Datenbanken wichtig.
Datenauswertungen
Sind tiefere Analysen gefragt, sollte die Plattform Funktionalitäten für Self-Service-Analysen oder Managementreports bieten, mit denen z.B. Periodenvergleiche oder Forecasts erstellt werden können. Um bei Störfällen schnell agieren zu können, ist das Herstellen von Korrelationen zwischen mehreren Sensortypen nützlich oder die Unterstützung von Root Cause-Analysen. Manche Systeme unterstützen das nativ, für andere sind Erweiterungen oder Plugins erhältlich.
Deployment-Optionen
Das Plattformprojekt sollte am besten mit einem Proof of Concept auf einer virtuellen Maschine in der Cloud oder einem On-Premise Server beginnen. So kann ein erster Pilot getestet werden, bevor in der nächsten Phase eine skalierbare Plattform mit Kubernetes und Kafka implementiert wird. Plattformen wie ThingsBoard eignen sich sehr gut für diese Vorgehensweise, da das Deployment On-Premise (auf eigener Hardware), in der Cloud oder als SaaS möglich ist. Nach der Pilotphase, die in der Regel auf einer monolithischen Architektur beruht, alle Dienste laufen demnach auf einer Serverinstanz, kann auf den skalierbaren und ausfallsicheren Betrieb über Microservice migriert werden. Dafür werden alle internen Dienste durch Docker Microservices abgebildet, die sich mit Kubernetes orchestrieren lassen.
Aktuelle IoT-Plattformen sollten einige Mindestanforderungen erfüllen, um als Grundlage für komplexere Projekte in Frage zu kommen. Um diese geht es im folgenden Artikel, beginnend bei der Konnektivität, also den unterstützten Protokollen und Schnittstellen.
Jeder Sensortyp hat seine eigenen Protokolle oder Datenschnittstellen. Neben IoT-Standards wie MQTT, COAP oder HTTP sind auch drahtlose Funkprotokolle wie z.B. NB-IoT oder LoRaWAN notwendig, die den mobilen Einsatz von batteriebetriebenen Sensoren erlauben und hohe Reichweiten bis zu mehreren Kilometern erreichen. Um die Sensordaten mit externen Daten aus operativen Systemen etwa für ERP oder CRM zu integrieren, ist es empfehlenswert, sie über eine Message Queue wie Kafka einzusammeln und von dort in die IoT-Plattform zu laden. Das entkoppelt die Datenquelle und der Datensenke, was wiederum die Anbindung von neuen Systemen erleichtert.
it-novum GmbH
Dieser Artikel erschien in IT&Production 7 (September) 2021 - 06.09.21.Für weitere Artikel besuchen Sie www.it-production.com