
Telewerken: zo doen wij dat
In deze uitzonderlijke tijden van afzondering en zorg zoeken alle bedrijven naar nieuwe manieren om contact te houden.
Elke maand interviewen we een Sofico-collega over een toepassing of tool die Sofico dagelijks gebruikt. Deze maand Petar Pilipovic praten Petar Pilipovic (Lead Developer) en Wim Van Den Eynde (Technical Consultant) met ons over Apache Kafka.
Het moest een snelle tool zijn – bijna zonder vertraging – die in staat is om grote hoeveelheden gegevens te verwerken en die gemakkelijk kan worden opgeschaald. Die oplossing vonden we bij Apache Kafka.
Apache Kafka is een gedistribueerd streamingplatform. Het biedt drie belangrijke mogelijkheden:
Je kunt gegevensstromen publiceren en je erop abonneren. Op dat vlak is het vergelijkbaar met een berichtenwachtrij of een berichtensysteem binnen een bedrijf
Je kunt gegevensstromen opslaan met fouttolerantie
Je kunt gegevensstromen verwerken wanneer ze zich voordoen
Kafka is een opensource-project, ontwikkeld door LinkedIn, dat sinds 2012 deel uitmaakt van de Apache Software Foundation. Een van de oprichters van Kafka, Jay Kreps, besloot de software te vernoemen naar de auteur Franz Kafka, omdat het "een systeem betreft dat geoptimaliseerd is om te schrijven".
"Alles begon een paar jaar geleden, toen er steeds vaker zo goed als realtime analyses en rapporten werden geëist. Met de opzet en architectuur waarover we op dat moment beschikten, zou het voldoen aan dergelijke eisen gevolgen kunnen hebben voor de prestaties van ons kernsysteem, en dus gingen we op zoek naar een oplossing.
Het moest een snelle tool zijn – bijna zonder vertraging – die in staat is om grote hoeveelheden gegevens te verwerken en die gemakkelijk kan worden opgeschaald. Die oplossing vonden we bij Apache Kafka.”
Strimzi levert container images en operatoren om Kafka op Kubernetes te laten draaien.
“We gebruiken Kafka als en streamingplatform. We streamen gegevens van ons Miles Core System naar ons Miles Microservice Platform. Gegevens van Miles Core worden gestreamd naar topics, waar ze worden gebruikt. De gegevens worden dan omgevormd tot een canoniek domeinmodel en gepubliceerd in domeintopics.”
We ontwikkelen Kafka als onderdeel van ons Miles Microservice Platform op Kubernetes. We gebruiken Strimzi om Kafka-clusters te laten draaien op Kubernetes in verschillende gebruiksconfiguraties.
“Een gebruikelijke Kafka-setup bevat meerdere brokers en Zookeeper instances, die fungeren als een service discovery. In de toekomst zal Zookeeper worden verwijderd uit de Kafka-setup, maar de huidige versies hebben het nog steeds nodig.”
“We ontwikkelen Kafka als onderdeel van ons Miles Microservice Platform op Kubernetes. We gebruiken Strimzi om Kafka-clusters te laten draaien op Kubernetes in verschillende gebruiksconfiguraties.”
“Strimzi levert container images en operatoren om Kafka op Kubernetes te laten draaien. Operatoren vereenvoudigen het proces voor het implementeren en draaien van Kafka-clusters en -onderdelen. Bovendien kunnen we op die manier de toegang tot Kafka configureren, Kafka upgraden en brokers beheren, zoals het aanmaken en beheren van topics en gebruikers."
“Kafka is heel configureerbaar. Je kan de tool configureren om een grotere gegevensdoorvoer of een betere gegevensconsistentie te krijgen. We configureren Kafka voor een hoge gegevensdoorvoer als je minder belangrijke gegevens wilt streamen (die uiteindelijk worden geaggregeerd), maar we hebben de gegevens nodig als een realtime feed."
"We configureren Kafka voor een grote gegevensconsistentie als we heel belangrijke data willen streamen (zoals klantentransacties) en we geen gegevens willen verliezen."
---
Afbeelding: Franz Kafka
“Ja, er waren op dat moment alternatieven zoals IBM MQ of Rabbit MQ, maar aangezien Kafka grote hoeveelheden gegevens kan verwerken op een zeer performante manier en ook enkele andere mogelijkheden biedt die voor ons belangrijk zijn, hebben we besloten om Apache Kafka te gebruiken."
“We gebruiken de software of frameworks die het best aansluiten bij onze behoeften en die ons voordelen bieden voor onze projecten. Uiteindelijk is dat het belangrijkste voor onze klanten.”
Tags
In deze uitzonderlijke tijden van afzondering en zorg zoeken alle bedrijven naar nieuwe manieren om contact te houden.
Sofico heeft het Silver-certificaat van Investors in People behaald dankzij de initiatieven die het lanceerde in het kader van zijn ‘Leerorganisatie’-filosofie.
Een paar maanden geleden zijn we bij Sofico gestart met onze ‘Sofico – How is the weather’, een wekelijkse ontmoeting tussen collega's.
Na 21 jaar werken voor BMW Financial Services besloot Bert Vanden Bergh dat het tijd was voor een nieuwe uitdaging. "Ik moest buiten mijn comfortzone treden...