So punktet Apache Kafka bei Big Data
Ein Interview mit dem IT-Experten Anatoly Zelenin: Über die Zukunft des Datenmanagements in Unternehmen, Zentralisierung und Demokratisierung
Von: Markus Richter (heise academy)
heise academy:
Hi Anatoly, verrate uns doch bitte, was dich dazu motiviert hat, Experte für Apache Kafka zu werden und ein Fachbuch darüber zu schreiben.
Anatoly Zelenin:
Also ich lese seit ich klein bin die c’t und heise. Auch deshalb behaupte ich von mir, dass ich ein breites IT-Wissen habe. Und eigentlich hat es angefangen mit einem Projekt, wie es so oft geht. Ich habe in einer Beratungsfirma gearbeitet und da suchte ein Kunde jemanden, der in der Umgebung Kubernetes und Kafka betreut. Das war so nach dem Motto: „Ja, also eigentlich bin ich ganz neu im Thema, aber ich verstehe die Konzepte von Kafka.“ Und das hat den Kunden dennoch überzeugt. Und ich habe gesagt: „Na gut, okay, wir probieren es.“ Die ersten Monate im Projekt habe ich mich vor allem extrem weitergebildet, habe alles gelesen, was es über Kafka zu lesen gibt. Und irgendwann habe ich gemerkt: Das ist mein Thema, weil das ziemlich gut in das reinpasst, was ich so IT-architekturell glaube und denke. Dass der aktuelle Zustand der Architektur nicht der beste ist, das müssen wir, glaube ich, nicht erwähnen. Und ich sehe in Kafka eine der Möglichkeiten, wie wir das ein bisschen verbessern können.
heise academy:
Gibt es jemanden, der dich inspiriert hat?
Anatoly Zelenin:
Einer meiner großen Vordenker ist Martin Kleppmann, den kennt man vielleicht als Buchautor. Und der erste Post, den ich zu Kafka gelesen habe, lautete „Turning the database inside out“. Und das hat mich zum Überlegen gebracht. Dass Datenbanken cool sind, darüber muss man nicht reden, das ist Fakt. Aber wie wir IT-Architekturen so gestalten, dass das alles gut zusammen funktioniert, das ist gar nicht so einfach. Und ich sehe in Kafka, kurz zusammengefasst, eine Möglichkeit dazu.
heise academy:
Du bist als Trainer längst mit einem hervorragenden Ruf unterwegs, unter anderem bist du ja auch für die heise academy tätig. Wie gestaltest du denn deine Schulungen für Teilnehmer, wenn diese aus unterschiedlichen Branchen kommen und mit verschiedenen Kenntnisständen an einer Schulung teilnehmen?
Anatoly Zelenin:
Ich hatte hier vor Kurzem ein schönes Feedback. Das sagt vielleicht auch was, dass meine Feedbacks auf Klebezetteln sind, die die Leute selbst geschrieben haben. Und das Feedback war: „No PowerPoint!“ Das fand ich toll (lacht). Also bei mir gibt es keine PowerPoint-Slides. Natürlich ist alles vorbereitet, aber trotzdem live gescribbelt. Deswegen gehe ich einfach immer auf die Use Cases des jeweiligen Unternehmens oder der Gruppe ein. Also zum Beispiel hatte ich kürzlich eine Schulung mit einem Flughafen, mit einer Einzelhandelskette und einer Bank. Und wie kriegst du jetzt Beispiele zusammen, die für alle drei passen?
heise academy:
Du kannst uns ja mal einen kleinen Einblick geben. Wie unterstützt du denn die Teilnehmer dann bei typischen Herausforderungen im Zusammenhang mit Kafka?
Anatoly Zelenin:
Also die Grundprobleme sind bei allen ähnlich. Es gibt zwei große Use Cases bei Kafka. Das ist einmal der Big-Data-Ansatz: Wir möchten große Datenmengen von A nach B schieben. Und das ist der andere Ansatz: Wir möchten unsere IT-Architektur verbessern und Daten allen zugänglich machen. Die meisten meiner Kunden sind in Teil zwei, also in der IT-Architektur. Die meisten gediegenen Firmen haben eine Oracle Datenbank. Du hast manchmal deinen Mainframe, interessanterweise ja nicht nur bei Banken, sondern auch bei Einzelhandelsketten, bei Flughäfen. Du hast manchmal dein altes SAP-System, dein altes CRM-System und manchmal sollen sie doch ersetzt werden. Ich versuche zu zeigen, wie man Kafka einsetzen kann, um genau diese Systeme mit der neuen Welt, also mit microservice-basierten Architekturen, verbinden kann. Und ich weiß jetzt nicht, ob das die Antwort auf deine Frage war (lacht).
Academy-Trainer Anatoly Zelenin hat diese Skizze angefertigt, um Apache Kafka bildlich simpel zu erklären.
heise academy:
Als verteilte Daten-Streaming-Plattform und auch als Kommunikationsinfrastruktur ist Kafka sicher besonders interessant für Unternehmen. Kannst du kurz skizzieren, welchen Nutzen diese daraus ziehen können?
Anatoly Zelenin:
Ich habe einen Kunden aus der Automobilbranche, der meinte, die haben schon eine Messaging-Plattform und die können die nutzen. Und wenn ein Team Daten von dort benötigt, rechnen sie so mit vier bis fünf Monaten Vorlaufzeit. Durch die Architektur von Kafka und auch wie sie das hinterher nutzen, können sie sagen: „Na ja, so innerhalb von ein bis zwei Tagen haben wir das aufgesetzt.“ Also der Prozess dauert, weil da jemand drüberschauen muss. Aber innerhalb von zwei Tagen haben Sie Zugriff auf die Daten.
heise academy:
Also große Datenmengen in Echtzeit oder in sehr kurzer Zeit darstellen?
Anatoly Zelenin:
Genau. Auf der einen Seite ist die Idee von Kafka die Zentralisierung des Datentopfes und auf der anderen Seite die Demokratisierung des Zugriffs darauf. Für Kafka ist es egal, ob jetzt zehn Leute drauf zugreifen oder 100. Zumindest relativ egal. Und das ist halt für viele Unternehmen spannend, zu sagen: „Okay, wir haben jetzt die Daten sowieso da und jetzt geben wir den Menschen einen einfachen Zugriff.“ Das ist super, superwichtig, dieser Aspekt. Ein anderer Aspekt ist ja, dass Kafka als Messaging-Plattform benutzt wird. Das Spannende daran ist, dass Kafka die Daten nicht unbedingt vergisst, wenn man es nicht vergessen lassen möchte. Also du kannst Daten für Tage, Wochen, Monate, Jahre aufbewahren, wenn du möchtest. Du musst dafür einen Preis zahlen, das ist klar. Aber es geht. Ein Beispiel aus einer Bank: Wenn du einen Mainframe hast, bezahlst du ja diese MIPS, also Millions of Instructions per Second. Das heißt, jeder Datenzugriff kostet Geld. Aber wenn du die Daten einmal aus dem Mainframe herausgeschrieben hast, zum Beispiel nach Kafka, dann ist der Zugriff auf die Daten in Kafka de facto kostenlos. Im Vergleich zum Mainframe.
heise academy:
Wohin geht denn die zukünftige Reise mit Kafka?
Anatoly Zelenin:
Ich sehe mehrere spannende Entwicklungen, die passieren. Auf der einen Seite wird Kafka in mehr und mehr Unternehmen eingesetzt. Also in den USA ist es schon längst sehr verbreitet. Ich habe 2018 mit Kafka angefangen und da nahm man das noch nicht so richtig ernst. Inzwischen ist Kafka eigentlich überall gang und gäbe. Und ich denke, dass die Verbreitung von Kafka in Deutschland noch mal massiv zunehmen wird. Bei Kafka selbst sehe ich mehrere spannende Punkte. Ich glaube, der interessante Einsatzfall von Kafka ist dieses zentrale Nervensystem für Daten. Und dafür brauchen wir Kafka. Und da gibt es zum Beispiel ein Proposal, das ich super spannend finde und das demnächst reinkommt: das Tiered Storage. Kafka ist ein Cluster-System. Und wenn du mehr Daten speichern möchtest, brauchst du mehr Festplatten und sie sollen verteilt sein und so weiter. Und das ist teuer, da müssen wir nicht drum herumreden. Die Idee ist nun, das auszulagern auf günstigen Speicher, ob das jetzt dein zentral gemanagtes MinIO ist oder S3 oder was immer du in deinem Unternehmen benutzt. Und auf der anderen Seite ist die Frage, wie das Ökosystem rund um Kafka aussieht. Und da muss ich sagen, es ist noch viel zu tun.
heise academy:
In diesem Zusammenhäng fällt oft das Stichwort Flink…
Anatoly Zelenin:
Es gab mal eine Zeit, in der Flink ziemlich gehypt wurde. Spätestens seit Januar letzten Jahres, als Confluent Immerok gekauft hat, wird eine neue Sau durchs „Kafka-Dorf“ getrieben – und das ist Flink. Das Spannende an Flink ist, dass es eine Open-Source-Lösung ist. Einerseits kannst du mit Java eine Stream-Processing-Applikation schreiben oder mit Python. Das ist schon spannend. Das ist cool. Aber noch cooler ist, dass du SQL drüber machen kannst. Dass, was Martin Kleppmann vor Jahren geschrieben hat: Kafka ist das Log, das zentrale Element der Datenbank, darüber bauen wir unterschiedliche Queries auf. Und jetzt plötzlich kommen wir hin und sagen, wir haben eine echte Open-Source-Lösung, worüber wir SQL Queries über die Daten in Kafka machen können. Das ist superspannend.
heise academy:
Ein interessanter Ausblick. Wenn du jetzt noch mal auf IoT und KI beziehungsweise AI schaust: Wie könnte es da zukünftig ein Zusammenspiel mit Kafka geben?
Anatoly Zelenin:
Also Internet of Things ist sicher eines der Anwendungsfelder. Wenn du 100.000 Autos verkaufst und wenn ein modernes Auto Terabytes an Daten pro Tag generieren kann, müssen wir nicht drüber darüber reden, dann ist das Big Data, wenn wir dann diese ganzen Daten irgendwie zentral rein bekommen können. Also wir möchten große Datenmengen nahezu in Echtzeit bekommen, verarbeiten und weiter verarbeiten. Da ist Kafka Fakt. Meistens funktioniert das so, dass die Autos per MQTT die Daten an einen zentralen MQTT Broker schicken und die von dort nach Kafka dann weitergeleitet und verarbeitet werden. Beim Thema KI, ganz ehrlich, ich weiß es nicht. Die Frage ist halt, was du machen möchtest. Wenn wir von KI sprechen aktuell, dann sprechen wir meistens über generative KI wie ChatGPT, Midjourney und so weiter. Und da sehe ich, ehrlich gesagt, nicht so viele Anwendungsfälle für Kafka. Anders wenn wir über spezifischere KI oder das Machine Learning reden, wo wir zum Beispiel so was wie Predictive Maintenance machen wollen, die vorausschauende Wartung. Wir sehen anhand von Daten, wann ein Traktor, der irgendwo in der Welt herumfährt, kaputt gehen wird. Dann habe ich durchaus Anwendungsmöglichkeiten, und zwar bei denen du Daten in Echtzeit reinbekommst von dem Traktor. Dann haben wir die antrainierten Algorithmen nahezu Echtzeit auf den Daten laufen.
heise academy:
Und was sind da die Problematiken oder Herausforderungen, gerade in Bezug auf Echtzeitdaten?
Anatoly Zelenin:
Echtzeitdaten sind ja an sich schon nicht ganz einfach. Wie kriegst du die Daten zuverlässig und schnell in dein System? Das ist die erste Frage. Vor allem mit dem deutschen Internet. Da musst du dir überlegen, wie du die Datenmenge verkleinerst, wie du sie zuverlässig transportieren kannst, wie du die im Traktor beispielsweise zuverlässig zwischenspeichern kannst, damit sie dann bei gutem Netz verschickt werden können. Auch müssen sie zentral aufbewahrt werden. Dafür ist Kafka eine Möglichkeit. Und die Datenmengen werden ja sehr schnell sehr groß. Das heißt, das kostet Geld. Man muss sich überlegen, welche Daten zum effizienten Arbeiten benötigt werden, damit die AWS-Rechnung nicht noch höher wird, als sie schon ist. Und dann ist die Frage: Welche Algorithmen nutzt du denn jetzt, um deine Predictive Maintenance zu machen? Also auf der einen Seite hast du die Möglichkeit, viele Trainingsdaten zu haben und zu speichern. Auf der anderen Seite muss das von jemandem trainiert werden. Das große Problem ist gar nicht die Datenübertragung, behaupte ich. Vielmehr ist das Grundproblem, was man danach macht und wie die Daten dorthin kommen. Das sehe ich bei vielen Kunden. Die sagen irgendwann, dass Kafka in deren Pipeline das kleinste Problem ist. Es sind eher die anderen Systeme, die dann mit den Datenmengen nicht klarkommen, die irgendwie so alt sind, dass die ja anders arbeiten, anders denken, dass sie buggy sind zum Teil. Kafka ist meistens relativ pflegeleicht, nachdem du das einmal aufgesetzt hast und wenn du Leute hast, die wissen, was sie tun.
heise academy:
Wenn man jetzt einmal kurz auf Cloud-Plattformen guckt und Container, Kubernetes zum Beispiel, welche Rolle spielen diese aktuell bei der Bereitstellung und Verwaltung von Clustern in Apache Kafka?
Anatoly Zelenin:
In einem meiner ersten Trainings gab es eine Folie, die Leuten Angst gemacht hat. Darauf stand: „Kafka benötigt eine gute Infrastruktur und ein gutes Team, welches damit umgehen kann.“ Und meiner Meinung nach ist es egal, auf welcher Plattform du Kafka betreibst – sobald diese zwei Punkte erfüllt sind. Kafka auf Bare Metal funktioniert. Kafka auf VMs funktioniert. Kafka in Kubernetes finde ich besonders spannend, weil du mit sowas wie Strimzi so viel Automatisierung geschenkt bekommst. Das macht oft mehr Spaß, damit zu arbeiten, als wenn du das händisch aufsetzen musst. Und in der Cloud gibt es zig verschiedene Lösungen. Ob du nun wirklich die Angebote der Cloud-Anbieter selbst benutzen möchtest, finde ich immer fraglich. Also AWS hat ja MSK, Azure hat HDInsight. Aber die werden mit steigenden Datenmengen super teuer und sind auch nicht Feature Complete mit den anderen. Das heißt, die meisten Kunden machen es dann wieder selbst oder gehen zu einem spezialisierten Anbieter wie Confluent, Aiven oder CloudKarafka.
heise academy:
Lass uns kurz ein Résumé ziehen. Also du hast gesagt, Kafka wird weiter an Bedeutung gewinnen. Es wird sich natürlich auch verändern. Es wird neue Bereiche erschließen. Unterm Strich für dich also der IT-Schwerpunkt, in dem du dich auch in den nächsten Jahren siehst, nehme ich an…?
Anatoly Zelenin:
Genau. Ich weiß nicht, ob Kafka das finale Ding ist. Es wird nach Kafka definitiv noch irgendwas anderes kommen. Daran glaube ich fest. Aber die Grundidee von Kafka – die ist ja trivial, müssen wir so sagen – die wird uns sehr lange begleiten. Wir haben ein Log, ein Changelog, das wir irgendwo speichern, wo Leute reinschreiben können und wo Leute was rauslesen können. Trivialer geht es nicht. Ich denke auch, dass Echtzeitdaten uns sehr lange begleiten werden. Außerdem wird es auch zukünftig um die Frage gehen, wie wir die Daten schnellstmöglich verarbeiten können. Ob Kafka in fünf oder zehn Jahren immer noch die Standardlösung dafür sein wird, da würde ich meine Hand nicht für ins Feuer legen. Aber es wird definitiv irgendwas kommen, was vielleicht wieder besser ist oder toller oder cooler. Um eine Prognose zu wagen: Es gibt Ideen, dass Kafka vielleicht so das ‚Protokoll‘ ist. Dieses Protokoll könnte überleben und die Software, die dieses Protokoll zur Verfügung stellt, die könnte sich ändern. Das heißt, in zehn Jahren haben wir vielleicht nicht mehr Kafka. Aber das Protokoll ist noch das gleiche, was gesprochen wird.
Über den Interviewpartner: Anatoly Zelenin
Leidenschaft, Expertise und ein etwas anderen Ansatz – so vermittelt Anatoly Zelenin IT. Als erfahrener Berater und Trainer bringt er dafür natürlich die Zertifikate, vor allem aber die Passion mit, um Unternehmen auf das nächste Level zu heben. Anatoly Zelenin ist ein versierter Mentor, der bei seinen Apache Kafka-Schulungen Begeisterung und Wissen versprüht. Mit Freude statt mit Folien.