GlueSync per la Logistica: dati in tempo reale per la Business Intelligence

Magazzino Logistica GlueSync

Eccoci qui, come promesso, a guidarvi attraverso alcuni casi d’uso di GlueSync nel mondo reale.

Il primo caso d’uso che vi voglio presentare è l’utilizzo di GlueSync nel progetto di un cliente che opera nel settore della logistica coprendo, su scala globale, la catena di fornitura di beni alimentari. 

Prima di tutto, un’introduzione sul business di beni alimentari

Le merci provengono da diversi luoghi, alcune via mare, altre per via aerea e il resto, come si può immaginare, via terra. Tutte le merci poi, viaggiano per raggiungere i centri di spedizione e i magazzini situati, in questo caso, in tutti gli Stati Uniti. Gli articoli vengono, quindi, spediti e caricati su camion che raggiungeranno presto il cliente specifico che li ha ordinati, nelle quantità adeguate e molto più importanti nel tempo, preservando le temperature di conservazione.

Lungo tutto il percorso il cliente vuole ottenere il maggior numero di dati possibile per monitorare meglio tutte le informazioni relative al processo e alla catena di fornitura: ordini, spedizioni, prelievi, trasferimenti, quantità, posizioni, camion e frigoriferi, dati IoT (posizione, temperatura della merce).

Con tutti questi dati, sono in grado di elaborare piani di spedizione e individuare finestre temporali per meglio adottare strategie di consegna e conservazione della merce e raggiungere i clienti in tempo.

Panoramica dell’infrastruttura attuale

La vecchia architettura

Il business opera sotto un ERP costruito su Oracle Database che gestisce praticamente tutti i loro processi. Ogni sede, in pratica ogni magazzino e centro logistico del cliente, ha il proprio ERP installato e il proprio Oracle Database situato all’interno di un data center on-prem. Ogni sede funziona in modo indipendente e ogni notte c’è una procedura di importazione batch che allinea i sistemi centrali situati nella sede principale in cui viene elaborata tutta la business intelligence.

Business intelligence in scala

L’intelligence ha un’importanza cruciale qui, in un business che trasferisce tonnellate di dati in molte località, immaginate di dover gestire il business “Amazon.com”: avrete bisogno di una business intelligence davvero potente per prendere le decisioni giuste. Ed è quello che hanno: hanno costruito una BI utilizzando i potenti strumenti offerti da Tableau. Questo permette al business di prendere decisioni basate sui dati che vengono elaborati e visualizzati all’interno delle interfacce di Tableau tramite query eseguite in cima al cluster HQ Oracle Database.

Il problema

Avere dati disponibili solo il giorno dopo sta diventando un problema: il business è in crescita, i clienti chiedono di più in termini di lead time e tempi di risposta, i concorrenti grandi o piccoli offrono un feedback quasi in tempo reale non appena viene effettuato un ordine, e le startup di consegna di prodotti alimentari stanno spuntando ovunque offrendo servizi che non si potevano nemmeno immaginare 10 anni fa. Come trasformare il paradigma aziendale in un modello più veloce?  

Passaggio a Couchbase

Il cliente ha cercato nel mondo NoSQL la possibile soluzione per far evolvere l’attuale infrastruttura dati verso un’infrastruttura a prova di futuro e ha trovato in Couchbase un buon partner: offre una tecnologia analitica in grado di eseguire query isolate dal resto delle operazioni eseguite all’interno del database; ha un supporto mobile grazie al SyncGateway in modo da poter fornire migliori applicazioni mobili alla forza lavoro potendo finalmente dismettere i PDA Windows ad alto costo, a batteria scarica e i vecchi PDA Windows utilizzati in ogni centro logistico. 

Solo questo? Couchbase supporta Tableau tramite i driver ODBC, offerti da CDATA (un buon esempio può essere trovato qui). Pertanto, questo cambiamento non richiede la riscrittura di tutte le interfacce di BI, l’adozione di questa tecnologia ha un buon ROI per il CEO perché porterà presto a una riduzione del costo delle risorse infrastrutturali attualmente destinate all’enorme cluster di Oracle Database e a mantenere le procedure batch personalizzate che mantengono i sistemi allineati ogni notte.

