☁ Cloud e DevOps

Costi del cloud: capire la bolletta e ridurla senza rischi

Da dove nascono i costi del cloud, le voci nascoste come traffico in uscita e risorse dimenticate, e le tecniche concrete per ridurre la spesa mensile.

Il cloud ha una promessa allettante: paghi solo ciò che usi. Il rovescio della medaglia è che paghi tutto ciò che usi, comprese le risorse dimenticate, i dati trasferiti senza accorgertene e le macchine sovradimensionate «per sicurezza». Molte aziende scoprono a fine mese una fattura molto più alta del previsto e non sanno da dove venga. Capire la struttura dei costi è il primo passo per controllarli.

Come si forma la bolletta

Le voci principali, con nomi diversi a seconda del provider, sono quasi sempre queste:

  • calcolo: macchine virtuali, container, funzioni, fatturati a ore, secondi o invocazioni;
  • archiviazione: dischi, snapshot, object storage, fatturati per gigabyte al mese;
  • database gestiti: spesso tra le voci più alte, perché includono calcolo, storage e backup;
  • rete: soprattutto il traffico in uscita verso Internet e tra regioni diverse;
  • servizi accessori: indirizzi IP pubblici, bilanciatori di carico, gateway NAT, log e metriche.

Le prime due sono facili da prevedere. Le ultime due sono quelle che sorprendono.

I costi nascosti più comuni

Traffico in uscita

Molti provider non fanno pagare i dati in ingresso, ma fanno pagare quelli in uscita. Un sito che serve file pesanti, un'applicazione che scarica backup verso un altro fornitore o un servizio che comunica tra due regioni possono generare costi di rete superiori a quelli dei server.

Risorse orfane

Quando si elimina una macchina virtuale, i dischi collegati, gli snapshot e gli indirizzi IP riservati non sempre vengono eliminati con lei. Continuano a essere fatturati in silenzio, mese dopo mese. Lo stesso vale per ambienti di prova creati per un esperimento e mai spenti.

Log e metriche

Raccogliere tutto, conservare tutto per sempre e indicizzare ogni riga di log ha un costo che cresce con il traffico.

Gateway NAT

Le macchine in reti private che accedono a Internet passano spesso da un gateway NAT gestito, fatturato sia a ore sia per gigabyte elaborato. Server che scaricano molti aggiornamenti o immagini container attraverso il NAT possono generare costi inattesi.

Tecniche per ridurre la spesa

Dimensionare sulle misure, non sulle paure

La causa più frequente di spreco è il sovradimensionamento. Si sceglie una macchina grande al momento del lancio e non la si rivede più. Guardando l'uso reale di CPU e memoria per qualche settimana, spesso si scopre che una taglia più piccola basta. Ridurre di un livello dimezza in molti casi il costo di quella risorsa.

Spegnere ciò che non serve

Gli ambienti di sviluppo e test raramente devono essere accesi di notte e nel fine settimana. Uno spegnimento programmato fuori dall'orario di lavoro riduce le ore fatturate di circa due terzi: una settimana conta 168 ore, mentre una giornata lavorativa di dieci ore per cinque giorni ne conta 50.

Impegni a lungo termine

Per i carichi stabili, che girano tutto il giorno tutti i giorni, quasi tutti i provider offrono sconti significativi in cambio di un impegno di uno o tre anni, sotto forma di istanze riservate o piani di risparmio. Conviene però impegnarsi solo sulla base minima di utilizzo certa, non sui picchi.

Capacità interrompibile

Le istanze spot o preemptible costano molto meno, ma il provider può riprendersele con poco preavviso. Sono adatte a lavori che possono essere interrotti e ripresi: elaborazioni in batch, build, rendering, analisi di dati. Non vanno usate per un database di produzione.

Classi di archiviazione

I dati consultati raramente, come backup vecchi o archivi, possono passare a classi di storage più economiche. Le regole di ciclo di vita spostano automaticamente gli oggetti dopo un certo numero di giorni e li eliminano alla scadenza. Attenzione però: le classi più fredde hanno costi di recupero e durate minime di conservazione.

Cache e CDN

Servire contenuti statici da una CDN riduce il traffico in uscita dai server e spesso costa meno per gigabyte. Una cache davanti al database riduce il carico e, di conseguenza, la taglia necessaria.

Rendere i costi visibili

Non si può ottimizzare ciò che non si vede. Alcune abitudini fanno la differenza:

  1. Etichetta ogni risorsa con progetto, ambiente e responsabile. Così la fattura si può suddividere e ogni voce ha un nome.
  2. Imposta avvisi di budget che segnalino quando la spesa prevista del mese supera una soglia.
  3. Rivedi la fattura ogni mese, non solo quando cresce: le voci nuove vanno capite subito.
  4. Rendi i costi visibili ai team che creano le risorse. Chi vede quanto costa una scelta tende a farne di migliori.

Questo approccio, che unisce responsabilità tecnica e finanziaria, è spesso chiamato FinOps.

L'equilibrio da mantenere

Risparmiare non deve compromettere l'affidabilità. Eliminare la ridondanza di un database di produzione, ridurre i backup o togliere il monitoraggio fa scendere la fattura e salire il rischio. Nel mio lavoro le prime ottimizzazioni riguardano quasi sempre ciò che non porta alcun valore, come risorse orfane, ambienti accesi di notte e macchine sovradimensionate, prima di toccare qualsiasi cosa che protegga il servizio.

In sintesi

  • La bolletta si compone di calcolo, storage, database, rete e servizi accessori; rete e servizi accessori sono le voci che sorprendono.
  • Traffico in uscita, risorse orfane, log eccessivi e gateway NAT sono i costi nascosti più comuni.
  • Dimensiona sulle misure reali, spegni gli ambienti non usati e impegnati a lungo termine solo sulla base stabile.
  • Usa istanze interrompibili per i lavori ripetibili e regole di ciclo di vita per i dati freddi.
  • Etichette, avvisi di budget e revisioni mensili rendono i costi visibili e controllabili.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica e in psicologia, unisce l'analisi tecnica alla comprensione del fattore umano.

Leggi anche