Come ho costruito una pipeline di dati a cascata basata su AWS (Parte 2)
Building a cascading data pipeline on AWS (Part 2)
Automatico, scalabile e potente
In precedenza, ho condiviso la mia esperienza nello sviluppo di un flusso di dati utilizzando la tecnologia AWS CloudFormation. Tuttavia, non è un approccio ottimale, poiché lascia 3 problemi in sospeso:
- La distribuzione deve essere impostata manualmente, aumentando le possibilità di errori;
- Tutte le risorse vengono create in un’unica pila, senza confini e livelli adeguati; man mano che il ciclo di sviluppo prosegue, la pila delle risorse diventerà sempre più pesante e la sua gestione sarà disastrosa;
- Molte risorse dovrebbero essere mantenute e riutilizzate in altri progetti.
In breve, stiamo cercando di aumentare la gestibilità e la riutilizzabilità di questo progetto, in modo agile.
Soluzione
AWS consente agli utenti di implementare 2 tipi di pattern strutturali di CloudFormation: il riferimento tra pile (cross-stack reference) e l’annidamento di pile (nested stacking). Il riferimento tra pile si riferisce a uno stile di progettazione che prevede lo sviluppo di pile cloud separatamente e di solito in modo indipendente, mentre le risorse tra tutte le pile possono essere interrelate in base alla relazione di riferimento. L’annidamento di pile significa che una pila di CloudFormation è composta da altre pile. Ciò viene realizzato utilizzando la risorsa AWS::CloudFormation::Stack
.
Poiché una delle nostre missioni è quella di migliorare la gestione dei progetti, il progetto verrà suddiviso in strati e l’annidamento di pile ci aiuterà. Tuttavia, riguardo all’interrelazione intrinseca tra gli artefatti della pila esistente, avremmo anche bisogno di fare un uso limitato del riferimento tra pile.
- Organizzare l’AI generativa 5 lezioni apprese dai team di Data Science
- GPTQ o bitsandbytes quale metodo di quantizzazione utilizzare per LLM – Esempi con Llama 2
- 15 comunità subreddit correlate all’Intelligenza Artificiale (IA) e all’Apprendimento Automatico nel 2023
Implementazione
Abbiamo creato 3 funzioni Lambda, 3 tabelle DynamoDB, 1 ruolo IAM con relative politiche associate, diverse code SQS e diversi allarmi Cloudwatch. A causa della complessità delle funzioni stesse, in questa versione saranno definite in modelli separati, con i servizi utilizzati solo da loro stessi, inclusi gli allarmi e le code dei messaggi non consegnati. Oltre a questi, le risorse IAM saranno…