Smart Data & AI

Einführung der Fast-Data-Plattform SMACK zur performanten Datenanalyse.

Innovative Elektronik bildet das Fundament für das intelligente Auto von morgen. Die Audi Electronics Venture GmbH (AEV) gestaltet die Zukunft der Mobilität aktiv mit. Als 100-prozentige Tochtergesellschaft ist sie Impulsgeber und Vorentwicklungspartner für die AUDI AG

Ausgangssituation

Die AEV war auf der Suche nach einem Partner, der sie dabei unterstützt die Fast-Data-Plattform SMACK zur performanten Datenanalyse einzuführen, um Fahrzeugdaten mit Hilfe von Streams zu verarbeiten. Der SMACK Stack ist ein Ensemble aus verschiedenen Tools, die miteinander zu einer Big-Data-Plattform integriert werden. Der Name SMACK ist ein Akronym aus den Anfangsbuchstaben der Tools Apache Spark, Apache Mesos, Akka, Apache Cassandra und Apache Kafka.

Betrachten wir im Folgenden die einzelnen Komponenten:

 

    • Apache Spark unterstützt sowohl Batch-als auch Stream-Verarbeitung und dient dazu eine Lambda-Architektur umzusetzen.
    • Apache Mesos ist ein Scheduling-Framework für Cluster und Rechenzentren. Anwendungen, wie Spark, Akka, Cassandra und Kafka, werden durch Mesos in das Cluster vollautomatisch ausgeliefert.
    • Akka ist eine Implementierung des Aktoren-Modells und erlaubt das Schreiben von reaktiven Anwendungen, die hoch-verteilt und -performant sind.
    • Apache Cassandra ist eine spaltenorientierte Datenbank. Sie kann über verschiedene Rechenzentren verteilt werden. Die Datenbank skaliert nahezu linear zur Anzahl der Maschinen im Rechnerverbund. Die Datenbank hat eine sehr gute Performance, auch bei gemischten Schreibund Lesevorgängen.
    • Apache Kafka ist ein verteilter, skalierbarer und verlässlicher Message Broker für große Datenmengen. Kafka partitioniert die Daten und speichert sie in einem Append-Only-Log, so kann Kafka ohne Weiteres Terabytes an Daten vorhalten – ohne Performanceeinbußen.

Lösung

Um die unterschiedlichen SMACK-Komponenten auf die unterschiedlichen Rechner in einem Cluster zu installieren, eignet sich DC/OS hervorragend. DC/OS ist ein verteiltes Betriebssystem für 4 Rechenzentren und basiert auf dem Apache-Projekt Mesos. DC/OS verfügt über ein Repository, aus dem sehr einfach Komponenten wie Spark, Cassandra und Kafka installiert werden können.

Gemeinsam mit der AEV wurde innerhalb von nur wenigen Wochen ein vollständig lauffähiges DC/ OS-Cluster auf AWS bereitgestellt. Dabei wurde auf eine komplette Automatisierung der Plattform mit Terraform gesetzt. Terraform ist ein Werkzeug, mit dem sich die Infrastruktur bzw. ein ganzes Rechenzentrum in Code beschreiben und verwalten lässt. Der Terraform Code kann ausgeführt werden, um in AWS ein komplettes Rechenzentrum inklusive aller Komponenten, wie Netzwerke, Instanzen, Routing-Tabellen und Loadbalancer zu erstellen.

Ergebnis

Die Cluster-Erstellung kann mit einem Knopfdruck in einem Jenkins gestartet werden. Außerdem erfolgt im Jenkins eine Auditierung, wann, wer, welchen Job gestartet hat. Nach dem Starten des Jenkins-Job dauert es circa 30 Minuten bis der komplette SMACK Stack inklusive aller Ingest- und Digest-Applikationen installiert ist.

Logausgaben sind immer noch eine wichtige Quelle für Informationen über Anwendungen. Als Überwachungstool wurde deshalb der Elastic Stack eingeführt, um die Logdaten des verteilten Systems analysieren zu können. In einem SMACK-Cluster gibt es verschiedene Quellen wie Spark, Mesos, Akka, Cassandra und Kafka, an denen Logausgaben entstehen können.

Der Elastic Stack besteht aus Tools wie Elasticsearch, Logstash und Kibana. Elasticsearch wird für die Ablage der Logdaten benutzt. Außerdem ist es für die Volltextsuche sehr gut geeignet. Logstash kann Logdaten parsen und aus verschiedenen Quellen wie Dateien, aber auch Messaging-Systemen oder TCP/IP-Ports lesen und schreibt diese nach Elasticsearch. Mit Kibana können die Daten durchsucht oder auch grafische Auswertungen erzeugt werden. Das Zusammenspiel all dieser Tools macht es letztlich einfach Logdateien von mehr als 50 Rechnern einfach an einer zentralen Stelle zu analysieren.

Es wurden von der codecentric AG alle nötigen Jenkins-Jobs mit der Jenkins DSL geliefert, um das Deployment des DC/OS SMACK-Clusters vorzunehmen. Die AEV-Mitarbeiter wurden entsprechend geschult, um Letztere auch nach dem Experteneinsatz der codecentric AG nicht mit dem Betrieb des Clusters allein zu lassen.

Außerdem wurde zusammen mit der AEV exemplarisch ein Realtime Streaming Usecase erstellt, der Sensordaten verarbeitet und aufbereitet. Die Visualisierung erfolgt in einer Javascript-Anwendung. Um eine weitere Visualisierung zu bekommen, wurde weiterhin Zeppelin eingeführt. Zeppelin ist eine in den Browser integrierte Benutzeroberfläche, die über Notebook-ähnliche Fähigkeiten für Analysten und Datenwissenschaftler verfügt, damit sie ihre Daten interaktiv untersuchen und anspruchsvolle Datenanalysen durchführen können. Zeppelin kommt auch bei Amazon Web Services, JuJu, Hortonworks und Twitter zum Einsatz, um Daten zu analysieren.

Ihr Ansprechpartner

Lars Rückemann
Head of Business Development

Kontakt aufnehmen

Jetzt Kontakt aufnehmen

Weitere Success Stories

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen

Hinweis: In Ihrem Browser ist JavaScript deaktiviert. Für eine bessere und fehlerfreie Nutzung dieser Webseite, aktivieren Sie bitte JavaScript in Ihrem Browser.