Twitter’s Lessons Learned: Apache Storm wird zu Heron

März 31, 2016 |

Datenströme sind von entscheidender Bedeutung für datenbasierte Geschäftsmodelle. Ohne einen kontinuierlichen Fluss von Daten bleibt oftmals ein Anwendungsfall ohne reale Chance hin zu einem Produkt. Für die Echtzeitanalyse von Daten gibt es am Markt einige, sich entwickelnde Technologien und auch etablierte Lösungen auf die man auch im Enterprise-Umfeld bauen kann. Eine der wichtigsten Streaming-Lösungen ist die von Nathan Marz konzipierte und mittlerweile zum Apache Projekt transformierte Lösung mit dem Namen „Storm„. Diese ermöglicht eine garantierte, robuste, verteilte und fehlertolerante Verarbeitung von Echtzeitdaten in dynamisch definierbaren Topologien.

Anwendungsgebiete

Wenn man Daten aus dem Telematik-Bereich, Informationen von Maschinen in Echtzeit oder generell Nachrichten in kurzer Zeit verarbeiten möchte, dann stellt sich die Frage, wie man eine Transformation oder Anreicherung der Daten möglichst noch vor der Speicherung selbst abbilden kann. Das Mittel der Wahl ist es in diesem Fall eine echtzeitfähige Streaming-Technologie zu verwenden. Diese Technologien ermöglichen es den Daten, während sie in das System fließen, einen Mehrwert zu vermitteln. 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 historische Daten, Bestandsdaten oder mit Kundendaten angereichert werden können.

Bild 5

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

Tauglichkeit von Storm im Unternehmensumfeld

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

• Sicherheit
• Skalierbarkeit & Ressourcenmanagement
• Support
• Entwicklungsstatus des Projekts („Open Source“)
• Service-Level Agreements
• 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 die Technologie bereits die entsprechende Reife erlangt hat, um dauerhaft und nachhaltig eingesetzt werden zu können. Apache Storm bietet an dieser Stelle seit letztem 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 z.B. die Integration von und mit HBase oder Kafka zu gewährleisten.

Marktverbreitung von Storm

Unternehmen wie Microsoft, Spotify, Twitter und Yahoo! nutzen diese Technologie ebenso wie immer mehr deutsche Unternehmen aus allen Branchen. Hortonworks, als einer großen Hadoop-Plattform Anbieter, unterstützt Apache Storm direkt durch Ambari 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. 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ätzlichen Möglichkeit geboten wird. Ebenso ist eine Kombination aus beiden Sprachen möglich.

Fallstricke

Neben den vielen Vorteilen von Apache Storm gibt es auch einige Nachteile, welche sich oftmals erst in der direkten Nutzung ergeben und vorher leider ohne Erfahrung nicht erkennbar sind. Während die Skalierbarkeit des Systems kein Problem darstellt, ist das Debuggen eine der mühseligsten und abenteuerlichsten Herausforderungen. Nicht nur, dass verteilte Systeme per se eine Komplexität in der Suche nach Fehlern mitbringen, auch die Möglichkeiten der Fehlersuche sind sehr stark eingeschränkt. Bei dem Auftreten von Fehlern muss man schnell in der Lage sein die Ursache zu identifizieren. Bei Apache Storm kann dies mit einer Veränderung der Menge der in das System fließenden Daten zusammenhängen oder mit fehlerhaften Code oder mit fehlerhafter Hardware. Da sich in Storm viele Komponenten einer Topologie einen Prozess teilen, ist es oftmals schwierig die Ursache zu ergründen. Weiterhin benötigt Storm dedizierte Hardware mit viel Arbeitsspeicher, welche zwangsläufig zu einer ineffizienten Nutzung des Clusters führt und auch bei der Skalierung problematisch werden kann. Dementsprechend gestaltet sich auch die Bereitstellung und Wartung von Maschinen als eine schwierige Angelegenheit. Effizienz in der Auslastung von Ressourcen ist immer direkt mit den Kosten von Infrastruktur gekoppelt und damit ein erstrebenswertes Ziel, welches unter Storm schwer zu erreichen ist.

Evolution von Storm

All die zuvor angeführten Fallstricke machen es nicht gerade einfach im produktiven Einsatz eine Storm-Topologie zu nutzen. Der größte Nutzer von Storm ist Twitter. Das Unternehmen hat damals Nathan Marz samt seiner Firma Backtype akquiriert und seitdem betreut und weiterentwickelt. Da Twitter zunehmend an Grenzen stieß und die Fehlersuche ein sehr hartes Stück Arbeit ist, wurde ein neuer Ansatz gewählt, um die Stärken von Storm weiterhin nutzen zu können und die Schwächen zu eliminieren. Das entstandene Produkt trägt den Namen „Heron“ und wird vermutlich dieses Jahr noch als Open-Source Projekt veröffentlicht werden. Die neue Lösung versucht ein sauberes Mapping von logischen Einheiten auf physikalische Ressourcen oder Prozesse zu ermöglichen und eine Nutzung und Teilung von Clusterressourcen mit anderen Technologien zu gewährleisten. Einzelne logische Komponenten werden nun als einzelne Tasks ausgeführt, wodurch eine effizientere Fehleranalyse ermöglicht wird. Ferner ermöglicht das neue Design eine genauere Lokalisierung der Fehlerstelle innerhalb der Topologie. Dies wird durch eine bessere Bereitstellung von Metriken aus der laufenden Topologie ermöglicht. Während in Storm nur eine sehr grobe Spezifikation der zu verwendenden Ressourcen möglich ist, bietet Heron eine sehr feingranulare Zuteilung von Ressourcen, welche es einfacher machen eine übermäßige Ressourcenzuteilung zu verhindern. Durch die Bereitstellung von je einem Topologie-Master je ausgeführter Anwendung, ist die Gefahr eine andere Topologie bei einem Fehlverhalten zu beeinflussen beseitigt. In Storm konnte man nur „die Daten fließen lassen“ oder „die Daten nicht fließen lassen“, also eine binäre Möglichkeit zur Datenflusssteuerung nutzen. Innerhalb von Heron ist eine dynamische Anpassung der Datenrate möglich. Diese Eigenschaft hilft auch bei der Migration auf neue Maschinen oder beim Upgrade der bestehenden.

Aussicht und Empfehlung für den Chief Data Officer

Der von Twitter präsentierte Heron Ansatz bietet ein sehr durchdachtes und auf viel Erfahrung gebautes Architekturmodell, welches eine sinnvolle Evolution von Storm darstellt. Die Adaption bestehender Applikation ist durch die API Kompatibilität gewährleistet und ein weiterer großer Pluspunkt. Zusammen mit der neuen Analysefähigkeit und einer übersichtlichen UI bietet Heron einen soliden Ansatz für die nächste Generation von Streaming mittels Strom-Technologie.

Unternehmen, die beispielsweise aus den Bereichen

• Industrie 4.0
• Telematics
• Healthcare

eine Streaming-Lösung im eigenen Hause umzusetzen möchten, können neben Storm im Open-Source Umfeld ebenso das momentan viel beachtete Spark Projekt evaluieren.
Um mit proprietären Lösungen eine Streaming-Applikation umzusetzen, können Unternehmen auf eine der folgenden Lösungen setzen:

• Apama Streaming Analytics (Software AG)
• HANA Smart Data Streaming (SAP)
• InfoSphere Streams (IBM)
• Streambase (TIBCO)

Tags: , , , , , ,

Category: Analysen

About the Author ()

Comments are closed.