Kafka is niet dood, het zit alleen in een andere verpakking

‘Kafka is dood’ is een uitspraak die steeds vaker de ronde doet. Critici wijzen op een gebrek aan innovatie, de complexiteit van het product en de opkomst van alternatieven: Maar is dat terecht? Volgens experts blijft Kafka een essentiële rol spelen, vooral als onderdeel van grotere platforms en cloudoplossingen. We spreken Patrick Stevens (CTO bij AMIS Conclusion) en Maarten Smeets (Software Architect bij AMIS Conclusion) over hun visie op Kafka. Waarom is deze technologie volgens hen nog steeds onmisbaar in moderne IT-architecturen? 

5 december 2024   |   Nieuws   |   Door: AMIS Conclusion

Deel

Maarten en Patrick

Wat is Apache Kafka?  

Apache Kafka is een open-source platform dat in 2011 werd ontwikkeld door LinkedIn en beschikbaar is gesteld via de Apache Software Foundation. Patrick: “Simpel gezegd is Kafka een heel groot en snel postkantoor. Berichten worden verzameld, gesorteerd en klaargelegd voor systemen die deze data gebruiken.” Maarten vult aan: “Kafka is in de kern een krachtig, maar eenvoudig product. Het transporteert data snel en betrouwbaar, maar heeft geen kennis van de inhoud en biedt standaard weinig beheermogelijkheden.”  

Dankzij zijn eenvoud, snelheid en robuustheid is Kafka uitgegroeid tot een wereldwijde standaard voor realtime dataverwerking. Het open-source karakter maakt integratie met grotere dataplatforms en cloudoplossingen eenvoudig, wat het product bijzonder relevant maakt voor organisaties die afhankelijk zijn van realtime data. 

Kafka

Kafka is niet dood, het mist echter een aantal handige opties 

Een veelgehoord argument tegen Kafka is dat het sinds 2015 nauwelijks meer vernieuwd is. Maar Patrick ziet dit anders. Hij vertelt: “De basisfunctionaliteit van Kafka is robuust en betrouwbaar. Het feit dat het niet vernieuwd hoeft te worden, bewijst juist hoe robuust het product is.” Waar Kafka in zijn basisvorm bepaalde functionaliteiten mist, wordt het vaak geïntegreerd in grotere platforms die deze tekortkomingen aanvullen. Patrick legt uit: “Veel organisaties kiezen ervoor om Kafka te gebruiken binnen platforms die extra tools en diensten toevoegen. Dit maakt het beheer eenvoudiger en biedt aanvullende functionaliteiten die die essentieel zijn in complexe IT-landschappen.” Maarten voegt toe: “Denk aan beheerinterfaces, adapters voor integraties, berichtvalidatie en beveiligingsfuncties. Deze worden vaak aangeboden door platforms zoals Confluent of Axual, maar ook grote cloudproviders zoals Oracle, Microsoft en AWS hebben hun eigen schil gebouwd om producten die Kafka onder de motorkap hebben of erop zijn geïnspireerd." 

Cloudproviders en Kafka-achtige oplossingen 

Grote cloudproviders bieden eigen eventstreaming-diensten die Kafka ondersteunen. Patrick legt uit: “Diensten zoals Azure Event Hub, AWS Managed Streaming for Apache Kafka (MSK) en Google Cloud Managed Service for Apache Kafka ondersteunen Kafka-API’s en bouwen voort op de principes die Kafka heeft geïntroduceerd.” Maarten benadrukt het voordeel: “Deze diensten maken het eenvoudiger om met vertrouwde tools en methodologieën te werken. Tegelijkertijd profiteer je van de schaalbaarheid, het gebruiksgemak en de beheerde infrastructuur die cloudproviders bieden. Door deze geïntegreerde oplossingen kun je de kracht van Kafka benutten zonder de complexiteit van zelfbeheer.” 

Waarom Kafka als onderdeel van een platform? 

