Am 21.03.2019 fand wieder ein Coding Kata der OC|Expert Camp Reihe in der Münchner Niederlassung statt. Das Event wurde von uns Werkstudenten, Sebastian Liedl, Manuel Styrsky und Eric Nguyen abgehalten. Das Ziel dieser Veranstaltung war es, interessierten Entwicklern eine kurze Einführung in die Big-Data- Technologie „Apache Kafka“ zu geben. Kafka wurde von LinkedIn zur Bearbeitung von Datenströmen entwickelt. Unterstützung bei der Organisation erhielten wir dabei von Pascal Humbert und Theresa Andla.
Introduction
Wir starteten um 18 Uhr mit ca. 20 Teilnehmern. Zu Beginn erhielt jeder Teilnehmer eine IP-Adresse und einen SSH-Key, um sich mit seiner persönlichen EC2-Instanz zu verbinden. Die EC2-Instanz wurde später für das Hands On Hacking verwendet, da dort das Kafka System schon vorinstalliert war.
Anschließend begannen wir mit einer Erklärung der Kafka Basics, in der wir näher auf die Eigenschaften und die Grundkomponenten von Apache Kafka eingegangen sind. Danach wurden die nötigen Konfigurationen mit der Gruppe besprochen und durchgeführt. Das Setup zur SSH-Verbindung und der Verbindung zur Datenbank hat etwas Zeit in Anspruch genommen, da alle Security Maßnahmen und SSH-Tunnel beachtet werden mussten. Letzten Endes haben es natürlich alle geschafft!
Hands On Hacking!
Nach dem die Konfigurationen erledigt waren, fand nun der Part mit dem Hands On Hacking statt. Die Aufgabe bestand darin die Schnittstellen eines Kafka Systems, nämlich einen Kafka Producer, Kafka Streams und Kafka Consumer mittels Java zu implementieren. Die Rahmengeschichte für das Hands On Hacking stellte ein Zoo dar, aus dem die Tiere (unsere Daten) ausgebrochen sind. Auf dem Weg zum Paradies (die Datenbank) haben die Tiere natürlich noch Hunger und andere Zustandsänderungen hinter sich zu bringen.
Dafür stellten wir den Teilnehmern ein Codegerüst zur Verfügung, welches den Einstieg erleichtert hat. Die erste Komponente war ein Producer, der zufällig Tiere erstellt. Die Teilnehmer sollten diese Daten an das Kafka-System schicken, welches mit der Streams API den Datensatz (das Tier) mit zusätzlichen Informationen anreichert. Der letzte Teil der Aufgabe bestand darin, mittels des Kafka Consumers, die Nachrichten (die Tiere) von Kafka auszulesen und in einer Datenbank persistent zu speichern.
Mit dieser Aufgabe wollten wir das theoretische Basiswissen, welches davor in der Präsentation vorgestellt wurde, zur Anwendung bringen.
Währenddessen gab es wie immer Pizza, Snacks und Getränke für alle!
Conclusion & Feedback
Zudem halfen wir bei Fragen oder Problemen gerne weiter und es war ebenfalls genügend Raum für spannende Diskussionen. Abgerundet hat das Meetup eine Feedbackrunde, in der die Teilnehmer ihre Eindrücke zum Meetup und Kafka im Allgemeinen teilen konnte.
Die Teilnehmer waren wirklich sehr begeistert und würden gerne wiederkommen! Eines der besten Feedbacks, die uns in Erinnerung geblieben ist, war „Opitz kann stolz auf seine Werkstudenten“ sein.
Ein super Meetup!