La cost allocation permette di attribuire i costi cloud ai gruppi che li generano, individuare costi mancanti e intercettare la spesa non governata. Ecco come allocare i costi cloud per ambiente.

Cos'è la cost allocation
Il passaggio dal data center al cloud ha trasformato la spesa IT da costo in conto capitale a costo operativo, generando nuove sfide di governance dei costi cloud. Anziché dover richiedere esplicitamente fondi per acquistare server o apparecchiature, gli sviluppatori (o i sistemi automatizzati) possono avviare istanze in pochi clic, con il rischio frequente di spese eccessive e non attribuite.
Uno dei primi passi per introdurre maggiore governance nella spesa cloud consiste nell'organizzare e raggruppare i costi secondo categorie definite internamente (ad esempio, le business unit) all'interno della propria organizzazione. Questo processo, noto come Cost Allocation, aiuta a capire quali costi sono condivisi tra i gruppi, in modo da poterli ripartire correttamente. Permette inoltre di individuare costi mancanti e spesa non governata. Nessun timore: la cost allocation è una competenza che la vostra organizzazione svilupperà nel tempo, non serve allocare tutto alla perfezione fin dall'inizio.
Una volta allocati i costi, diventa più semplice rendicontarli e costruire budget e previsioni più accurati. Non esiste tuttavia un unico modo per allocare dati di costo e di utilizzo, e gli strumenti che possono aiutarvi a farlo non mancano.
Vediamo come allocare i costi cloud per ambiente sfruttando Google Cloud, AWS e la tecnologia di cloud analytics proprietaria di DoiT.
Perché allocare i costi per ambiente
Conoscere il costo per ambiente aiuta a rispondere a domande come "Quanto ci costa servire i nostri clienti rispetto a sviluppare, testare o sperimentare?". In alcuni Paesi è possibile beneficiare di incentivi fiscali capitalizzando i costi di R&S e ammortizzandoli nel tempo per liberare liquidità. Inoltre, alimenta quel tipo di conversazioni interne che spingono gli Engineers ad agire per generare risparmi nel medio-lungo periodo.
Potreste, ad esempio, voler concentrare l'attenzione sui costi di produzione: non solo per il volume di spesa, ma anche perché i risultati possono servire a calcolare i margini per cliente, un dato utile nelle trattative commerciali per stabilire fino a che punto ci si possa spingere con uno sconto. Vi aiuterà anche a comprendere meglio la stagionalità, se il vostro settore è caratterizzato da un utilizzo ciclico da parte dei clienti.
Tenere d'occhio l'andamento della spesa nell'ambiente di sviluppo permette invece di intercettare per tempo problemi di stabilità o di scalabilità e di ridurre al minimo le criticità al momento del rilascio di una funzionalità.
Infine, una visione più chiara dei costi degli ambienti e dei loro trend consente a voi e ai vostri Engineers di costruire previsioni e budget accurati. È la risposta alla domanda "Quanto è troppo, in termini di spesa?".
Come allocare i costi per ambiente
Il modo in cui tracciate il costo per ambiente dipende da come definite un ambiente. In genere si procede tramite tag o label definiti dall'utente, con valori della chiave "environment" che identificano prod, dev, staging e così via.
Definire gli ambienti in questo modo consente suddivisioni più granulari, come misurare i costi di produzione per account o per progetto.
Abbiamo inoltre visto altri clienti definire gli ambienti tramite i Project (Google Cloud) o gli Account (AWS), e persino con le IAM Folder di Google Cloud.
Calcolare il costo per ambiente in Google Cloud
Di seguito un esempio di come visualizzare i costi degli ambienti nei Billing Report di Google Cloud. In questo caso ho filtrato per tre progetti, ciascuno corrispondente a un ambiente diverso.

Calcolare il costo per ambiente in AWS
Di seguito un esempio di come visualizzare i costi degli ambienti in AWS Cost Explorer. Abbiamo filtrato per specifici valori del tag "Environment" e raggruppato per lo stesso tag "Environment" per ottenere il dettaglio dei costi per ambiente.
Per impostare questo tag e i relativi valori dovrete creare degli User-Defined Cost Allocation Tag, idealmente tramite AWS Tag Editor. Una volta creati, dovrete attivare i tag per la cost allocation prima di poterli utilizzare in Cost Explorer. Tenete presente che la comparsa dei tag in Cost Explorer può richiedere dalle 24 alle 48 ore dalla loro creazione. Conviene farlo il prima possibile, perché i tag non possono essere applicati retroattivamente alle risorse: qualsiasi analisi sui tag mostrerà i dati a partire dal giorno in cui la risorsa è stata taggata.