Door Kafka te gebruiken als onderdeel van een uitgebreider platform of een cloudgebaseerde dienst, profiteren organisaties van de krachtige eventstreaming-mogelijkheden van Kafka, aangevuld met extra tools die beheer en de integratie vereenvoudigen. Patrick zegt: “Je hoeft niet zelf alle ontbrekende onderdelen te ontwikkelen of integreren. Deze platforms bieden een compleet pakket dat direct geschikt is voor enterprise-gebruik.” Maarten voegt toe: “Dit maakt niet alleen een snellere implementatie mogelijk, maar vermindert ook de operationele complexiteit. Bovendien zorgen deze platforms ervoor dat je kunt voldoen aan strenge eisen rondom beveiliging en compliance.” 

De praktijk: Kafka in combinatie met cloudoplossingen 

Een goed voorbeeld van de kracht van Kafka in combinatie met cloudoplossingen is het gebruik van Kafka-achtige diensten in complexe, datarijke omgevingen. Kafka is ideaal voor toepassingen waarbij realtime gegevensverwerking essentieel is, zoals in Internet of Things (IoT), realtime financiële data en logistieke processen. Dit type oplossingen wordt vooral ingezet door grote organisaties met hoge datavolumes en complexe integraties.  

Een illustratief voorbeeld uit de klantportefeuille van AMIS Conclusion is het project bij Eneco. Maarten vertelt: “Bij Eneco gebruiken we Kafka om realtime data van alle wind- en zonneparken uniform te delen met de systemen voor besturing en energiehandel. Kafka biedt eenvoud, flexibiliteit en kan enorme hoeveelheden data verwerken met een lage latency. In dit geval gaat het om meer dan 30 miljoen berichten per dag.” Veel organisaties kiezen daarnaast voor beheerde diensten zoals Azure Event Hubs of AWS Managed Streaming for Apache Kafka (MSK). Maarten vervolgt: “Deze diensten bieden Kafka-compatibiliteit, zodat bestaande applicaties en kennis kunnen worden hergebruikt. Tegelijkertijd zorgen cloudproviders voor het beheer en de infrastructuur. Deze aanpak voorkomt complexe, losse koppelingen tussen allerlei applicaties en biedt een schaalbare oplossing met eenvoud, flexibiliteit en hoge performance in complexe IT-landschappen.” 

Is Kafka dan voor elke organisatie de juiste keuze? 

Hoewel Kafka een sterke technologie is, is het niet altijd de beste keuze. Patrick legt uit: “Voor kleine bedrijven of relatief eenvoudige integraties kan Kafka te complex en zwaar zijn. In zulke gevallen is het beter om te kiezen voor een simpeler alternatief, zoals een Pub/Sub-model.” Voor grote organisaties die werken met grote hoeveelheden data en veel ingewikkelde systemen, is Kafka echter een essentiële tool.” Maarten benadrukt: “bij complexe integraties en hoge eisen op het gebied van schaalbaarheid en betrouwbaarheid is Kafka echt onmisbaar.” 

Kafka's invloed op moderne IT-architecturen 

Heeft de stelling dat Kafka dood zou zijn enige kern van waarheid? Patrick is stellig: “Absoluut niet. Kafka's principes en API's zijn diep verweven in de architectuur van moderne event-driven systemen. Zelfs als organisaties niet de originele Kafka-software gebruiken, werken ze vaak met tools en diensten die zijn geïnspireerd op of compatibel zijn met Kafka.” Maarten sluit zich hierbij aan benadrukt het fundamentele karakter van Kafka: “Het gaat er niet om dat Kafka alles zelf moet bieden, maar dat het een fundament vormt waarop veel andere oplossingen zijn gebouwd.” 

Kafka leeft, en hoe 

Kafka is misschien niet meer het enige product dat wordt ingezet voor eventstreaming, maar het vormt nog steeds het hart van veel moderne data-architecturen. Door het te integreren in platforms en gebruik te maken van cloudgebaseerde diensten met Kafka-compatibiliteit, kunnen organisaties de beperkingen van het basisproduct overstijgen. Dit resulteert in complete, beheerde oplossingen die eenvoudig te implementeren zijn. Patrick en Maarten vatten het treffend samen: “Kafka is niet dood. Het zit echter steeds meer verstopt in verpakte diensten van cloudproviders. Het blijft een essentiële technologie met een blijvende impact op de manier waarop we met data omgaan. Juist daarom is het relevanter dan ooit.”