Nell'era del Modern Data Stack, molte organizzazioni si trovano intrappolate tra due estremi: la gestione manuale dei dati, soggetta a errori, o piattaforme ETL (Extract, Transform, Load) proibitivamente costose che richiedono elevati costi fissi mensili. La sfida per i team di ingegneria è costruire un sistema robusto e scalabile che fornisca business intelligence senza pagare per server inattivi.

L'architettura seguente mostra come sfruttare Google Cloud Platform (GCP) per creare una pipeline di dati completamente automatizzata e serverless. Combinando l'ingestione guidata dagli eventi (event-driven) con la trasformazione pianificata, questo sistema garantisce che i costi vengano sostenuti principalmente durante l'elaborazione attiva, riducendo di fatto il sovraccarico operativo a quasi zero per carichi di lavoro di volume medio-basso.

Data flow diagram from sources through bronze, silver, and gold layers to Data Studio visualization. - Moov

1. Ingestione dei dati senza infrastruttura sempre attiva

Il punto di ingresso della pipeline è progettato intorno alle due fonti più comuni di dati aziendali: le piattaforme esterne (come social network, CRM e strumenti di analisi) e i file caricati manualmente per dataset ad-hoc:

Atterraggio dei dati nel Lake

Entrambi i percorsi di ingestione terminano in Cloud Storage (GCS). Airbyte scrive file AVRO pronti all'uso direttamente nel lake, mentre i file caricati manualmente vengono puliti e normalizzati da Cloud Run prima di essere archiviati. A questo punto, GCS diventa il livello di atterraggio (landing layer) e la fonte di verità (source of truth) per il resto della pipeline.

2. Orchestrazione della pipeline tramite eventi

Una volta che i dati atterrano in Cloud Storage, il flusso di lavoro di ingestione diventa guidato dagli eventi. Eventarc si mette in ascolto per intercettare i nuovi file e attiva il flusso di lavoro che li carica in BigQuery:

3. Dai dati grezzi ai modelli pronti per il business

Una volta ingeriti, i dati si muovono attraverso un modello a tre livelli all'interno di BigQuery per garantire qualità, tracciabilità e prestazioni del dato stesso.

Il modello di Data Warehouse Bronze-Silver-Gold  

Trasformazione SQL versionata con Dataform

Invece di utilizzare motori di trasformazione esterni, utilizziamo Dataform. Questo ci consente di trattare le nostre trasformazioni di dati come codice software utilizzando SQLX, con tutta la logica di trasformazione archiviata in un repository Git e versionata nel tempo. Dataform gestisce le dipendenze e l'esecuzione degli script SQL che muovono i dati da Bronze a Silver e infine a Gold. In questa configurazione, Dataform viene attivato da un cron job un'ora dopo la sincronizzazione di Airbyte, dando al processo di ingestione il tempo sufficiente per completarsi prima dell'inizio delle trasformazioni.

4. Semplicità operativa per design

Oltre alla riduzione dei costi, questa architettura è progettata per ridurre il carico operativo legato alla gestione di una piattaforma dati. Non c'è alcun cluster Airflow da dimensionare, aggiornare o monitorare, e non ci sono risorse di calcolo inattive in attesa della successiva finestra di ingestione. Ogni responsabilità è isolata in un servizio gestito: Cloud Run gestisce la pre-elaborazione personalizzata e la logica di ingestione, Eventarc reagisce ai nuovi file, Workflows coordina i passaggi di esecuzione, BigQuery archivia ed elabora i dati analitici, e Dataform gestisce le dipendenze SQL.

Questa separazione migliora anche la resilienza e la manutenibilità. Cloud Storage funge da fonte di verità riproducibile, quindi i caricamenti falliti o le regole di business modificate possono essere rielaborati senza dover chiamare nuovamente le API originali. Le trasformazioni sono versionate in Git, rendendo le modifiche revisionabili e verificabili. La struttura Bronze-Silver-Gold crea un confine chiaro tra dati grezzi, logica di business riutilizzabile e data mart pronti per le dashboard; ciò mantiene semplici gli strumenti di BI e protegge gli utenti aziendali dalla complessità dei processi a monte.

5. Perché il costo rimane vicino allo zero

Il fattore principale alla base di questa architettura è l'efficienza dei costi. Scegliendo questi componenti specifici, massimizziamo l'uso dei livelli gratuiti (free tier) di GCP e dei modelli "pay-as-you-go":

il principio chiave è che ogni componente principale scala a zero o addebita costi solo quando viene effettivamente svolto del lavoro. Cloud Run viene eseguito solo durante le richieste di pre-elaborazione e ingestione. Eventarc addebita i costi in base agli eventi anziché per i listener inattivi. Workflows tariffa in base ai passaggi eseguiti anziché al tempo di attività del server. Dataform viene eseguito su pianificazione invece di richiedere un worker di trasformazione permanente. BigQuery separa l'archiviazione dal calcolo e addebita l'elaborazione delle query in base alla quantità di dati scansionati. Per carichi di lavoro di volume medio-basso, questo significa che la piattaforma può rimanere completamente automatizzata senza sostenere il costo fisso mensile di un'infrastruttura sempre attiva.