Blog

SynTouch on tour naar The Next Generation of Kafka Summit – Deel 2

Wat is nieuw en wat staat ons nog te wachten? Dat vertellen we vandaag in “SynTouch on tour naar The Next Generation of Kafka Summit – Deel 2”. In onze eerste blog namen we je mee op reis, en vandaag nemen we keynotes, aankondigingen en data als een product onder de loep.

Evolutie van data streaming
In de keynote-sessie neemt Jay Kreps ons mee naar het begin en de nabije toekomst van data streaming. De eerste concepten ontstonden uit een disconnect tussen verschillende werelden. Hoewel data-generatie een realtime proces is (“reality happens in real time”), wordt het verwerken en verplaatsen van data vrijwel altijd in batches gedaan. En met alle technologie die tot onze beschikking staat, blijven we toch vasthouden aan fundamentele databases.

Dit is hoe we de afgelopen decennia naar data hebben gekeken; we zagen data als zijnde databases of nog praktischer, een Excelsheet. Tegenwoordig bevindt data zich overal, in duizenden applicaties, databases, bestanden en in vele vormen, en dat geldt voor elke organisatie. Hoe breng je deze brei aan data samen? Hoe behoud je overzicht? Je moet meer gaan kijken naar hoe data zich in de organisatie beweegt, hoe het zich verbindt om een samenhangend systeem te vormen.

Terug naar de technologieën die ons hebben geholpen bij de evolutie van data streaming. In de basis onderscheiden we vier technologieën, die we vandaag de dag nog steeds terugzien in ons data-ecosysteem:

  • RPC / Service-invocaties
  • Ephemeral Messaging
  • Extract, Transform, Load (ETL)
  • Batch processing in de Data Lake

Als we hier naar kijken en bedenken hoe we dit beter kunnen aanpakken, komen we uit bij het ontstaan van data streaming. Het concept is niet nieuw, het idee is al lang bekend in de computerwetenschappen, maar werd nooit echt toegepast. Jay Kreps legt uit waarom er aanvankelijk argwaan was en hoe de data streaming-platformen van vandaag de dag de uitdagingen hebben opgelost, op gebieden als algemene toepasbaarheid, schaalbaarheid en transactionele correctheid.

We weten nu waar data streaming is ontstaan en waar het ons tot nu toe heeft gebracht, maar wat brengt de toekomst? Het antwoord is “Allesomvattend”. De toekomst van data streaming is allesomvattend, of kunnen we beter spreken van het data-ecosysteem of het dataplatform van jouw organisatie, jouw onderneming of de hele wereld.

Om het anders te zeggen: “The future of data streaming is happening now“.

Aankondigingen
Mooie woorden van een visionair, maar natuurlijk willen we weten wat de grote aankondigingen zijn. Wat zijn de “new features” die we kunnen verwachten in 2024? Natuurlijk, het is allesomvattend: het Data Streaming Platform dat Confluent ons gaat bieden. Het is meer dan streaming, met de nieuwe ontwikkelingen wordt het een compleet platform voor: Streamen, Connecteren, Besturen en Verwerken van data. Hoe gaan ze dit doen?

Allereerst zien we data niet langer als een database of een bestand, maar als een product. Een dataproduct is vindbaar, de context is bekend, betrouwbaar en herbruikbaar. Het zijn assets die waarde creëren en een bedrijf of organisatie vooruit helpen.

We bekijken data niet langer vanuit het perspectief van transport, interface of connectie. We kijken naar de data zelf, hoe deze wordt geproduceerd en geconsumeerd binnen jouw organisatie, en beschouwen het dan als wat het werkelijk is. Als we dit begrijpen, kunnen we onszelf de vraag stellen wat echt belangrijk is en waarin we echt het verschil maken.

Hiermee ontkoppelen we de consumenten van de data van de complexiteit van waar de data wordt geproduceerd en op welke manier de data beschikbaar komt, indien nodig op een gecontroleerde wijze.

Data zien als een product is een sterke visie die ons veel kan brengen. Daarom kondigt Confluent aan dat ze een dataplatform gaan leveren, waarmee data overal en waar nodig op gecontroleerde wijze beschikbaar is in realtime. Het platform biedt meer dan Kafka alleen en zal de nodige nieuwe technologieën omarmen, die we hieronder zullen bespreken. Hierdoor is er één dataplatform voor het Streamen, Connecteren, Besturen en Verwerken van data.

KORA – De Kafka-engine voor de cloud
Wat geldt voor elk product dat in eerste instantie is gebouwd voor on-premise en niet zonder meer geschikt is voor de cloud, is dat het benutten van de werkelijke waarde van de cloud een andere aanpak vereist. Het antwoord van Confluent hierop is hun nieuwe cloudengine KORA.

Een cloudoplossing moet onbeperkt kunnen schalen over honderdduizenden instanties en ook cloudmogelijkheden zoals S3 ondersteunen. Met KORA introduceert Confluent een cloudengine waarmee zij deze functionaliteiten gaan ontsluiten en daarmee beschikbaar maken voor het data streaming platform.

