Il cambiamento è costante sulla home page del sito web Woot.com. Su Woot, il sito originale dedicato alle offerte del giorno fondato nel 2004 e acquisito da Amazon nel 2010, si possono trovare nuovi affari su prodotti elettronici, indumenti e attrezzature sportive, articoli per la casa e altri prodotti su base giornaliera, a volte persino ogni 30 minuti.
Nel 2018, l’azienda ha deciso che fosse arrivato il momento di modificare anche il backend del sito. Nello specifico, Woot desiderava sbarazzarsi del suo warehouse di dati legacy, basato su Amazon Relational Database Service (RDS) per database Oracle, e passare a una soluzione di warehouse di dati nativa per il cloud su Amazon Web Services (AWS).
Le sfide che l’azienda si è ritrovata ad affrontare con il warehouse precedente includevano la necessità di nuove pipeline personalizzate ogni volta che venivano aggiunte le origini dei dati. Questa implementazione poteva richiedere diverse settimane, e rappresentava un processo pesante per le query. La conseguenza era che alcune query potenzialmente importanti non venivano nemmeno lanciate, e a volte era necessario restringere sostanzialmente l’accesso degli utenti al warehouse di dati, poiché si trovava nell’account AWS di produzione dell’azienda.
Oggi, Woot utilizza un warehouse di dati serverless basato su Amazon Kinesis Data Firehose e Amazon Simple Storage Service (Amazon S3) per l’acquisizione e l’archiviazione dei dati. Inoltre utilizza AWS Lambda per orchestrare AWS Glue per la programmazione dei lavori di ETL e per i compiti di gestione dei metadati. Amazon Athena e Amazon QuickSight offrono una soluzione potente e user-friendly per effettuare query e visualizzare i dati, persino per gli utenti senza alcuna conoscenza di SQL. Tutto ciò si trova all’interno di un account separato per il warehouse di dati, completamente segretato dall’account di produzione dell’azienda.
Data la gamma di opzioni disponibili in AWS per ottenere, gestire e guadagnare insight tramite i dati, in quale modo esattamente Woot ha deciso di selezionare la soluzione che utilizza al momento? In breve, la decisione è stata presa sulla base dei feedback degli utenti, che in questo caso sono molte delle categorie di dipendenti che si affidano al warehouse di dati per assicurare un’esperienza eccezionale a tutti i clienti Woot.
“Volevo che questo processo fosse una forza positiva per Woot”, afferma Chaya Carey, ingegnere dei dati presso Woot e sola responsabile per la gestione del warehouse di dati dell’azienda. “Data la stringente scadenza che ci eravamo posti, eravamo tentati di redigere semplicemente una lista di requisiti, ottenere una soluzione rapida e preoccuparci dei problemi tecnici solo in seguito. Invece, abbiamo passato molto tempo a discutere di coloro che utilizzano il warehouse di dati, quali difficoltà si ritrovano ad affrontare e a cosa servivano i dati”.
Attraverso queste conversazioni, uno degli obiettivi che Carey ha sviluppato per il nuovo warehouse di dati era di passare a un modello di responsabilità condivisa per i dati, il che avrebbe permesso di eliminare la necessità di costruire o modificare le pipeline personalizzate per ogni nuovo servizio o modifica. “Volevamo servizi per inviare i dati al warehouse e volevamo che questi servizi richiedessero interventi minimi”, afferma. “Ma avevo bisogno di trovare un modo semplice per inviare i dati rispettando le competenze e le conoscenze esistenti degli sviluppatori”.
La semplice soluzione che Carey ha adottato consisteva nel fare in modo che gli sviluppatori utilizzassero gli AWS Software Development Kit (SDK) per i vari linguaggi e le varie piattaforme di programmazione in uso presso Woot per inviare i dati al flusso di distribuzione di Kinesis Data Firehose del warehouse.
“Invece di costruire un lavoro in batch per inviare dati da un servizio, tutto ciò che gli sviluppatori devono fare ora è aggiungere una chiamata API che invia i dati all’endpoint di Firehose”, afferma Carey. “Kinesis Data Firehose ha reso il modello di responsabilità condivisa una soluzione molto più semplice da adottare per i nostri sviluppatori. Si trattava di un’enorme conquista in vista della migrazione, perché ci ha permesso di eliminare i tempi di inattività che avevamo di solito ogni volta che era necessario aggiungere un nuovo servizio o adattare l’architettura esistente in base a delle modifiche”.
Scegliendo Amazon Athena e QuickSight per le query e la visualizzazione dei dati, Woot ha semplificato la vita di moltissimi dipendenti, tra cui contabili, analisti finanziari, analisti di inventario, manager dei fornitori e operatori del servizio clienti, i quali hanno bisogno di ottenere informazioni dal warehouse di dati di Woot per eseguire il loro lavoro, ma non dispongono di conoscenze e competenze nell’ambito della scienza dei dati e il business intelligence.
“Le query nella soluzione precedente richiedevano l’apertura di un ticket, l’approvazione del manager, e l’ottenimento di una password valida solo per 90 giorni e, come se questo non bastasse, era necessario avere competenze in SQL per scrivere la propria query”, afferma Carey. “Ora, utilizzando Amazon QuickSight, chiunque può costruire grafici e altre visualizzazioni semplicemente trascinando e rilasciando elementi, senza dover conoscere SQL. Per gli impiegati che desiderano una maggiore personalizzazione, vi è l’opzione di eseguire query attraverso la console di Athena. Nonostante ciò, ancora una volta, non è necessario disporre di conoscenze in SQL”.
Non solo il processo per eseguire query è notevolmente più semplice, ma anche le query richiedono meno tempo per essere completate. “Ogni utente con cui abbiamo parlato ci ha detto che le query venivano completate molto più rapidamente in Amazon Athena”, afferma Carey. “Ci viene riferito anche che le query che in precedenza erano troppo complesse vengono ora eseguite su Athena senza problemi, il che significa che ora è possibile rispondere ad ancora più domande rispetto al passato”.
Poiché gli strumenti AWS nella nuova soluzione sono così user-friendly, un numero crescente di impiegati stanno adottando un approccio self-service per rispondere alle domande. “Gli impiegati sono così impressionati dalle visualizzazioni che possono costruire in QuickSight che ora cercano sempre nuovi modi di utilizzarle”, ci rileva Carey. “Disponiamo di soli quattro impiegati nella BI e, di solito, hanno sempre avuto più richieste di quelle che potevano gestire. Ora, impiegati non tecnici possono utilizzare Amazon QuickSight per ottenere informazioni in modo indipendente, così che le risorse BI di Woot abbiano maggior tempo da dedicare a progetti strategici”.
Carey afferma che la migrazione non solo ha permesso di risolvere i problemi dati dalla soluzione precedente, ma anche permesso a Woot di posizionarsi meglio per cominciare a sperimentare con molti altri strumenti e servizi disponibili su AWS, il tutto risparmiando denaro. “Passando a una soluzione di warehouse di dati serverless su AWS, abbiamo ridotto i nostri costi operativi legati al warehouse di dati di quasi il 90%”, afferma Carey. Inoltre, Carey afferma con orgoglio che, come risultato della nuova architettura serverless della soluzione, è stata capace (finalmente) di andare in vacanza per tre settimane senza esser contattata nemmeno una volta.
Carey aggiunge: “Il fatto che il warehouse di dati si trova ora su un account dedicato e archivia tutto in Amazon S3 ha permesso a me e ai nostri ingegneri BI di integrare perfettamente ed esplorare altre tecnologie, quali Amazon Elastic MapReduce, Amazon SageMaker e Amazon Redshift Spectrum. Non vediamo l’ora di scoprire cosa ci riserva il futuro”.
Per ulteriori informazioni, visita thinkwithwp.com/what-is/data-warehouse/.