<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=43543&amp;fmt=gif">

IT | EN

7 MIN LETTURA

Quando pensi al termine cloud native, cosa ti viene in mente? Sicuramente un sacco di concetti, dai container all’architettura a microservizi, fino alla metodologia DevOps. Difficilmente si pensa subito al suo aspetto finanziario, anche se con il tempo sta assumendo un’importanza strategica.

Cominciamo con un po’ di dati: secondo il report FinOps for Kubernetes (redatto congiuntamente dalla CNCF e dalla FinOps Foundation), per il 68% degli intervistati i costi relativi al cloud e a Kubernetes sono in salita, fino ad arrivare ad una spesa del 20% in più rispetto all’anno precedente.

Non è un dato che dovrebbe sorprendere: quando un’azienda adotta un’architettura cloud native e scala su ambienti Kubernetes, i costi di implementazione aumentano.

Ma deve per forza essere così? Non necessariamente. Ed è qui che entra in gioco il Cloud Financial Management, o meglio conosciuto come FinOps.

Cos’è il FinOps

Il termine, proprio come DevOps, combina due parole insieme, Financial e Operations. Le affinità non finiscono qui: esso comporta anche una trasformazione culturale, supportata da nuovi tool e pratiche performanti che prevede una migliore collaborazione e una comunicazione più precisa tra diversi team.

La Foundation definisce questo termine come “… la pratica di portare la rendicontazione finanziaria al modello di spesa variabile del cloud, in modo da consentire ai team distribuiti di effettuare trade-off aziendali tra velocità, costi e qualità”.

In altre parole, il FinOps è un modo per ottimizzare la spesa per il cloud e, al contempo, trarre da esso il maggior beneficio ottenibile per la tua azienda.

Ora penserai: ok, molto bene, quindi mi serve per risparmiare!

Non proprio: nonostante possa in effetti essere uno degli output finali, il risparmio non è alla base di questo tipo di metodologia. Anzi, alcune volte, il risultato potrebbe portare ad affrontare una spesa maggiore, oppure a mettere in secondo piano il fattore costo per privilegiare altri aspetti, come la velocità di delivery.

A cosa serve

Abbiamo detto che questa pratica può portare al risparmio, ma non solo:

  • abbatte i silos aziendali: il reparto IT diventa un driver che collabora con gli altri team per ridurre al minimo gli sprechi legati al cloud massimizzare il suo valore e guidare gli obiettivi dell’organizzazione;
  • promuove una proprietà dei costi decentralizzata: la spesa IT viene sempre allocata dal reparto finanziario, ma è responsabilità anche degli altri reparti aziendali che concorrono al successo del progetto – operations, servizio clienti, team esecutivo, ecc;
  • porta ad una maggiore predittività della spesa operativa del cloud (OpEx): tradizionalmente, le aziende utilizzano i budget CapEx (investimenti di capitale fisso per attività e asset durevoli) e il processo degli ordini di acquisto per controllare il livello di spesa IT e per prevedere le spese future, basate anche sulle stime che indicano la tendenza delle spese operative (OpEx). Solo che questo modello non è più efficace per le spese relative al cloud, le quali, secondo queste previsioni possono comportare delle variazioni del 25% o oltre. Grazie all’introduzione di una strategia FinOps, è possibile fare affidamento su modelli predittivi più accurati, su budget automatizzati e su strumenti che forniscono notifiche in tempo reale delle soglie di spesa delle attività in cloud.

Adottare una strategia FinOps

Princìpi base

Un’esecuzione del FinOps di successo prevede l’osservazione dei seguenti princìpi, validi per qualsiasi tipo di azienda, grande o piccola, che già si basa sul cloud o che lo desidera implementare a breve:

  • Trasparenza dei costi, che significa avere accesso in modo trasparente a tutti i dati relativi alle spese cloud
  • Integrità, ossia prendere gli errori e trasformarli in opportunità senza fermarsi alla colpa
  • Collaborazione di tutti i team aziendali coinvolti nella gestione finanziaria del cloud
  • Affidabilità, ossia dare fiducia ai team per la definizione di metriche e KPI essenziali, redazione di report e ottimizzazione dei costi
  • Variabilità del cloud. Il cloud è dinamico e in continua evoluzione, abbracciare questa sua natura anche in contesto finanziario permette di entrare nell’ottica pay-as-you-go.

Primi passi

FinOps-phasesImg credits:- FinOps Phases - finops.org

Ok, abbiamo detto cos’è, a cosa serve, quali sono le premesse iniziali ma ora arriviamo al dunque. Da dove si inizia per sviluppare una pratica FinOps che privilegi il cloud come driver di innovazione e di valore? Dalla consapevolezza e l’informazione (1).

Dalla condivisione delle informazioni è possibile avere visibilità in termini di allocazione delle risorse, di benchmark, di budget e previsioni future. L’accuratezza di queste informazioni è ancora più importante in un contesto cloud, che proprio per la sua natura scalabile e in continua evoluzione, richiede un intervento decisionale tempestivo. Cosa fare in questo primo punto:

  • Mappare gli utilizzi esistenti: ancora prima di iniziare un progetto in cloud è consigliato avere un prospetto degli utenti o stakeholder coinvolti, dei prodotti che verranno (o che sono stati) acquistati e degli accordi in essere. È utile capire le motivazioni che ha spinto alla scelta di determinate tecnologie, quali sono i requisiti tecnici e le use case per comprendere come vengono utilizzate le risorse in cloud e per quali scopi sono state create. Tutto questo viene in aiuto per coinvolgere correttamente tutti gli attori, allocare la spesa e per definire in modo più accurato il ritorno dell’investimento, senza sorprese.
  • Taggare le risorse: etichettare ogni risorsa tramite tag di metadati impostati in modo personalizzato (es. di criteri possono essere l’utente, il prodotto o la funzione, il team di sviluppo, etc). Ciò aiuta a capire come si distribuiscono i costi, su quali prodotti e chi li gestisce. Prima di iniziare con questa attività, è importante coinvolgere il team tecnico per capire con loro quali sono le informazioni più utili da tracciare in ottica di futura ottimizzazione.
  • Definire il budget: mappare gli asset e taggare le risorse ci viene in aiuto in quest’ultimo punto, dove si inizia a definire un’architettura in cloud efficiente sia da un punto di vista tecnico che finanziario. Le use case analizzate ti permettono di capire come distribuire la spesa e prevedere la sua futura allocazione, ma ricorda sempre che questa è un’operazione in divenire e potrebbe richiedere degli aggiustamenti e delle rivalutazioni man mano che il progetto si sviluppa.