Data Portal
Een one-stop-shop waar ontwikkelaars alle dataproducten kunnen vinden en ontsluiten. Via het dataportaal kun je eenvoudig opzoeken welke data beschikbaar is, welke topics deze data ontsluiten, het schema raadplegen, evenals de metadata en documentatie. In een overzichtelijk datadiagram wordt weergegeven waar de data oorspronkelijk vandaan komt, welke stadia deze doorloopt en hoe de lineage met een druk op de knop inzichtelijk wordt.

Field Level Encryption
Nadat je het juiste dataproduct hebt geselecteerd, kun je via het dataportaal ook direct toegang aanvragen bij de eigenaar. En als het gevoelige data betreft, biedt het dataportaal de mogelijkheid om tot op veldniveau encryptie toe te passen. Hiermee wordt deze data end-to-end encrypted.

Flink
Naast Kafka Streaming zijn er diverse andere oplossingen die onze dataplatformen aanvullen voor stream processing. Daarbij zien we Apache Flink als een defacto standaard en zal Confluent dan ook Flink adopteren in haar dataplatform. Kafka en Flink waren altijd al een sterke combinatie en worden dan ook vaak samen toegepast, noem het een symbiose. We zien eenzelfde adoptiegraad van beide productstacks bij Enterprise-organisaties als Airbnb, Netflix, Uber en ING die deze combinatie toepassen. Flink biedt met haar stream processing oplossing tal van mogelijkheden voor analytics, pipelines, AI en applicatie-use cases. Daarom heeft Confluent Flink geadopteerd en in onze volgende blog zullen we dieper ingaan op wat Flink is en wat dit voor jouw organisatie kan betekenen. Op dit moment is Flink binnen de Confluent-cloud beschikbaar voor publieke review.

Kraft
Vanaf versie 3.6 van Kafka wordt de mogelijkheid geboden om over te stappen van Zookeeper naar Kraft, de nieuwe metadata layer voor Kafka. Vanaf versie 4.0 wordt uitsluitend nog Kraft ondersteund. Er zijn een aantal goede redenen waarom men het Kraft-platform heeft ontwikkeld en verkozen heeft boven Zookeeper. Allereerst is het beheer eenvoudiger, beter schaalbaar en wordt een herstart van Kafka vele malen sneller.

Tiered Storage
Naast Kraft kunnen we nog een aantal wijzigingen verwachten aan de core van Kafka. Zo wordt er gewerkt aan de ondersteuning van Tiered storage, waardoor Kafka flexibeler en eenvoudiger ingezet kan worden in een cloudomgeving.

Wat kunnen we verwachten?
Bij een opensourceproject als Kafka wordt innovatie gedreven door de community. Het is dan ook de community die uiteindelijk de roadmap bepaalt. Om een idee te geven van wat er gaat komen, moeten we kijken naar wat er speelt binnen de community. Hier zien we de volgende ontwikkelingen die eraan komen.

Zoals het HTTP-protocol de standaard is voor webpagina’s, is het Kafka-protocol de standaard voor streaming data. Daarom is het van belang dat het protocol blijft evolueren, zodat het geschikt is en blijft voor de toekomst. Het protocol is misschien vandaag de dag iets te gecompliceerd om door clients te worden geadopteerd. Door het protocol te vereenvoudigen, zullen meer cliënten het gaan adopteren; het zal schaalbaarder en betrouwbaarder worden.

Wat we ook kunnen verwachten is ondersteuning voor two-way commit, waarmee we kunnen garanderen dat de status van de data gelijk is in Kafka als ook in de backend database. Er zal ook ondersteuning komen voor zowel Docker-images op basis van OpenJDK als native GraalVM-images.

Queues voor Kafka
Als laatste zien we de ontwikkeling van queues, waarmee het mogelijk wordt consumentengroepen en partities te ontkoppelen via gedeelde groepen voor gezamenlijk gebruik.

Queues zijn een controversieel onderwerp binnen de Kafka-community. Echter zijn er diverse use-cases denkbaar waarbij queueing toegevoegde waarde kan leveren, dan wel noodzakelijk kan zijn. We zien dit dan ook eerder als een evolutie dan als een controversieel onderwerp. Het brengt de wereld van message queueing en event streaming bij elkaar.

Welke ideeën leven er nog meer?
Er zijn dus veel nieuwe features die vanaf vandaag beschikbaar zijn, zoals het Data Portal, Flink en Kraft. Ook zijn er de nodige zaken die in ontwikkeling zijn en die vanuit de community worden verwacht de komende periode, zoals de simplificering van het Kafka-protocol en ondersteuning van queues. Er zijn ook een aantal vernieuwingen die zich nog in de ideeën fase bevinden en die erg interessant zijn. Zoals autoscaling dan wel partitievrije topics en het toepassen van een directorystructuur voor topics. Dat betekent aanpassingen aan de core, waarbij men er voor waakt dat Kafka zijn kracht behoudt en toch eenvoudig wordt.

De komende maanden zullen we nog dieper ingaan op een aantal recente ontwikkelingen en onze kennis die we hebben opgedaan bij de diverse break-out sessies met je delen. Daarmee sluiten we deze blog af en wie weet zien we elkaar binnenkort in Londen. Lees ook Deel 1

Bart-Jan KeetelsSynTouch on tour naar The Next Generation of Kafka Summit – Deel 2

Related Posts