Event Catalog: ottimizza la tua architettura event-driven

9 minutes Leggi
28 Marzo 2024

Nel nostro precedente articolo sui data catalog, abbiamo approfondito il loro ruolo cruciale nell’organizzazione e nella gestione di vasti set di dati nelle aziende moderne. In questo articolo faremo un ulteriore step, analizzando gli event catalog e le architetture event-driven (EDA).

Le EDA stanno crescendo in popolarità, soprattutto per le architetture complesse basate sui servizi: l’indagine commissionata da Solace nel 2021 riporta che l’85% delle organizzazioni ha messo in piedi delle architetture event-driven per soddisfare le proprie esigenze aziendali. Tuttavia, con l’aumento dei flussi di eventi, scoprire quelli cruciali, gestire il loro intricato flusso e garantire la qualità dei dati è diventato un compito arduo. È qui che emerge la necessità di una nuova evoluzione nella gestione dei dati: i cataloghi di eventi (event catalog).

I cataloghi di eventi sono la svolta nella gestione dei dati all’interno di architetture event-driven. Essi fungono da inventario completo dell’intero ecosistema di eventi, come un dizionario dettagliato che cattura il chi, il cosa, il dove e il perché di ogni evento.
In questo articolo analizzeremo questi componenti cruciali in questo modo:

  • Forniremo un’introduzione ai cataloghi di eventi, mostrando come siano un passo successivo nella gestione dei dati;
  • I vantaggi della catalogazione degli eventi e i suoi concetti chiave;
  • Come sfruttare la potenza dei cataloghi di eventi con i Digital Integration Hubs.

Cos’è un event catalog

“Event catalog” (catalogo di eventi) è un termine generico che comprende le funzionalità dello schema registry (repository), delle API dello schema registry e del sito della documentazione. Si riferisce a un archivio centralizzato che elenca o documenta gli eventi che possono verificarsi in un sistema software. These events often correspond to specific actions, triggers, or occurrences that the developers must be aware of and respond to.

I cataloghi di eventi illuminano il panorama degli eventi, semplificando la scoperta, assicurando la coerenza e fornendo ai team di sviluppo e di analisi dei dati un contesto aggiuntivo agli eventi che utilizzano. Sono progettati per aiutare a documentare e catturare gli eventi, i proprietari, le versioni, i produttori, i consumatori, i servizi, i domini, gli schemi, gli esempi di codice e molto altro ancora. Grazie a questi dettagli, è possibile delineare il significato dell’evento e suggerire indagini, risoluzione dei problemi e le relative probabili cause.

Proprio come i data catalog guidano i team attraverso gli ingenti volumi di dati, i cataloghi di eventi mappano gli intricati percorsi degli eventi, consentendo la facilità d’uso, una miglior Developer Experience e la gestione dei costi di manutenzione in un’architettura event-driven.

Concetti chiave di un event catalog

La catalogazione degli eventi implica diversi concetti chiave che sono fondamentali per la comprensione e l’implementazione delle architetture event-driven.

  • Eventi personalizzati: Gli eventi personalizzati sono cambiamenti di stato significativi all’interno di un sistema software. Azioni dell’utente, processi di sistema, integrazioni esterne o altre fonti possono innescare eventi.
  • Servizi: I servizi sono semplicemente applicazioni che producono o consumano eventi. I servizi sono spesso assegnati a un proprietario e, facoltativamente, hanno specifiche OpenAPI or AsyncAPI allegate.
  • Dominio: I domini sono raggruppamenti di eventi e servizi. Hanno lo scopo di stabilire confini chiari e di alto livello, fornendo un’organizzazione al sistema. In genere, a ogni dominio viene assegnato un proprietario dedicato per una gestione efficace.
  • Attributi degli eventi: Un altro concetto fondamentale del catalogo degli eventi è quello degli attributi degli eventi. È essenziale definire attributi che descrivano efficacemente l’evento in termini di quantità e qualità. Questi attributi specificano il nome, il valore, il codice evento, il canale e il tipo di dati di un evento, aumentando in modo significativo il valore della notifica dell’evento.

I cataloghi di eventi sono essenziali in un sistema event-driven, in cui i componenti comunicano spesso attraverso eventi. Per avere un quadro più ampio di come i cataloghi di eventi entrano in gioco, analizziamo cosa significa essere event-driven.

Che cosa significa essere event-driven?

Gli eventi sono aggiornamenti o cambiamenti di stato che si verificano all’interno o all’esterno di un’organizzazione e che possono essere rilevati, registrati e successivamente comunicati. Pertanto, un evento può essere qualsiasi azione all’interno o verso un sistema, come gli acquisti dei clienti, gli aggiornamenti dell’inventario, le violazioni della sicurezza o i cambiamenti di stato delle applicazioni.

Quindi, essere event-driven significa essere guidati dalle azioni o dai cambiamenti di stato di un ambiente. Invece di avviare attività in modo proattivo, un sistema event-driven attende che si verifichino specifiche situazioni (gli eventi) e reagisce di conseguenza. Si pensi a un automobilista che reagisce all’ambiente circostante mentre è nel traffico: frena in caso di semaforo rosso, gira il volante in caso di curva e accelera in caso di semaforo verde.

Gli eventi sono caratterizzati dalla loro natura immutabile e fungono da record permanente di eventi con una durata di vita indefinita che possono essere elaborati in qualsiasi momento. In un EDA, è probabile che un evento dia luogo a una o più azioni o processi al suo verificarsi.

Benefici di un event catalog

