Integrazione ETL fra gestionale e applicazione web
Portale sviluppato su ambiente LAMP ad alto traffico nel settore automotive.
Il cliente segnala difficoltà nell’aggiornamento manuale delle immagini, mancati aggiornamenti che causano problemi di visualizzazione e lentezza nel caricamento delle pagine. Ha richiesto un sistema automatico per sincronizzare le immagini, con monitoraggio continuo e miglioramenti delle performance del portale.
Automazione della sincronizzazione
Per migliorare la sincronizzazione delle immagini, abbiamo implementato il seguente processo:
- sincronizzazione delle immagini: le immagini vengono caricate dal gestionale in un’area di scambio dati utilizzando un bucket S3;
- generazione delle miniature: ogni volta che un’immagine viene aggiunta o modificata nel bucket S3, una funzione lambda in Python si attiva automaticamente per creare le relative miniature;
- salvataggio delle miniature: le miniature generate vengono poi salvate in un altro bucket S3.
Per monitorare il processo abbiamo configurato Cloudwatch con relativi alert e avvisi tramite email/sms in caso di errore durante l’esecuzione.
Miglioramento delle performance
Dall’analisi abbiamo rilevato che gli asset del portale (come immagini e file css/js) venivano erogati senza alcuna ottimizzazione.
Per migliorare le performance abbiamo adottato le seguenti misure:
- ottimizzazione degli asset: oltre a generare le miniature delle immagini, abbiamo configurato una CDN (Content Delivery Network) tramite CloudFront per distribuire gli asset in modo più efficiente;
- ottimizzazione per dispositivi mobili: quando una richiesta proviene da un dispositivo mobile, le immagini vengono ulteriormente ottimizzate riducendo la risoluzione tramite il servizio Lambda@Edge.
Stack tecnologico
AWS
- S3 (area di scambio e sorgente immagini)
- Cloudfront (cdn per l’erogazione delle immagini)
- Lambda (generazione delle miniature)
- Lambda@Edge (generazione miniature per dispositivi mobili)
- Cloudwatch (monitoraggio ed alert)
Python
Il nuovo processo di sincronizzazione ha permesso di gestire l’aggiornamento di circa 160.000 immagini e la generazione delle relative 480.000 miniature in un decimo del tempo rispetto alla precedente procedura.
Sul portale il tempo di caricamento delle pagine e delle immagini si è ridotto migliorando le web vitals, ottenendo perciò anche un beneficio sulla SEO.
Il costo dei servizi AWS utilizzati è inferiore ai 5 dollari mensili e comprende:
- spazio utilizzato su S3;
- esecuzione delle lambda;
- banda utilizzata da Cloudfront per l’erogazione degli assets.
Unisciti a noi per trasformare il tuo futuro digitale!