Das Industrial Internet of Things (IIoT) durchdringt zunehmend die Produktions- und Geschäftsprozesse von Unternehmen. Von Smart Manufacturing in der Fabrik bis zur Ressourcenplanung in Logistikunternehmen ermöglichen stets aktuelle Sensordaten eine Optimierung von Prozessen. Kommt es etwa zu einer Verzögerung in der Produktion, kann das Unternehmen darauf sofort angemessen reagieren.

Bleibt zum Beispiel ein Güterwagen wegen eines Weichendefekts stehen, kann diese Information dank IIoT in Echtzeit an den Kunden des Logistikdienstleisters weitergegeben werden, der daraufhin seine Produktionsplanung anpassen kann. Doch wie kommt die Information vom Güterwagen ohne Verzögerung zum Kunden?

Der Strom von Mess- und Sensordaten, den das IIoT liefert, kann Millionen von Events pro Sekunde umfassen. Diese Datenflut in Echtzeit bewältigen zu können, stellt besondere Anforderungen an Hard- und Software. Unter dem Namen „Streaming Analytics“ hat sich ein Ökosystem etabliert, das für diesen Anwendungsfall maßgeschneidert ist und die Anreicherung und Analyse der Daten „On the Fly“ – also im laufenden Betrieb – ermöglicht. Das Zusammenspiel der verschiedenen Komponenten dieses Ökosystems hat jedoch seine Tücken: Um die Verarbeitungszeit, die Ausfallsicherheit und die Skalierbarkeit einer Streaming-Analytics-Anwendung sicherzustellen, ist eine sorgfältige Auswahl und Konfiguration der verwendeten Softwarekomponenten nötig.

Latenz und Ausfallsicherheit

Als wichtigstes Anforderungskriterium an eine Streaming-Analytics-Lösung gilt die Latenz, also die Zeit, die vom Auftreten eines Ereignisses bis zum Abschluss der Verarbeitung vergeht. Welche Zeiten hier als akzeptabel gelten, hängt vom Anwendungsfall ab: Bei einer Veränderung in der erwarteten Ankunftszeit eines Güterwagens spielen einige Sekunden bis zur Anpassung meist keine Rolle. Signalisieren die Sensoren allerdings den bevorstehenden Ausfall eines Industrieroboters, kann eine Verzögerung von mehr als einigen Hundert Millisekunden in der Maschinenkommunikation (M2M) bereits weitreichende Folgen für die Produktion haben.

Neben der Latenz kommt der Ausfallsicherheit eine große Bedeutung zu. Der Defekt von Hardwarekomponenten oder ganzen Servern ist in Rechenzentren ein häufiges Ereignis. Auch die Netzwerkanbindung kann gestört oder verzögert sein. Damit kein Event verloren geht und sich auch verzögert eingehende Nachrichten bearbeiten lassen, sind eine redundante Konfiguration und eine intelligente Softwarearchitektur unabdingbar.

Kappa-Architektur für eine Streaming-Analytics-Anwendung im IIoT. Bild: Consist

Nur kurz sei an dieser Stelle auf zwei weitere Kriterien hingewiesen: Durchsatz und Skalierbarkeit. Bereits bei der Gestaltung einer Streaming-Analytics-Lösung kommt es darauf an, die verwendete Hardware so zu dimensionieren, dass sie die Anforderungen erfüllen kann (Durchsatz). Erst bei der Ausweitung der Lösung – zum Beispiel durch neue Anwendungsfälle oder neue Maschinen und Sensoren – zeigt sich jedoch, ob die nötige Erweiterbarkeit gegeben ist (Skalierbarkeit). Eine anfänglich schlecht gewählte Hard- und Softwarelösung entwickelt sich sonst an dieser Stelle schnell zum Problemfall und macht teure Nachbesserungsarbeiten nötig.

Als kommerzielle Marktführer für Streaming Analytics gelten laut „Forrester Market Report Streaming Analytics Q3/2017“ die Software AG, IBM, Tibco Software, SAP und SAS. Doch diese Auflistung zeigt nur die halbe Wahrheit: Neben proprietären Lösungen setzen viele Unternehmen auch auf Open Source Frameworks, die sich im Hadoop-Ökosystem gebildet haben. Die Vorteile solcher Lösungen sind eine breite Präsenz am Markt und die Verfügbarkeit von Know-how, auf das Unternehmen zurückgreifen können. Auch Bedenken zum möglicherweise fehlenden Support für diese Systeme sind nicht mehr angebracht: Hadoop-Distributoren wie Cloudera und Hortonworks bieten umfangreiche SLAs an, letzterer mit Hortonworks Data Flow sogar eine für den Streaming-Analytics-Markt angepasste Variante. Viele Unternehmen haben im Zuge der Digitalisierung in den vergangenen Jahren zudem bereits einen Data Lake auf Basis von Hadoop aufgebaut und erweitern diesen nun mit Streaming-Analytics-Lösungen.