Dite addio ai cari vecchi amici batch jobs!

Sicuramente felici di salutarli, hanno servito l’azienda del cliente per decenni, ma è ora di dismetterli. Costano soldi e risorse per mantenerli nel tempo e i tecnici IT hanno avuto paura di toccarli ogni volta che è stato necessario aggiungere un nuovo campo o una nuova tabella come richiesto dell’azienda.

Un cambiamento può portare a una perdita di dati imprevedibile o a un malfunzionamento che può essere noto solo il giorno successivo o se qualcuno se ne accorge a causa di un ordine di un cliente scaduto che è andato perso in qualche modo inspiegabile… e senza parlare di resilienza della rete e di coerenza dei dati, quanto è difficile ottenere questo risultato all’interno di uno script di lavoro batch? Meglio lasciar perdere tutto e ricominciare da capo, credo.

Allontanarsi dal legacy con GlueSync

GlueSync si inserisce bene in questo scenario grazie alla sua capacità di connettersi direttamente a più fonti di dati Oracle e di scaricare i dati dalle sue tabelle pompandoli all’interno di Couchbase. 

La topologia adottata è quella rappresentata nel diagramma sottostante.

La nuova architettura dopo l’integrazione di Couchbase e GlueSync

Nel datacenter HQ abbiamo implementato un nodo GlueSync per ogni sorgente dei dati Oracle (5 in totale) vicino al cluster Couchbase utilizzando la stessa infrastruttura Kubernetes, in questo modo siamo in grado di orchestrare anche il nodo dei connettori. 

Ogni nodo connettore si connette alla rispettiva istanza del Database Oracle installato sul datacenter remoto situato nei magazzini del cliente attraverso un tunnel VPN site-to-site su una connessione in fibra WAN.

Cosa succede se cade la rete

Alcuni potrebbero chiedersi cosa succede quando il tunnel VPN o la WAN cade: nessuna preoccupazione. Il connettore è progettato per essere resiliente, dal punto di vista della rete, e per evitare questo tipo di guasti, memorizza l’ultimo checkpoint dell’ultima transazione consumata e correttamente sincronizzato, in entrambi i modi.

Raggiungere l’obiettivo quasi in tempo reale

L’adozione di un approccio che reagisce agli eventi invece di programmare le importazioni ci ha portato a raggiungere l’obiettivo di avere dati disponibili dall’altra parte non appena il cambiamento è in atto. GlueSync utilizza le funzionalità native del database Oracle per essere avvisati delle modifiche apportate all’interno delle tabelle, per transazione e a livello di riga: si chiama Xstream API ed è parte della suite di database Oracle.

Trasferimento dei dati da Oracle a Couchbase

Ora che sapete come funzionano le cose sotto il cofano, vi descriverò un modello di dati di questo caso d’uso (naturalmente ogni informazione sensata è stata omessa per motivi di privacy).

Un esempio della tabella “Ordini” convertita tramite GlueSync in un documento JSON compatibile con Couchbase

Iniziamo a costruire on top

Un passo verso il futuro è stato fatto ora che i dati provengono dalle diverse posizioni del database Oracle e sono raccolti in tempo quasi reale all’interno del cluster centrale Couchbase situato nel datacenter HQ, in questo modo Tableau può essere consultato lungo la giornata con la certezza di avere a disposizione dati freschi su cui l’azienda può contare.

Con i dati disponibili in Couchbase si possono ora perseguire molti scenari: abbiamo parlato in precedenza dell’app per la forza lavoro, giusto? Non sarebbe quindi interessante portare i dati sui dispositivi mobili e sincronizzarli nuovamente con l’ERP? Niente di più facile di questo. 

Ma questa è tutta un’altra storia. 

Al prossimo articolo.

conosciamo solo un quinto di ciò che vive in profondità. tutto il resto è da esplorare.

coderspace sta arrivando.