Ora che hai a coinvolto le giuste persone del processo e definito i procedimenti per ottenere le informazioni che ti servono, arriviamo alla pratica tramite l’ottimizzazione (2).

Ci sono diversi modi per rendere più efficiente la propria impronta cloud, partendo da alcune best practice:

  • Tenere sotto controllo le risorse inutilizzate o non collegate. Per evitare di trovare anche questi costi in fattura, ci viene in aiuto la precedente idea dei tag, attraverso cui potrai facilmente tracciare un server temporaneo non più utilizzato, spazi di archiviazione vuoti etc. e spegnerli.
  • Consolidare le risorse. Ridurre il numero di instanze e concentrare il lavoro solo sulle rimanenti può comportare un significativo risparmio in fattura. A venirci in aiuto è il cloud stesso che offre funzionalità per l’autoscaling e il load balancing attraverso cui è possibile scalare in ogni momento la potenza di elaborazione.
  • Automatizzare il ridimensionamento infrastrutturale durante il provisioning. L’obiettivo è quello di rendere il processo parte integrante della pipeline CI/CD tramite tool IaC (Infrastructure as Code) per evitare comuni errori causati da attività manuali.
  • Diffondere una cultura aziendale orientata al FinOps. Aumenta la consapevolezza dei costi sostenuti nei diversi reparti e condividi dei report diversificati in base al ruolo aziendale. Tutto ciò aiuta ad aumentare la trasparenza e a portare all’attenzione sprechi nascosti o modelli di spesa onerosi.

Infine, si arriva alla fase del miglioramento continuo e delle operation (3). A questo punto si iniziano a monitorare in modo continuativo gli obiettivi aziendali e le metriche utilizzate non solo in base ai costi sostenuti, ma anche alla qualità dei processi e alle velocità di rilascio delle risorse.

Per quanto riguarda le KPI da tenere in considerazione, ecco alcune metriche utili (da valutare in base all’obiettivo specifico della tua azienda):

  • RI Coverage (copertura di istanze riservate)
  • Savings Plan Coverage (copertura del piano di risparmio)
  • Total bill vs. forecast -- including variance % of forecast: actual bill (fattura totale vs previsione)
  • % of oversized instances (% delle istanze sovrastimate rispetto a quanto accordato)
  • % untagged resources (% di risorse non taggate) e % untagged resources (% di risorse non taggate)
  • Consulta qui la lista completa di KPI

Dalla teoria alla pratica con gli strumenti giusti

Per riassumere brevemente, la metodologia FinOps si occupa di ottimizzare i costi legati al cloud e di diffondere una cultura attenta agli sprechi: sappiamo quali risorse controllare, quali metriche tenere in considerazione e sappiamo di dover creare dei report fruibili e trasparenti per ottimizzare le spese future.

Facile a dirsi, ma da dove iniziamo? Ogni tecnologia utilizzata fornisce dati rilevanti che però sono distribuiti su più frontend. Ciò rallenta considerevolmente i processi quotidiani di studio delle metriche e va contro il concetto di dinamicità del cloud stesso.

Per ovviare a questa problematica, in Kiratech utilizziamo Krateo PlatformOps, la nostra piattaforma opensource che, oltre a semplificare la creazione e la gestione delle risorse praticamente ovunque, è anche monitored by design: raccoglie infatti le metriche infrastrutturali, applicative e di processo in un unico pannello di controllo, permettendo così di estrarre valore dai propri processi nell’ottica del continuous feedback e di miglioramento costante delle proprie procedure.

Vuoi darci un’occhiata? Prova la versione community qui.


Img credits: - Affari vettore creata da vectorjuice - it.freepik.com - FinOps Phases - finops.org



Categorie: DevOps, Cloud Native


Nikla Lazzari

scritto da Nikla Lazzari

ARTICOLI CORRELATI

03/12/21 Posted by Nikla Lazzari

A cosa serve il PlatformOps e perché la tua organizzazione ne ha bisogno?

Il mondo dello sviluppo applicativo è radicalmente cambiato negli ultimi anni. Le applicazioni monolitiche sono state sostituite da servizi interconnessi attraverso API.

5 MIN LETTURA

Leggi tutto  

03/12/21 Posted by Nikla Lazzari

DevSecOps cos’è e quali sono i relativi vantaggi

Abbiamo parlato svariate volte della metodologia DevOps, di cosa sia e di come essa coinvolga i team di sviluppo e quello delle IT Operations.

3 MIN LETTURA

Leggi tutto  

03/12/21 Posted by Nikla Lazzari

Cos'è un Service Mesh

Un service mesh è un livello di infrastruttura configurabile a bassa latenza che viene progettato per gestire un volume elevato di comunicazioni tra servizi e applicazioni tramite l’utilizzo di API.

6 MIN LETTURA

Leggi tutto  

Iscriviti alla nostra Newsletter