Die IoT-Plattform ist das Herzstück der Internet-of-Things-Architektur: Hier fließen alle Daten zusammen, werden Applikationen und Analysen bereitgestellt und die Wartung des Systems vorgenommen. Wegen ihrer fundamentalen Bedeutung sollte die Plattform daher mit besonderer Sorgfalt ausgewählt werden. Wer die folgenden sieben Punkte bei der Auswahl beachtet, kommt dem Ziel einer performanten und ausfallsicheren IoT-Plattform ein großes Stück näher.
1. Konnektivität
Es gibt eine unüberschaubare Anzahl von Sensoren und alle haben ihre jeweiligen Schnittstellen und Protokolle wie COAP, HTTP oder MQTT. Um Sensoren stromunabhängig und über weite Strecken betreiben zu können, sind batteriebasierte Geräte erhältlich, die über LoRaWAN und NB-IoT kommunizieren.
Die Informationen aus den Sensoren sollten mit Daten aus anderen Unternehmensanwendungen angereichert werden, um bestmögliche Einsichten zu ermöglichen. Dazu bieten sich sogenannte Message Queues an, welche die Daten aufnehmen und an die IoT-Plattform übergeben. Ein Beispiel dafür ist das Tool Kafka, das Datenquelle von Datensenke trennt und so die Integration von Drittanwendungen verbessert.
2. Low-Code-Tools
Die eingehenden Informationen aus den Sensoren müssen vorverarbeitet werden, wofür sich Low-Code-Tools anbieten. Sie haben den Vorteil, dass auch nicht-technikaffine Endanwender Schwellwerte oder Berechnungslogiken umsetzen können. Besonders einfach geht es mit den visuellen Regelketten von Node-RED. In der Open-Source-IoT-Plattform ThingsBoard gibt es dafür ein eigenes Modul, das die Automatisierung von Prozessen erlaubt.
Sind die Verarbeitungsprozesse besonders komplex und das Datenvolumen sehr groß, ist der Einsatz eines Queuing-Systems empfehlenswert, beispielsweise KafkaStreams oder KsqlDB.
3. Asset und Device Management
IoT-Plattformen müssen nicht nur Nachrichten von Sensoren verarbeiten und speichern, sondern auch die Beziehungen zwischen den Geräten und weiteren Objekten verwalten können. Dazu gehört auch die Pflege der Metadaten (Sensortyp, Standort etc.) und die Möglichkeit, hierarchische Strukturen zwischen den Geräten abbilden zu können. Daraus resultiert eine Reihe von Vorteilen:
Dashboards, die alle Stufen vom einzelnen Gerät bis zum kompletten Bauwerk anzeigen;
anwenderfreundliche Query-Optionen wie z.B. "Ich möchte im Dashboard alle Geräte im großen Meetingraum angezeigt bekommen";
verschiedene Stufen der Aggregation für Werte und Alarme, z.B. "Alle Alarme im Erdgeschoss";
die Gruppierung von Geräten macht diese auf der Plattform einfacher auffindbar;
In einigen Lösungen wie ThingsBoard ist es möglich, Multi-Layer-Strukturen festzulegen, sogar innerhalb einzelner Kunden. Diese Möglichkeit sollten Unternehmen unbedingt in Betracht ziehen, da bei vielen Sensoren schnell der Überblick fehlt, wenn zuvor keine Strukturen definiert wurden. Sollen die einzelnen Beziehungen Objekt-Sensor genauer ausgewertet werden können, ist es ratsam, Graph-Datenbanken einzusetzen (z.B. Neo4j).
4. Berechtigungskonzepte
Rollenkonzepte für mehrere Benutzer oder Mandantenfähigkeit sind ein essentieller Baustein von IoT-Plattformen, wenn die User nicht auf die Daten von anderen Mandanten zugreifen können sollen. Damit es keine Konflikte zwischen Mandaten gibt, sind getrennte Verarbeitungslogiken empfehlendwert. Mit Konzepten wie RBAC (Role-Based Access Control) können innerhalb eines Mandanten User-Gruppen und ihre Rechte definiert werden. Dabei sollte es möglich sein, Rollen mit unterschiedlichem Zugriff bezüglich lesen, schreiben oder beidem frei festzulegen.
5. Grafiken
Der für den Endanwender wichtigste Teil einer IoT-Plattform betrifft zweifelsohne die Visualisierungen der Daten. Eine Plattform sollte dabei nicht ausschließlich Dashboards anbieten, auch die Überwachung von Realtime-Daten und historischen Informationen sollte möglich sein.
Empfehlenswert sind auch Funktionen, um Aktionen außerhalb des Dashboards anzustoßen wie das Steuern von Maschinen oder der Versand von Gateway-Befehlen. Damit sich Daten über die Zeit hinweg vergleichen lassen, muss die Plattform skalierbare Datenbanken unterstützen.
6. Datenanalysen
Die meisten IoT-Plattformen bringen die ein oder andere Analysefunktionalität mit. Wenn aber tiefgehende Auswertungen wichtig sind, sollte man auf Funktionen für Self-Service oder Managementreports achten. Damit lassen sich nämlich auch Forecasts oder Periodenvergleiche umsetzen.
Gleiches gilt für das Herstellen von Korrelationen zwischen verschiedenen Sensortypen oder Root-Cause-Auswertungen. Diese sind wichtig, damit im Fall einer Störung rasch reagiert werden kann. Während einige Plattformen diese Funktionalitäten bereits mitbringen, bieten andere entsprechende Erweiterungen dafür an.
7. Deployment
Wer mit einer IoT-Plattform startet, sollte an den Anfang einen Proof of Concept auf einer virtuellen Maschine (On Premises oder Cloud) stellen. Das ermöglicht es einem, zuerst ausgiebig zu testen, bevor die Plattform im zweiten Schritt als skaliserbares System Kubernetes und Kafka aufgebaut wird. Dieses Vorgehen wird vor allem von der ThingsBoard-Plattform unterstützt.
Das Deployment ist in der Cloud, als SaaS oder auf der eigenen Hardware möglich. Während der Testphase meist auf einer monolithischen Architektur beruht, sodass alle Services auf einer Serverinstanz laufen, kann man danach zu Microservices wechseln, um skalierbar und ausfallsicher arbeiten zu können (Abbildung durch Docker Microservices, Orchestrierung über Kubernetes). (mb)