Così Cerved gestisce i dati in costante crescita
Il progetto realizzato con il supporto di Bitrock ha previsto l’adozione di Kafka permettendo di raggiungere quattro risultati principali.
In tutti i settori, il problema più grande è rappresentato dalla necessità di riorganizzare le aziende sulla base di sistemi modulari e distribuiti. È da questa considerazione che Cerved, operatore primario in Italia nell’analisi del rischio del credito, si è valsa dell’aiuto di Bitrock nel raccogliere la sfida di gestire una quantità di dati in costante e rapida crescita, per poter essere sempre più capace di fornire ai vari servizi finanziari i dati necessari all’analisi del rischio di credito, alle soluzioni di marketing, alla gestione di crediti deteriorati e crediti inesigibili. In particolare, il ruolo di Bitrock è diventato cruciale nel momento in cui l’azienda ha iniziato a percepire come esigenza primaria quella di progettare architetture di dati in grado di elaborare e fornire risultati in modo resiliente, elastico e scalabile.
L’utilizzo di soluzioni NOSQL, indispensabili per poter sfruttare al meglio il patrimonio informativo Cerved con algoritmi intelligenti (network analysis, machine learning, ecc…), ha portato ad avere una architettura complessiva che presentava alcune criticità, legate alla replicazione di dati e logiche di business, alla scalabilità degli ETL, all’aggiornamento real time di tutti i sistemi di persistenza.
Nell’attuale scenario, invece, i servizi e le applicazioni hanno bisogno di maggiore larghezza di banda e/o una minore latenza nell’accesso ai dati, generando un effetto che Dave McCroy, nel 2010, ha definito “Data Gravity”: una forza che spinge i servizi e le applicazioni verso i dati.
I maggiori punti critici riconosciuti da Bitrock come ostacolanti all’evoluzione di Cerved erano principalmente tre:
• un unico data model, che costringe le applicazioni ad adattarsi
• diverse viste degli stessi dati, che dovrebbero concordare
• un processo batch-based, che rallenta l’acquisizione dei dati
Di conseguenza, il ruolo di Bitrock è stato quello di supportare Cerved nell’affrontare e risolvere quattro interrogativi principali:
• Come si può avere un sistema di replicazione dei dati affidabile, che permetta di salvare le applicazioni più importanti e di assicurare il mantenimento del servizio e, quindi, degli affari e della reputazione?
• Come centralizzare le regole di trasformazione dei dati in grado di trasformare i valori di origine prima che questi vengano applicati all’origine dati e all’obiettivo?
• Come può l’azienda catturare ogni singolo dato il più velocemente possibile, su larga scala, distribuendoli e condividendoli con tutte le aree?
• Come si ottiene la modularità? Le ETL tradizionali sono costruite per gestire grandi volumi di dati a bassa velocità, costringendo gli utilizzatori a scegliere tra la flessibilità o latenza. Come si possono soddisfare le richieste di risposta in tempo reale?
Velocità e affidabilità
La soluzione ipotizzata consiste in un piano d’azione evolutivo che porti a realizzare un’architettura in grado di aggiornare i dati velocemente e in modo affidabile. Ciò significa definire dei componenti che reagiscano agli eventi di sistema e producano eventi ad alto livello che possono essere usati nelle applicazioni finali; separare i componenti; separare i write model dai read model (CQRS) per ottimizzare la produzione e il consumo dei dati. Per raggiungere tale obiettivo, è emersa l’opzione di utilizzare Kafka come piattaforma su cui disegnare la nuova architettura, affidandosi proprio all’esperienza pluriennale di Bitrock.
Di concerto con i responsabili dell’architettura software e il reparto commerciale di Cerved, Bitrock ha progettato, definito e implementato un POC incentrato su Apache Kafka. La piattaforma Confluent che semplifica la connessione delle fonti a Kafka, la costruzione delle applicazioni con Kafka, oltre alla gestione e monitoraggio dell’infrastruttura di Kafka.
“Con Kafka – afferma Antonello Mantuano, Head of Software Engineering di Cerved Group – abbiamo trovato la soluzione alla Data Gravity. L’approccio streaming e Kafka sono il carburante per decollare verso un’architettura dati modulare, ad alta prestazione e pulita, dove poter sfruttare al meglio nosql, bigdata, cloud, microservices, ecc.”
In conclusione, inserire una piattaforma streaming al centro dell’architettura ha aperto diverse nuove opportunità. In particolare, centralizzando i dati all’interno dell’azienda e ridistribuendoli ai servizi e alle applicazioni, Bitrock ha consentito al cliente di raggiungere quattro risultati chiave:
• Replicazione continua dei dati
• Processi quasi in tempo reale
• Regole aziendali centralizzate
• Modularità e affidabilità
L’implementazione di Kafka ha prodotto anche altri effetti importanti; i dati in tempo reale, infatti, migliorano l’efficienza operativa, il che ha consentito a Cerved di ottenere:
• Event-time processing
• Latenze di pochi milli-secondi
• Alta efficienza e basso impatto su Kafka
“Sulla base di questi risultati – afferma Damiano Tarantino, Head of Architecture and Infrastructure di Cerved – i prossimi passi nella nostra evoluzione generale dell’architettura saranno: una vera piattaforma per i microservice, dove ogni dispositivo è un’unità indipendente dislocabile, e una data mesh con un cambiamento da un bacino di dati centralizzato a un ecosistema di prodotti data che convivono.