Eventi,

Kafka Summit London 2019

Siamo stati al secondo Kafka Summit europeo, alla ricerca delle ultime novità su Data Integration e sistemi streaming: nel nostro diario di bordo, speaker d’eccezione, location appropriata, tantissimi spunti di riflessione ed il catering che vorremmo.

Appena arrivati abbiamo subito respirato l’aria del grande evento, il Park Plaza Westminster Bridge di Londra fa da cornice ad un’ottima organizzazione in ogni aspetto, partendo dalla colazione.

I Keynote più interessanti

La prima a salire sul palco è Neha Narkhede, CTO di Confluent: nel suo keynote di apertura (guarda il keynote) non troverete dettagli tecnici, ma piuttosto una overview sui benefici dello stream processing, le novità dell’offerta Confluent e qualche insight sulle direzioni future. Neha è chiara: in un mondo veloce e reattivo come quello in cui viviamo oggi, un’azienda che non abbraccia i dati in real-time è un’azienda che è destinata a rimanere indietro, non solo tecnologicamente, ma su tutta la linea.

Il secondo keynote è invece di Keith Davidson, Director of Group TV Distribution Platforms di Sky, che interpreta Kafka come una piattaforma a sostegno della cultura aziendale, in grado di sfidare la Conway’s law.

Dopo di lui, prende il palco Martin Kleppmann, ricercatore alla University of Cambridge, che molti ricorderanno per il suo celebre talk: “Turning the database inside-out“. Il keynote è un piacere da ascoltare per la qualità dello speaker, che siate dei veri nerd di Kafka come noi o che vi stiate ancora avvicinando al mondo dell’Event Sourcing e dello Stream Processing.

Is Kafka a database?“. Martin ritiene che sia molto di più: Kafka fornisce gli elementi di base per costruirsi il proprio Data Layer applicativo, secondo un paradigma OnLine Event Processing (OLEP, in contrapposizione ai classici OLTP e OLAP), in grado di garantire proprietà più o meno ACID sui dati laddove le transazioni distribuite hanno fallito, come spiega in questo articolo recentissimo.

Di cosa si è parlato al Kafka Summit

Inizia poi la raffica di talk con tantissimi interventi interessanti, ottime occasioni di apprendimento ed esperienze di vita vissuta. Qui sotto l’elenco delle diverse track tematiche, e poi una selezione di cosa abbiamo trovato più interessante.

  • Core Kafka, per vedere cosa succede sotto al cofano e capire qualcosa di più sulle problematiche nei sistemi distribuiti
  • Event-Driven Development, per rivedere in salsa Kafka concetti di Domain Driven Design ormai abbastanza consolidati (Event Sourcing, CQRS, ecc.)
  • Stream Processing, per gli appassionati di Fast Data e sistemi “at scale”
  • Use Cases, per capire come calare in un caso concreto patterns e tecnologia

I talk che ci sono piaciuti di più

Data la vasta scelta, proviamo a proporvi gli interventi che abbiamo trovato più interessanti, tutti corredati del link alla registrazione in un comodo elenco, sit back and relax.

Un primo intervento che abbiamo particolarmente apprezzato, dal titolo: “Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Were Afraid to Ask“, è un deep dive nel protocollo di rebalancing di Kafka, tenuto da Matthias J. Sax (Confluent). È il genere di talk che fa riflettere su quanto siano complessi i problemi nel mondo dei sistemi distribuiti, e di quanto sia fondamentale affidarsi a qualcuno che li ha studiati approfonditamente piuttosto che ?reinventarsi la ruota? sviluppando il proprio sistema.

Un altro talk estremamente utile e pratico: “Show Me Kafka Tools That Will Increase My Productivity!“, una overview dei tools a disposizione per interagire con Kafka a differenti livelli (da semplici UI per esplorare dati e configurazioni, all?automation delle operations, security, etc.), tenuto da Stephane Maarek (DataCumulus). Perchè usare manualmente una CLI quando esistono tools che ci rendono la vita più semplice? Date fiducia allo speaker, che da metà talk in poi riuscirà anche a mostrarvi demo live, grazie ad una connessione più stabile arrivata in extremis.

Dan Rosanova (Microsoft) ci ha riportato alla realtà con il suo talk intitolato: “Hard Truths About Streaming and Eventing“. L’event sourcing e lo stream processing non sono la panacea di tutti i mali: è importante capirne le implicazioni ed i trade-offs per evitare di rimanerne “scottati”: il talk affronta temi delicati come le politiche di partizionamento dei dati per evitare le “hot keys”, i limiti sul “fan out”, il compromesso sempre vivo tra Availability e Consistency (a.k.a., CAP Theorem), fino a discutere strategie per gestire logicamente i fallimenti applicativi (retry, stop, drop e/o dead letter? La scelta è lasciata al caso applicativo). Dan è uno speaker brillante ed il talk scorre veloce, assolutamente da vedere.

Ed infine, se proprio non potete evitare transazioni distribuite, il talk: “Simplifying Distributed Transactions with Sagas in Kafka” potrebbe fare al caso vostro. Dopo una introduzione sulle differenze tra un classico “Two Phase Commit” ed una “Saga”, Stephen Zoio (Simple Machines) entra nel vivo del protocollo, presentando poi una implementazione che sfrutta una libreria interessante per implementare Sagas in Java su Kafka.

In cerca di qualcosa di meno tecnico?

Il Kafka Summit si è reso estremamente utile anche per le figure meno tecniche. In particolare, vi segnaliamo un intervento di Lyndon Hedderly, direttore Customer Solution per Confluent: nel il suo talk: “Connecting Kafka to Cash (CKC)” non si è parlato di aspetti tecnici, quanto piuttosto del ritorno sull’investimento che soluzioni streaming sono in grado di portare. Kafka viene quindi presentata come tecnologia in grado di accumulare, cristallizzare e sprigionare valore a seconda del suo utilizzo. Per facilitare la comprensione, i tre use case affrontati da Hedderly sono stati: Atm Disputes, Customer 360 e gestione delle frodi.

Ancora qualche intervento interessante

L’elenco potrebbe continuare, tra casi applicativi nel mondo IoT (Talking traffic data in the drivers seat), temi di security e privacy per affrontare la GDPR (Handling GDPR Apache Kafka comply freaking), episodi di vita vera di gestione “at scale” di un cluster multi-tenant (Don’t be scared by multitennant cluster support at scale), fino ad un talk molto interessante di un nostro connazionale che speriamo di avere presto ospite al nostro meetup milanese (Source of truth twice).

Purtroppo questo blog post non puì sostituire l’esperienza di un Summit, le chiacchiere con speaker ed appassionati su esperienze di vita e casi d’uso, o il sentirsi parte di una community streaming che sta crescendo in tutto il mondo, come da noi in Italia. Apache Kafka è molto più di una tecnologia, è un “catalizzatore” verso una nuova era nel campo della gestione dei dati in tempo reale, con tutto quello che ne consegue.

Il viaggio continua, ti aspettiamo a bordo al prossimo #KafkaMeetUpMilan!