In un precedente articolo sull’analisi massiva dei dati avevamo descritto come fosse possibile utilizzare le risorse delle Google Cloud Platform (GCP) per workload sui dati. L’analisi dei dati contenuti nei database, il rendering di video o immagini 3D o qualsiasi altra attività ad ampio utilizzo di risorse come CPU e RAM richiede istanze di un determinato livello sulle piattaforme Cloud, sia che essa si chiami Google Cloud Platform sia Amazon Web Services.
Business Case
Per comprendere come risparmiare grosse quantità di denaro ottimizzando il consumo di risorse su GCP analizziamo il seguente caso d’uso.
Abbiamo sviluppato una complessa Web Application e utilizziamo un’istanza Jenkins per fare il build e deploy automatico nel nostro cluster. Ciò avviene solo in risposta al push di codice su bitbucket, pertanto la nostra istanza di Jenkins per molto del suo tempo è inattiva ma ne viene comunque pagato il consumo. L’obiettivo che ci poniamo è quello di avere la nostra istanza Jenkins solo quando necessario, vale a dire al push del nostro codice.
Start e Stop di Istanze GCP
Le istanze GCP hanno una grande possibilità, possono essere avviate e stoppate in qualsiasi momento mantenendo comunque il loro stato in termini di dati e risorse e permettendoci di pagare il consumo solo quando è avviata. Pertanto possiamo avere disponibili su GCP moltissime istanze in maniera gratuita e pagarne il consumo solo quando effettivamente le utilizziamo.
Fare l’avvio e lo stop manualmente dell’istanza è oneroso in termini di tempo, quindi abbiamo realizzato due possibili soluzioni:
- Utilizzare il comando previsto nella Cloud SDK all’interno di uno shell script. Il vantaggio di questa soluzione è la velocità di integrazione, per es. in un package.json, con una semplice linea di codice ( poco verbose), lo svantaggio è la difficoltà nel gestire gli errori;
- Utilizzare la libreria googleapis in uno script node. Il vantaggio è il controllo totale del flusso comunicativo, gestione degli errori e possibilità di rendere parametrico lo script. Lo svantaggio è la manutenzione del codice.
Glue Labs e GCP
Siamo Google Cloud Partner e ti forniamo assistenza, supporto e consulenza professionale nella realizzazione e sviluppo di piattaforme Cloud integrate con qualsiasi sistema. Contattaci subito per un preventivo gratuito e senza impegno.