Come ottimizzare i costi del multi-cloud
Uno dei maggiori vantaggi dell’esecuzione nel cloud consiste nella possibilità di scalare verso l’alto o verso il basso per soddisfare la domanda e ridurre le spese operative. Ciò è particolarmente vero quando ci si trova davanti a cambiamenti imprevisti nella domanda da parte dei clienti.
In Google Cloud, abbiamo un intero team di Solution Architect dedicato ad aiutare i clienti a gestire le spese operative del cloud. In anni di lavoro a contatto con i nostri clienti più grandi, abbiamo identificato alcuni elementi comuni che le persone tendono a sottovalutare quando cercano il modo di ottimizzare i costi e li abbiamo raccolti qui per te. Abbiamo pensato che seguire queste best practice ti avrebbe aiutato ad adeguare i costi del cloud alle esigenze della tua azienda, per attraversare al meglio questo periodo così complesso e imprevedibile.
1. Conoscere gli strumenti di fatturazione e gestione dei costi
A causa della natura variabile e on demand del cloud, i costi tendono a lievitare, se non monitorati con estrema attenzione. Una volta compresi i costi, potrai iniziare ad applicare dei controlli e ottimizzare le spese. Per aiutarti a farlo, Google Cloud offre un valido insieme di strumenti di fatturazione e gestione dei costi in grado di darti la visibilità e gli approfondimenti necessari per seguire il deployment nel cloud.
A livello generale, dovrai porti domande come “quali progetti costano di più e perché?”. Per iniziare, organizza e struttura i tuoi costi in relazione alle esigenze della tua azienda. Quindi, visualizza in dettaglio i servizi utilizzando i rapporti di fatturazione di Cloud per avere una visione d’insieme dei tuoi costi. Dovresti inoltre imparare ad attribuire i costi ai singoli reparti o team utilizzando delle etichette e creare dashboard personalizzate per visualizzare i costi in modo più granulare. Puoi inoltre utilizzare quote, budget e avvisi per monitorare più da vicino le tendenze attuali dei costi e prevederne l’andamento nel tempo, per ridurre il rischio di spese eccessive.
Se non hai familiarità con i nostri strumenti di fatturazione e gestione dei costi, offriamo formazione gratuita per un periodo limitato per consentirti di apprendere le nozioni fondamentali al fine di comprendere e ottimizzare i tuoi costi relativi a Google Cloud. Per una guida completa passo passo, consulta la Guida di Cloud Billing e guarda la nostra serie di video “Beyond Your Bill”. Dai anche un’occhiata a questi corsi di formazione pratica: Manage Google Cloud Costs e Optimizing your GCP Costs.
2. Paga solo per la capacità di calcolo necessaria
Adesso che hai una migliore visibilità delle spese per il cloud, è ora di prendere in esame i tuoi progetti più costosi per identificare le risorse di calcolo che non stanno garantendo un valore aziendale sufficiente.
Individuare le VM e i dischi inattivi: il modo più semplice per ridurre la fattura di Google Cloud Platform (GCP) è eliminare le risorse che non vengono più utilizzate. Pensa a quei progetti proof-of-concept che hanno perso la priorità o alle istanze abbandonate che nessuno si preoccupa di eliminare. Google Cloud offre diversi motori per suggerimenti per aiutarti a ottimizzare queste risorse, tra cui un motore per suggerimenti per le VM inattive che individua le VM e i dischi permanenti non attivi sulla base delle metriche di utilizzo.
Tuttavia, presta sempre attenzione quando elimini una VM. Prima di eliminare una risorsa, chiediti “Quale impatto potenziale potrebbe avere l’eliminazione di questa risorsa e in che modo posso ricrearla, se necessario?”. Eliminando le istanze, si rimuovono tutti i dischi sottostanti e i relativi dati. Una best practice è quella di acquisire uno snapshot dell’istanza prima di eliminarla. In alternativa, puoi scegliere semplicemente di arrestare la VM, terminando così l’istanza ma conservando le risorse, come i dischi o gli indirizzi IP, fino a che non le scolleghi o elimini.
Per ulteriori informazioni, leggi la documentazione sul motore per suggerimenti. E continua a seguirci perché aggiungeremo al portafoglio altri motori per suggerimenti basati sull’utilizzo.
Programmare le VM per l’avvio e l’arresto automatizzati: il vantaggio di una piattaforma come Compute Engine è che paghi solo per le risorse di calcolo che utilizzi. I sistemi di produzione tendono a operare 24 ore su 24, 7 giorni su 7, tuttavia le VM negli ambienti di sviluppo, test o personali tendono a essere utilizzate solo durante le ore lavorative e il loro spegnimento consente un notevole risparmio. Ad esempio, eseguire una VM per 10 ore al giorno, dal lunedì al venerdì, costa il 75% in meno al mese, rispetto a lasciarla sempre in esecuzione.
Per iniziare, ecco una soluzione serverless che abbiamo sviluppato per aiutarti ad automatizzare e gestire lo spegnimento automatizzato delle VM su larga scala.
Dimensionare le VM in modo ottimale: su Google Cloud, puoi già risparmiare in modo significativo creando tipi di tipi di macchine personalizzate con la corretta quantità di CPU e RAM per rispondere alle tue esigenze. Ma i requisiti del carico di lavoro possono cambiare nel tempo. Le istanze che erano state ottimizzate in precedenza potrebbero ora gestire meno utenti e traffico. Per aiutarti, i nostri suggerimenti sul dimensionamento ottimale mostrano come ridurre efficacemente il tuo tipo di macchina in base ai cambiamenti di utilizzo di vCPU e RAM. Questi suggerimenti sul dimensionamento ottimale per il tipo di macchina della tua istanza (gruppo di istanze gestite) vengono generati utilizzando le metriche di sistema raccolte da Cloud Monitoring negli otto giorni precedenti.
Se la tua organizzazione utilizza l’infrastruttura come codice per gestire gli ambienti, consulta questa guida, che mostra come implementare i suggerimenti di dimensionamento ottimale delle VM su larga scala.
Utilizzare le VM prerilasciabili: le VM prerilasciabili sono istanze di calcolo molto economiche che vengono eseguite per un massimo di 24 ore e costano fino all’80% in meno rispetto alle istanze regolari. Le VM prerilasciabili sono perfette per i carichi di lavoro a tolleranza di errore come quelli per big data, genomica, transcodifica multimediale, simulazione e modellazione finanziaria. Puoi inoltre utilizzare un insieme di istanze regolari e prerilasciabili per completare carichi di lavoro ad alta intensità di calcolo più rapidamente e in economia, configurando un gruppo di istanze gestite specializzato.
Ma perché limitare le VM prerilasciabili a un ambiente Compute Engine? Sapevi che anche le GPU, i cluster GKE e le istanze secondarie in Dataproc possono utilizzare le VM prerilasciabili? E ora puoi anche ridurre i costi di analisi dei dati in modalità flusso (e batch) di Cloud Dataflow utilizzando la pianificazione flessibile delle risorse per integrare le istanze regolari con le VM prerilasciabili.
3. Ottimizza costi e prestazioni di Cloud Storage
Durante l’esecuzione nel tuo data center, la spesa per lo spazio di archiviazione tende a perdersi tra i costi generali dell’infrastruttura, rendendo più difficile una gestione adeguata dei costi. Nel cloud, invece, dove lo spazio di archiviazione viene addebitato separatamente, prestare attenzione all’uso e alla configurazione dello spazio di archiviazione può comportare risparmi significativi.
Senza contare che le esigenze in fatto di spazio di archiviazione, come avviene per il calcolo, sono in continua evoluzione. È possibile che la classe di archiviazione scelta alla prima configurazione dell’ambiente non sia più adeguata per un dato carico di lavoro. Inoltre, Cloud Storage ha fatto molti passi avanti e offre una quantità di nuove funzionalità che appena un anno fa non erano disponibili.
Se vuoi risparmiare sullo spazio di archiviazione, ecco alcuni elementi a cui fare attenzione.
Classi di archiviazione: Cloud Storage offre a costi differenti per diversi casi d’uso un’ampia gamma di classi di archiviazione: Standard, Nearline, Coldline e Archive. Se utilizzi solo la classe Standard, potrebbe essere arrivato il momento di dare un’occhiata ai tuoi carichi di lavoro e rivalutare la frequenza di accesso ai dati. Nella nostra esperienza, molte aziende utilizzano la classe di archiviazione Standard per gli archivi, mentre potrebbero ridurre le spese sfruttando le classi di archiviazione Nearline o Coldline. In alcuni casi, per la conservazione di oggetti per casi d’uso di cold storage come nelle controversie legali, la nuova classe di archiviazione Archive potrebbe consentire risparmi addirittura maggiori.
Criteri per il ciclo di vita: non solo puoi risparmiare utilizzando classi di archiviazione diverse, ma puoi automatizzare il processo con la gestione del ciclo di vita degli oggetti. Configurando un criterio per il ciclo di vita, puoi impostare programmaticamente un oggetto in modo da modificare la sua classe di archiviazione in base a un insieme di condizioni o anche eliminarlo se non è più necessario. Ad esempio, poniamo che il tuo team analizzi i dati entro il primo mese dalla creazione; oltre quel termine ti sono necessari solo per ottemperare a obblighi normativi. In tal caso, ti sarà sufficiente impostare un criterio che modifichi la classe di archiviazione in Coldline o Archive quando l’oggetto raggiunge i 31 giorni di vita.
Deduplicazione: un’altra fonte comune di spreco negli ambienti di archiviazione è la duplicazione dei dati. Naturalmente, in alcuni casi è necessaria. Ad esempio, potresti voler duplicare un set di dati tra diverse aree geografiche di modo che i team locali possano accedervi rapidamente. Comunque, nella nostra esperienza di collaborazione con i clienti, molti dati duplicati sono il risultato di un controllo blando delle versioni e i duplicati che ne derivano possono essere complessi e costosi da gestire.
Fortunatamente, esistono molti modi per evitare la duplicazione dei dati, così come strumenti per evitare l’eliminazione errata di dati. Eccone alcuni da prendere in considerazione:
- Se stai provando a mantenere la resilienza con una singola fonte attendibile, sarebbe più adeguato utilizzare un bucket su più aree geografiche invece di creare più copie in diversi bucket. Con questa funzionalità, puoi avere la ridondanza geografica per gli oggetti archiviati. Questo garantisce che i tuoi dati siano replicati in modo asincrono in due o più località, il che ti protegge da eventuali malfunzionamenti delle singole aree geografiche nel caso di un disastro naturale.
- Spesso la duplicazione dei dati deriva da un utilizzo non corretto della funzionalità di controllo delle versioni degli oggetti di Cloud Storage. La gestione delle versioni degli oggetti evita che i dati vengano sovrascritti o eliminati accidentalmente, ma i duplicati che crea possono davvero accumularsi. Hai davvero bisogno di cinque copie dei tuoi dati? Una è sufficiente se protetta. Pensi di non riuscire a eseguire il rollback? Puoi configurare i criteri di controllo delle versioni degli oggetti per assicurarti di avere un numero di copie adeguato. Ti preoccupi ancora di perdere qualcosa accidentalmente? Ti consigliamo di utilizzare la funzionalità di blocco del bucket, che ti assicura che gli elementi non verranno eliminati prima di una data o ora specifica. Questo è davvero utile per dimostrare la conformità a varie normative importanti. In breve, se utilizzi il controllo delle versioni degli oggetti, con diverse funzionalità puoi tenere i dati al sicuro senza sprecare spazio inutilmente.
4. Metti a punto il tuo data warehouse
Organizzazioni di tutte le dimensioni guardano a BigQuery per un approccio moderno all’analisi dei dati. Tuttavia, alcune configurazioni sono più costose di altre. Controlliamo rapidamente il tuo ambiente BigQuery e configuriamo alcuni confini per aiutarti a contenere i costi.
Applicare controlli: l’ultima cosa di cui hai bisogno è una lunga e infinita query che fa lievitare i costi. Per limitare i costi delle query, usa l’impostazione Numero massimo di byte fatturati. Se il limite viene superato, la query non riesce, ma non riceverai addebiti, come illustrato di seguito.
Oltre ad abilitare il controllo dei costi a livello di query, puoi applicare una logica simile anche a livello di utente e di progetto.
Utilizzare partizionamento e clustering: partizionamento e clustering delle tabelle, quando possibile, possono aiutare a ridurre notevolmente i costi di elaborazione delle query e a migliorare le prestazioni. Attualmente, puoi eseguire il partizionamento di una tabella in base alla colonna del tempo di importazione, della data, del timestamp o dell’intervallo di numeri interi. Per assicurarti che le query e i job sfruttino le tabelle partizionate, consigliamo anche di abilitare Richiedi filtro di partizionamento, per forzare l’inclusione della colonna di partizionamento nella clausola WHERE da parte degli utenti.
Un altro vantaggio del partizionamento consiste nel fatto che BigQuery riduce automaticamente del 50% il prezzo dei dati archiviati per ciascuna partizione o tabella che non è stata modificata nel corso di 90 giorni, spostandola nello spazio di archiviazione a lungo termine. È più economico e conveniente tenere i dati in BigQuery che affrontare le trafile necessarie a eseguirne la migrazione in uno spazio di archiviazione di livello inferiore. Quando una tabella o una partizione viene spostata in uno spazio di archiviazione a lungo termine, non si verifica alcun calo di prestazioni, durabilità, disponibilità o qualsiasi altra perdita di funzionalità.
Controllare gli inserimenti di flussi di dati: puoi caricare i dati su BigQuery in due modi, come job di caricamento in batch o con un flusso di dati in tempo reale, utilizzando gli inserimenti di flussi di dati. Quando si ottimizzano i costi di BigQuery, il primo passo da compiere è verificare la fattura e controllare se sono stati addebitati i costi degli inserimenti di flussi di dati. In caso affermativo, chiediti “È necessario che i dati siano immediatamente disponibili (questione di secondi invece che di ore) in BigQuery?” e “Utilizzo questi dati per qualsiasi caso d’uso in tempo reale una volta disponibili in BigQuery?”. Se la risposta a entrambe le domande è no, ti consigliamo di passare al caricamento dei dati in batch, che è gratuito.
Utilizzare gli slot flessibili: per impostazione predefinita, BigQuery ti addebita prezzi on demand variabili in base ai byte elaborati dalle tue query. Se sei un cliente con volumi elevati e carichi di lavoro stabili, potresti trovare più conveniente passare dai prezzi on demand a quelli a costo fisso, che ti offrono la capacità di elaborare una quantità illimitata di byte a un costo fisso prevedibile.
Dati i requisiti aziendali in rapida evoluzione, abbiamo introdotto di recente gli slot flessibili, un nuovo modo di acquistare gli slot di BigQuery per durate inferiori ai 60 secondi, in aggiunta agli impegni a costo fisso mensili e annuali. Con questa combinazione di prezzi on demand e a costo fisso, puoi rispondere in modo rapido ed economico alle variazioni nella quantità di richieste di analisi.
5. Filtra i pacchetti di rete
Logging e monitoraggio sono elementi fondamentali delle operazioni di rete e sicurezza. Ma con ambienti che includono più cloud e risorse on-premise, avere visibilità in modo chiaro e completo sull’utilizzo della rete può essere difficile come identificare quanta elettricità ha utilizzato il tuo microonde il mese scorso. Infatti, Google Cloud include diversi strumenti che ti offrono visibilità sul traffico della rete (e quindi sui costi). Puoi anche apportare alcune rapide modifiche che ti consentiranno di ridurre rapidamente i costi. Vediamo quali sono.
Identificare i “top talker”: sai quali servizi utilizzano la tua larghezza di banda? Gli SKU di Cloud Platform ti consentono di identificare con rapidità quanto spendi per un determinato servizio Google Cloud. Inoltre, è importante conoscere il layout della rete e i flussi di traffico tra le tue applicazioni e gli utenti. Network Topology, un modulo del Network Intelligence Center, offre una visibilità completa sul tuo deployment globale in GCP e sulla relativa interazione con la rete Internet pubblica, compresa una panoramica a livello di organizzazione sulla topologia e sulle metriche delle prestazioni di rete associate. Questo ti permette di individuare i deployment inefficienti e intraprendere le azioni necessarie per ottimizzare i tuoi costi di traffico in uscita dalla rete a livello di area geografica e intercontinentale. Guarda questo breve video per una panoramica su Network Intelligence Center e Network Topology.
Network Service Tiers: Google Cloud ti consente di scegliere tra due livelli di servizio di rete: premium e standard. Per avere prestazioni eccellenti in tutto il mondo, puoi scegliere il livello premium, che continua a essere la nostra prima scelta. Il livello standard offre prestazioni inferiori ma può essere un’alternativa adeguata per alcuni carichi di lavoro sensibili ai costi.
Cloud Logging: forse non lo sai, ma puoi controllare la visibilità sul traffico di rete escludendo i log di cui non hai più bisogno. Guarda alcuni esempi comuni di log che puoi tranquillamente escludere. Lo stesso vale per gli audit log di accesso ai dati, che possono essere piuttosto grandi e comportare costi aggiuntivi. Ad esempio, per i progetti di sviluppo probabilmente non sarà necessario registrarli. Per i log di flusso VPC e Cloud Load Balancing, puoi anche abilitare il campionamento, con cui ridurre drasticamente il volume del traffico di log scritti nel database. Puoi impostare questa funzionalità da 1,0 (100%, include tutti i log) a 0,0 (0%, non include nessun log). Per casi d’uso personalizzati o per la risoluzione dei problemi, puoi sempre decidere di raccogliere la telemetria per una particolare subnet o rete VPC o visualizzare i dati più in dettaglio per monitorare un’istanza VM o un’interfaccia virtuale specifica.