Beispiel aus der Praxis
Für die Kunden eines Logistikdienstleisters stellt in Zeiten der „Just-in-Time“-Wirtschaft die erwartete Ankunftszeit eines Güterwagens eine wichtige Information dar, da Produktionsprozesse eng verwoben sind. Um diese Daten nutzbar zu machen, werden zunächst die Positionsinformationen der Wagen in das Messaging-System Apache Kafka eingeliefert (Ingestion). Eine Spark-Instanz reichert diese Positionsdaten um eine Zuordnung zu einem Schienenabschnitt an und liefert diese Information an Kafka zurück. Ein separat laufender Spark-Prozess wendet nun einen Machine-Learning-Algorithmus an, um die erwartete Ankunftszeit zu berechnen. Ist eine relevante Verspätung der Lieferung vorhergesagt, wird ein neues Event in Kafka injiziert. Diese Verspätungsnachricht wird dem Kunden zum Beispiel per E-Mail zugestellt. Dazu überwacht eine Kafka-Streams-Anwendung das Message Log und vergleicht die neue Ankunftszeit mit der zuletzt vorhergesagten.

Eine ganze Reihe von Frameworks mit jeweils verschiedenen Schwerpunkten ist verfügbar. Als Standard etabliert sich zunehmend Apache Spark, das mit mächtigen Analysefunktionen und leistungsstarken Machine-Learning-Algorithmen ausgestattet ist. Zurzeit setzt Spark jedoch noch auf das sogenannte „Micro Batching“. Dieses Verfahren fasst mehrere Events zu einem Bündel zusammen und bearbeitet diese gemeinsam, was die erreichbare Latenzzeit begrenzt.

Schnellere Systeme sind beispielsweise Storm oder auch dessen API-kompatibler Nachfolger Heron sowie die Projekte Apex, Flink, Samza und Beam. Eine leichtgewichtige Alternative kann Kafka Streams darstellen, das als schlanke Bibliothek daherkommt.

Latenz und Durchsatz einer Streaming-Analytics-Anwendung. Bild: Consist

Die Auswahl eines geeigneten Frameworks ist nur die halbe Miete in der Datenstromanalyse. Ebenso wichtig sind die Verbindungen zur Außenwelt. Unterteilte man früher die Datenverarbeitung in den langsamen Batch Layer und den geschwindigkeitsoptimierten Speed Layer (Lambda-Architektur), so wird heutzutage zunehmend auf einen „Streaming First“-Ansatz gesetzt. Im Zentrum steht ein Messaging-System wie Apache Kafka, das zugleich den Datentransport wie auch die Datenspeicherung übernimmt. Befürchtungen in Bezug auf Flüchtigkeit und Fehleranfälligkeit von „Data in Motion“ (Daten in Bewegung) hat man durch technologische Entwicklungen ausgeräumt. Durch die Speicherung der Daten im Messaging-System kann ein Streaming Analytics Framework jene Aufgaben durchführen, die früher der Batch Layer erledigte. Hier zeigt sich, dass sich die Batch-Verarbeitung als Spezialfall von Streaming-Verarbeitung ansehen lässt. Diese Erkenntnis vereinfacht den Betrieb komplizierter Systeme erheblich (Kappa-Architektur).

Fazit

Damit sich das Potenzial des Industrial Internet of Things nutzen lässt, ist nicht nur Big Data, sondern auch „Fast Data“ das Gebot der Zeit. Richtig eingesetzt, ermöglicht der aktuelle Software-Stack im Hadoop-Umfeld eine effiziente, ausfallsichere und wartungsfreundliche Architektur für die Echtzeitverarbeitung. Gleichzeitig bleibt das Feld der Streaming Analytics höchst dynamisch, und weitere technologische und konzeptionelle Entwicklungen zeichnen sich ab. Der Mehrwert für Unternehmen, den Streaming Analytics liefert, wird so – auch dank einer zunehmenden digitalen Vernetzung der Industrie – weiter steigen.

Dr. Torben Ott ist Dipl.-Phys. und Senior Consultant für Data Science bei Consist Software Solutions, www.consist.de.