Nel 2019 Amazon ha costruito un data lake in grado di supportare una delle più grandi reti logistiche del pianeta, in seguito noto come Galaxy data lake

Data Lakes: Amazon e la sfida dei Big Data

Quando Jeff Bezos portava i pacchi all’ufficio postale dopo aver preparato gli ordini nel suo garage, elaborare i numeri dei costi, tracciare l’inventario e prevedere la domanda futura era relativamente semplice. Ora, avanti veloce di 25 anni e l’attività di vendita al dettaglio di Amazon conta più di 175 centri di adempimento (FC) in tutto il mondo con oltre 250.000 impiegati a tempo pieno che spediscono milioni di articoli al giorno. Il team globale delle operazioni finanziarie di Amazon ha l’incredibile compito di tracciare tutti questi dati (si pensi a quanti petabyte). Oggi una metrica calcolata male, come il costo per unità, o i dati in ritardo possono avere un impatto enorme (si pensi a quanti milioni di dollari). Il team è costantemente alla ricerca di modi per ottenere dati più precisi e più velocemente.

Ecco perché, nel 2019, hanno avuto un’idea: costruire un data lake in grado di supportare una delle più grandi reti logistiche del pianeta che in seguito sarebbe diventato noto come il Galaxy data lake. Il data lake di Amazon è stato costruito nel 2019 e ora tutti i vari team stanno lavorando per trasferirvi i loro dati.

Un data lake è un repository sicuro e centralizzato che permette di memorizzare, governare, scoprire e condividere tutti i dati strutturati e non strutturati su qualsiasi scala. I data lake non richiedono uno schema predefinito, quindi è possibile elaborare i dati grezzi senza dover sapere quali intuizioni si vuole esplorare in futuro.

Le sfide che Amazon ha affrontato con i big data sono simili alle sfide che molte altre aziende si trovano ad affrontare: silos di dati, difficoltà nell’analisi di diversi set di dati, controllo dei dati, sicurezza dei dati e incorporazione dell’apprendimento automatico (Machine Learning). Diamo un’occhiata più da vicino a queste sfide e vediamo come un data lake può aiutare a risolverle.

Eliminare i data silos

Uno dei motivi principali per cui le aziende scelgono di creare un data lake è quello di eliminare i silos di dati. Avere sacche di dati in luoghi diversi, controllati da gruppi diversi, oscura inevitabilmente i dati. Questo accade spesso quando un’azienda cresce rapidamente e/o acquisisce nuovi business. Nel caso di Amazon, sono successe entrambe le cose.

Per espandersi a livello internazionale e creare rapidamente nuovi programmi di spedizione (ad esempio, FREE Same-Day Delivery o Amazon Fresh), la maggior parte dei team di pianificazione delle operazioni ha avuto il controllo dei propri dati e della propria tecnologia. Di conseguenza, i dati sono stati memorizzati in luoghi e in modi diversi. Questo approccio ha consentito a ciascun team di affrontare i problemi, rispondere alle esigenze dei clienti e innovare più rapidamente. Tuttavia, è più difficile dare un senso ai dati a livello organizzativo e aziendale in quanto richiede la raccolta manuale dei dati da molte fonti diverse. Con così tanti team che operano in modo indipendente, si perde l’efficienza che si potrebbe ottenere risolvendo i problemi insieme.

Un data lake risolve questo problema unendo tutti i dati in un’unica posizione centrale.

Analisi di diversi set di dati

Un’altra sfida dell’utilizzo di sistemi e approcci diversi alla gestione dei dati è che le strutture dei dati e le informazioni variano. Ad esempio, Amazon Prime dispone di dati per i centri logistici e le merci confezionate, mentre Amazon Fresh dispone di dati per i negozi di alimentari e dei diversi generi alimentari. Inoltre, anche i programmi di spedizione differiscono a livello internazionale; ad esempio, le scatole possono variare di dimensioni e forma da paese a paese. Non solo, c’è anche una quantità crescente di dati non strutturati provenienti da dispositivi legati all’Internet of Things (IoT) (come i sensori sulle macchine dei centri logistici).

Se si volesse combinare tutti questi dati in un data warehouse tradizionale senza un data lake, sarebbe necessario un enorme lavoro di preparazione dei dati e di esportazione, trasformazione e caricamento (ETL). Un sistema rigido infatti comporta dei compromessi in termini di quali dati tenere e quali perdere e un continuo cambiamento strutturale.

I data lakes permettono di importare qualsiasi quantità di dati in qualsiasi formato – anche in tempo reale – perché non esiste uno schema predefinito. È possibile raccogliere dati da più fonti e spostarli nel data lake nel loro formato originale e creare collegamenti tra informazioni che potrebbero essere etichettate in modo diverso ma che rappresentano la stessa cosa. Lo spostamento di tutti i dati in un data lake migliora anche ciò che si può fare con un data warehouse tradizionale avendo la flessibilità di memorizzare dati altamente strutturati e a cui si accede frequentemente in un data warehouse e allo stesso tempo mantenendo fino a exabyte di dati strutturati, semi-strutturati e non strutturati all’interno del data lake.

