Evolution von Apache Storm zu Heron

Datenströme nach Hadoop richtig kanalisieren

Datenströme sind von entscheidender Bedeutung für datenbasierte Geschäftsmodelle. Ohne einen kontinuierlichen Fluss von Daten haben Anwendungsfälle oft nur wenig Chancen, sich zu einem Produkt zu entwickeln. Für die Echtzeitanalyse von Daten gibt es mittlerweile am Markt jedoch einige interessante Optionen.

Eine der wichtigsten Streaming-Lösungen ist die von Nathan Marz konzipierte und mittlerweile unter dem Dach der Apache Foundation offiziell zum Projekt erklärten Lösung mit dem Namen "Storm". Diese verspricht Anwenderunternehmen eine robuste, verteilte und fehlertolerante Verarbeitung von Echtzeitdaten in dynamisch definierbaren Topologien.

Anwendungsgebiete

Wenn Unternehmen Daten aus dem Telematik-Bereich, Informationen von Maschinen in Echtzeit oder generell Nachrichten in kurzer Zeit verarbeiten möchten, dann stellt sich ihnen die Frage, wie sich eine Transformation oder Anreicherung dieser Daten möglichst noch vor der Speicherung selbst abbilden lässt. Das Mittel der Wahl ist es, in diesem Fall eine echtzeitfähige Streaming-Technologie zu verwenden. Diese Technologien ermöglichen es, Daten, während sie in das System fließen, mit einem Mehrwert anzureichern. Dies kann eine einfache Aggregation von gefahrenen Kilometern eines Lkws sein oder die Laufzeit von Maschinen oder anderen Komponenten einer industriellen Anlage. Ein zusätzlicher Mehrwert entsteht, wenn diese Daten auch direkt mit historischen Daten, Bestandsdaten oder mit Kundendaten ergänzt beziehungsweise verglichen werden können.

Exemplarischer Datenfluss in einer Storm Topologie
Exemplarischer Datenfluss in einer Storm Topologie
Foto: Crisp Research AG

Die fertigen Daten werden direkt in einem skalierbaren Datenspeicher abgelegt und können dann direkt mit Hilfe von Dashboards visualisiert oder auf mobilen Endgeräten abgerufen werden.

Tauglichkeit von Storm im Unternehmensumfeld

Sobald zu analysierende Daten in einem Unternehmenskontext anfallen, gibt es schnell Fragestellungen hinsichtlich:

• Sicherheit

• Skalierbarkeit & Ressourcenmanagement

• Support

• Entwicklungsstatus des Projekts ("Open Source")

• Service-Level-Agreements (SLAs)

• Integrationsfähigkeit mit bestehenden Systemen

• Wartbarkeit

Ein Unternehmen muss sich beim Einsatz von modernen, und gerade immer häufiger auch aus dem Open-Source-Umfeld stammenden Technologien sicher sein, dass diese bereits die entsprechende Reife erlangt haben, um dauerhaft und nachhaltig eingesetzt werden zu können. Apache Storm bietet an dieser Stelle seit dem vergangenen Jahr alle entsprechenden Möglichkeiten zur Integration in ein sicheres Unternehmensumfeld. Mit der, in der Version 0.10.0 hinzugefügten, Kerberos-Integration bietet Storm auch ein probates Mittel zur Absicherung der Technologie innerhalb des eigenen Unternehmens. Ferner ist damit eine reibungsfreiere Integration in eine gesicherte Hadoop-Plattform einfacher geworden, um zum Beispiel die Integration von und mit HBase oder Kafka zu gewährleisten.

Marktverbreitung von Storm

Unternehmen wie Microsoft, Spotify, Twitter und Yahoo! nutzen Storm-Technik ebenso wie auch immer mehr deutsche Unternehmen aus verschiedenen Branchen. Hortonworks, als einer der großen Hadoop-Plattform-Anbieter, unterstützt Apache Storm direkt durch Ambari - ein Tool, mit dessen Hilfe sich Hadoop-Cluster einteilen, steuern und beobachten lassen - und integriert damit diese Streaming-Technologie in das eigene Produktportfolio.

Eine gehostete Cloud-basierte Lösung ist ebenfalls von Microsoft verfügbar, als Bestandteil des Azure Portfolios, der Microsoft-eigenen Cloud-Plattform. Innerhalb von Azure wird die Technologie als verwaltetes HDInsight-Cluster angeboten und kommt auch mit Beispielanwendungen daher. Die Skalierung des Clusters ist dabei relativ elegant gelöst und die Implementierung der eigenen Applikation kann zusätzlich zu der nativ unterstützten Umsetzung in Java auch in C# erfolgen, wodurch Microsoft-nahen Unternehmen eine zusätzliche Möglichkeit geboten wird. Ebenso ist eine Kombination aus beiden Sprachen möglich.