Calcolare il costo per ambiente con la tecnologia DoiT Cloud Analytics
I clienti DoiT hanno accesso a una tecnologia proprietaria che li aiuta a fare chiarezza sulla bolletta del cloud, in particolare attraverso i Cloud Analytics Report e le Attribution.
Le Attribution permettono di definire entità specifiche dell'azienda, come un ambiente, raggruppando risorse cloud (project/account, label/tag, ecc.). Una volta create, le Attribution si possono utilizzare per costruire Report che inquadrano i costi cloud nel contesto del vostro business.
Qui sotto ho creato un'Attribution "Staging Environment" che raggruppa tutti i Google Cloud Project contenenti la parola "staging". È, in questo caso, la definizione di ambiente di staging della MIA azienda.

In alternativa, potreste preferire l'uso di tag/label per identificare i diversi ambienti. Ad esempio, potreste avere due (o più) tag/label che rappresentano lo stesso ambiente, come "Prod", "prod", "Production" e "production", come si vede nello screenshot qui sotto. Un problema ricorrente è che la rendicontazione viene gestita da un team FinOps o centrale, che però non riesce a imporre con facilità la coerenza dei metadati: a doverlo fare è quindi lo strumento di analytics. Raggruppando questi tag/label tramite le Attribution, è esattamente ciò che potete ottenere.

Ho creato Attribution analoghe anche per gli ambienti Prod e Dev. Una volta create, potete visualizzarne i costi insieme nei Cloud Analytics Report, come ho fatto qui sotto.

Da qui potete generare con un solo clic le previsioni di costo di un singolo ambiente, come ho fatto qui sotto con Dev.

Se invece volete approfondire i costi di un ambiente, potete scomporli per servizio. Come si vede di seguito, è così possibile far emergere i servizi che hanno registrato i maggiori incrementi percentuali di spesa, mese su mese.

Una volta individuato il servizio (o i servizi) con la crescita maggiore — nel nostro caso Google Cloud Pub/Sub — potete scendere di un ulteriore livello e identificare gli SKU all'origine dell'aumento di prezzo.

Infine, le Attribution permettono di creare budget specifici per ambiente e contenere le sorprese, come abbiamo fatto qui sotto per il nostro Development Environment. Abbiamo definito delle soglie che, una volta superate, generano un alert via email e/o Slack quando potrebbe essere necessario intervenire (ad esempio se si è consumato il 50% del budget mensile nei primi sette giorni del mese). Possiamo inoltre confrontare la spesa attuale con il budget e la spesa prevista con il budget.

Poter scendere così nel dettaglio dei costi di un ambiente — o di qualsiasi altra categoria di costo non altrettanto immediata da calcolare out-of-the-box — apre conversazioni con il team che altrimenti non avreste. Il risultato è una maggiore responsabilizzazione e consapevolezza della spesa cloud in tutta l'organizzazione. La vostra azienda riduce al minimo le sorprese e attiva cicli di feedback più rapidi, che si traducono in comportamenti più efficienti nel tempo. Aumenta anche l'autonomia dei responsabili di ciascun bucket allocato.
Una volta consolidato il livello tier-1, potete delegare la gestione lungo lo stack (al livello di team per un engineering manager, o di prodotto per un product manager, per esempio). Ricordate: la cost allocation è una disciplina in cui si migliora di continuo!
Comprendere i costi del cloud è solo l'inizio
Nei prossimi articoli affronteremo altri casi d'uso di cost allocation da tenere in considerazione: continuate a seguirci!
DoiT Cloud Analytics vi aiuta a fare chiarezza sulla vostra bolletta del cloud, ma è solo un tassello del puzzle del cloud management. In qualità di Premier Partner di AWS e Google Cloud, abbiamo aiutato migliaia di aziende a gestire e ottimizzare i propri deployment cloud.
Per questo i clienti DoiT hanno anche accesso a prodotti proprietari che aiutano a ottenere sempre i prezzi migliori e a eliminare attività amministrative che fanno perdere tempo grazie all'automazione. E per le attività che è meglio lasciare alle persone — come la migrazione a un'architettura a container o la realizzazione di una data pipeline — avrete accesso illimitato a senior cloud architect in tutto il mondo. Pensateli come una "capacità cerebrale on-demand" o come il vostro StackOverflow personale.
Per saperne di più sulla collaborazione con DoiT, contattate oggi stesso un nostro esperto o consultate il nostro recente ebook, The Cost Conscious Cloud.