Gestione dell’accesso ai dati

Molti database richiedono il supporto della gestione degli accessi per fare cose come cambiare i profili o reimpostare le password. Inoltre, per ogni database devono essere effettuati audit e controlli per garantire che nessuno abbia un accesso improprio.

Con un data lake, invece di gestire l’accesso per tutti i diversi luoghi in cui sono memorizzati i dati, ci si deve preoccupare solo di una serie di credenziali. I data lakes abilitano controlli che consentono agli utenti autorizzati di vedere, accedere, elaborare e/o modificare specifici asset e aiutano a garantire che gli utenti non autorizzati non possano intraprendere azioni che possano compromettere la riservatezza e la sicurezza dei dati.

Con un data lake, i dati sono memorizzati in un formato aperto che rende più facile lavorare con diversi servizi analitici. Vari ruoli nella vostra organizzazione, come Data Scientists, ingegneri dei dati, sviluppatori di applicazioni e analisti aziendali, possono accedere ai dati con qualsiasi strumento analitico e framework.

Accelerare l’apprendimento delle macchine

Un data lake è una potente base per ML e AI (intelligenza artificiale), visto che prosperano su grandi e diversi set di dati. Il ML utilizza algoritmi statistici che imparano dai dati esistenti, un processo chiamato formazione, per prendere decisioni su nuovi dati, un processo chiamato inferenza. Durante l’addestramento, vengono identificati modelli e relazioni nei dati per costruire un modello che permetterà di prendere decisioni intelligenti basate su dati mai incontrati prima. Più dati si hanno a disposizione migliore sarà l’addestramento dei modelli ML, con conseguente miglioramento della precisione.

Una delle maggiori responsabilità del team di Amazon Operations Finance globale è la pianificazione e la previsione dei costi operativi e delle spese in conto capitale per la catena di fornitura di Amazon.

Più le previsioni sono precise, meglio è. Se la previsione è troppo bassa o troppo alta, può avere conseguenze negative che si ripercuotono sui clienti e sui profitti. Ad esempio, in Amazon, se prevediamo una domanda troppo bassa, gli addetti al magazzino di un centro di distribuzione potrebbero non avere abbastanza rifornimenti o potrebbero non esserci abbastanza autisti, il che potrebbe portare a ritardi nella consegna dei pacchi, a un maggior numero di chiamate al servizio clienti, all’annullamento degli ordini e alla perdita di fiducia da parte dei clienti. Se prevediamo una domanda troppo alta, si potrebbe avere un inventario e scatole che occupano spazio prezioso in un magazzino. Questa situazione significa che c’è meno spazio per i prodotti che sono più richiesti.

L’anno scorso, il team finanziario Amazon Operations Finance ha testato l’accuratezza delle previsioni di Amazon Forecast, un servizio che utilizza l’apprendimento automatico per fornire previsioni altamente accurate, rispetto a quelle fatte tramite processo tradizionale. In questa prova, le previsioni completate da Forecast sono state in media il 67% più accurate delle previsioni completate con il processo manuale.

Spostando tutti i dati in un data lake, il team di Operations Finance di Amazon può combinare i set di dati per addestrare e implementare modelli più precisi aumentando così l’accuratezza delle previsioni. Inoltre, questo processo libera i dipendenti che svolgevano questo compito manualmente per lavorare su progetti più strategici, come l’analisi delle previsioni per guidare i miglioramenti delle operazioni sul campo.

Utilizzare gli strumenti giusti: Galaxy su AWS

L’attività di vendita al dettaglio di Amazon utilizza alcune tecnologie precedenti alla creazione di Amazon Web Services (AWS), iniziata nel 2006. Per diventare più scalabili, efficienti, performanti e sicuri, molti carichi di lavoro nel settore retail di Amazon sono passati ad AWS nell’ultimo decennio.

Il Galaxy data lake, che è una componente di una più grande piattaforma di grandi dimensioni conosciuta internamente come Galaxy, è costruito su Amazon Simple Storage Service (Amazon S3), un servizio di archiviazione di oggetti che offre disponibilità, durata e scalabilità senza pari. A bordo dei vari set di dati di Amazon S3 vengono utilizzati AWS Glue, un servizio ETL completamente gestito che facilita la preparazione e il caricamento dei dati per l’analisi, e AWS Database Migration Service (AWS DMS.

Inoltre, Galaxy combina le risorse di metadati di più servizi in un livello di catalogo unificato costruito su Amazon DynamoDB, un database di documenti e di valori chiave. Amazon Elasticsearch Service (Amazon ES), invece, è utilizzato per consentire una ricerca più veloce delle query sul catalogo.

Formazione del Data Lake AWS

Il team di Amazon ha creato da zero l’architettura del Galaxy data lake che ha richiesto lo sviluppo manuale di molti dei componenti nel corso di mesi, il che è simile a come altre aziende hanno dovuto farlo in passato. Nell’agosto 2019, AWS ha rilasciato un nuovo servizio chiamato AWS Lake Formation che consente di snellire il processo di creazione di un data lake e di costruire un lago di dati sicuro in giorni invece che in mesi.