Al Kafka Meetup si parla di dati, di come analizzarli ed arricchirli, e di come distribuirli velocemente, anche quando si tratta di trasferire un enorme mole di informazioni, tanto grande da pesare sul resto del progetto element
Il team di Cerved ci presenta la propria esperienza nella costruzione ed evoluzione della loro Data Platform, introducendo al pubblico del Meetup il concetto di “Data Gravity”. La piattaforma in questione, sviluppata con il prezioso supporto di BitRock, aiuta le aziende a prendere decisioni strategiche sulla selezione dei partner industriali, la gestione delle attività di marketing, la business intelligence e molto altro. Una vastissima quantità di dati permette a raffinati algoritmi di analisi di sintetizzare le informazioni più significative per i clienti di Cerved: in questo contesto è possibile percepire la grande forza di “attrazione gravitazionale” dei dati, dovuta proprio alla loro mole sempre crescente, come spiega bene McCrory nel suo blog.
La Data Platform sviluppata in Cerved nasce parecchi anni fa, gestendo dati su un classico database relazionale Oracle, ed è evoluta continuamente fino ad integrare oggi decine di microservizi e le soluzioni di data streaming offerte dalla Confluent Platform. Il team di Cerved ci racconta quali difficoltà e soluzioni hanno trovato quando la grandissima massa di dati alla base della loro piattaforma ha cominciato ad “attirare a sé” tutti i servizi e le applicazioni, come un unico gigantesco pianeta monolitico a cui tutti sono costretti ad accedere per ottenere i dati di cui hanno bisogno. Frammentare i dati in sistemi di storage differenti e distribuiti sembra quindi la soluzione migliore per ovviare al problema: mantenere la “polyglot persistence” e la consistenza (almeno, “eventually”!) in un sano sistema distribuito diventa però la vera sfida, continuando a garantire latenza e throughput adeguati.
In questo contesto, Apache Kafka si rivela uno strumento perfetto per rompere la Data Gravity, ed è proprio per questo che con Cerved e BitRock abbiamo affrontato l’argomento in un Meetup che ha soddisfatto ogni tipo di ascoltatore: dopo una prima introduzione sul Business Case ed il contesto applicativo, il talk procede con la presentazione dell’architettura a microservizi di Cerved, scendendo sempre più nel codice man mano che ci si addentra nella pipeline di processing. Per i più tecnici, è interessante scoprire come sia possibile gestire modelli Avro eterogenei nel medesimo topic Kafka (un interessante punto di vista a riguardo, direttamente dal blog di Confluent), grazie all’uso di differenti strategie di serializzazione/deserializzazione (TopicNameStrategy, RecordNameStrategy o TopicRecordNameStrategy).
Per chi di voi non fosse stato dei nostri, o per chi vuole rivivere questo viaggio al centro dei dati, ecco la registrazione dell’intero evento.