La documentazione e la gestione dell’enorme volume e varietà di eventi nelle EDA presentano sfide immense: scoprire gli eventi cruciali, districare il loro intricato flusso e garantire la qualità dei dati. Tuttavia, un catalogo di eventi offre diversi vantaggi che affrontano queste sfide, tra cui:

  • Creare un archivio centralizzato che documenta servizi e schemi.
  • Descrivere gli eventi utilizzando attributi chiave e fornire una storia dettagliata di questi eventi.
  • Offrire ai team una visione completa per comunicare e visualizzare la definizione degli eventi, gli schemi dei payload e altre dipendenze dei servizi.
  • Consentire di raggruppare i servizi e gli eventi per dominio.
  • Creare interfacce utente interattive per produttori e consumatori per esplorare gli eventi, contesti delimitati e altro ancora.
  • Migliorare la developer experience, aiutando i team ad affrontare direttamente i problemi e riducendo così l’impatto di eventuali blocchi.

Come Netflix e Zalando hanno ottenuto un aumento della redditività e dell’esperienza degli sviluppatori con EDA

L’EDA offre diversi casi d’uso, tra cui il rilevamento delle frodi, gli aggiornamenti end-to-end, l’Internet of Things (IoT), il monitoraggio dei siti web, l’elaborazione dei pagamenti e il marketing in tempo reale. Le aziende investono nell’EDA soprattutto per le sue capacità in tempo reale, che consentono alle organizzazioni di rispondere in modo rapido ed efficiente alle richieste dinamiche del mercato. Lo fanno anche per beneficiare della sua natura disaccoppiata, che offre la flessibilità necessaria per navigare e gestire le interruzioni impreviste.

Negli ultimi anni, diverse organizzazioni rinomate hanno adottato l’EDA nelle loro applicazioni. Ad esempio, Netflix aveva incontrato diversi problemi di business e sfide nel tracciare le spese, programmare cataloghi e produrre report finanziari. Perciò, ha costruito un’architettura a microservizi alimentata da flussi di eventi per risolvere questi problemi cruciali di logica aziendale. Questi microservizi, come i motori di raccomandazione e le reti di distribuzione dei contenuti, comunicavano attraverso gli eventi, garantendo la personalizzazione in tempo reale e l’ottimizzazione della distribuzione dei contenuti. Netflix ha adottato Apache Kafka® come standard de-facto per l’eventing, la messaggistica e l’elaborazione dei flussi. Questo ha introdotto una piattaforma altamente scalabile e capace di tollerare guasti, in grado di adattarsi rapidamente ai cambiamenti del comportamento degli utenti e dell’offerta di contenuti.

Un altro esempio di successo con le EDA è il caso di Zalando, un importante rivenditore di moda online la cui architettura è incentrata su microservizi disaccoppiati. L’azienda gestisce un sistema molto complesso con numerosi microservizi che interagiscono tramite eventi per l’elaborazione degli ordini, l’aggiornamento dell’inventario e le raccomandazioni personalizzate. Sfruttando approcci event-driven asincroni, Zalando ha implementato un event catalog per fornire un’unica fonte di verità per tutte le definizioni di eventi, compresi schemi, produttori, consumatori e documentazione associata. Questo ha migliorato la developer experience, consentendo una facile scoperta e comprensione degli eventi disponibili. Inoltre, ha ridotto gli errori e le incoerenze nell’utilizzo degli eventi.

In generale, i cataloghi di eventi sono fondamentali per il successo delle organizzazioni che si affidano agli EDA. Consentono a chi sviluppa di osservare e monitorare i flussi di eventi, ottimizzando così l’efficienza e la scalabilità e favorendo la flessibilità, l’agilità e il miglioramento delle prestazioni operative.

Sfruttare la potenza dei cataloghi di eventi

Il Digital Integration Hub (DIH) agisce come un archivio di dati ad alte prestazioni, a bassa latenza e scalabile, sincronizzato con le fonti di backend tramite una combinazione di modelli di integrazione basati su eventi, richieste e batch. I DIH gestiscono eventi e dati in modo multiforme, concentrandosi principalmente sull’EDA e sull’elaborazione in tempo reale. Sfrutta le capacità del catalogo degli eventi disaccoppiando i sistemi back-end dai servizi front-end. Facilita un ampio accesso basato su API alle applicazioni e ai dati in un sistem of record, garantendo un impatto minimo sul carico di lavoro del sistema. Inoltre, aggiunge valore attraverso le funzionalità di analisi.
Mia-Platform è l’abilitatore pronto all’uso per il Digital Integration Hub. Potrai facilmente costruire il tuo Digital Integration Hub utilizzando Mia‑Platform Fast Data. Questo strumento garantisce un’EDA che raccoglie i dati da qualsiasi sistema esistente e li organizza in base alle esigenze aziendali, migliorando al contempo la developer experience complessiva.

Conclusione

L’EDA consente comunicazioni in tempo reale tra sistemi e servizi in ambienti e aree geografiche diverse, tra cui le transazioni delle filiali di sicurezza, i sistemi di prestito, i siti di e-commerce, i sistemi di pagamento, i dati dei conti, ecc. Tuttavia, introduce anche alcune nuove difficoltà e complessità, che possono essere affrontate attraverso una corretta catalogazione degli eventi. È importante notare che l’adozione dell’EDA non è un approccio unico. Ogni organizzazione dovrebbe personalizzare la propria implementazione per soddisfare esigenze e sfide specifiche.

Grazie ai prodotti di Mia-Platform sarai in grado di creare la tua event platform completa e tarata sulle tue esigenze aziendali specifiche. Guarda questa
video demo per vedere come crearne una in meno di 10 minuti!

Banner event platform demo
Torna all'inizio ↑
INDICE
Cos’è un event catalog
Che cosa significa essere event-driven?
Benefici di un event catalog
Come Netflix e Zalando hanno ottenuto un aumento della redditività e dell’esperienza degli sviluppatori con EDA
Sfruttare la potenza dei cataloghi di eventi
Conclusione