FinOps per la gestione finanziaria del Cloud

Le aziende adottano il Cloud Computing e l’approccio Cloud Native per favorire la scalabilità dei progetti e la crescita aziendale. Ma per supportare la crescita sono necessarie sempre più risorse cloud ed è quindi naturale che i costi di implementazione aumentino. Ma fino a che punto? Per tenere le fila delle spese aziendali destinate ai servizi Cloud entra in gioco il così detto FinOps (Cloud Financial Management), una pratica che fa parte del Cloud Management.

Che cos'è FinOps?

Con il termine FinOps facciamo riferimento a tutto quel set di pratiche dedicate alle Cloud Financial Operation. Si tratta, in altre parole, del monitoraggio, forecasting e ottimizzazione dei costi legati all’utilizzo di servizi a consumo, ospitati su uno o più Cloud provider.

La FinOps Foundation definisce il FinOps come “una disciplina e pratica culturale in evoluzione per la gestione finanziaria del Cloud.” Specifica inoltre che il FinOps “consente alle organizzazioni di ottenere il massimo valore aziendale aiutando i team di progettazione, finanza, tecnologia e business a collaborare su decisioni di spesa basate sui dati.”

La definizione in linea teorica quadra, ma in pratica in cosa consiste l’approccio FinOps? 

Iniziamo da qui. Come la parola DevOps, anche il termine FinOps fa riferimento non solo ad una disciplina, ma anche ad un mindset culturale

Il termine FinOps combina due parole: financial e operations. Si tratta infatti di un approccio adottato da un’organizzazione che cerca di promuovere la collaborazione tra diversi reparti dell’azienda, nello specifico i reparti di operations, finance ed engineering. 

Sicurezza nel Cloud: leggi le strategie di difesa contro i nuovi attacchi! Scarica il White Paper Guida alla Cloud Native Security

Il modello FinOps vuole massimizzare il valore prodotto, senza tralasciare come e quanto la spesa, in questo caso dei servizi Cloud, influisca sul risultato finale. 

Al modello di collaborazione, si affianca un modello decisionale data-driven. Quest’ultimo è destinato ad evolvere in maniera continua. Maturare man mano che i team e l’organizzazione stessa assumono maggiore consapevolezza e padronanza delle leve di ottimizzazione che il Cloud mette a disposizione.

LEGGI ANCHE: FinOps e GreenOps: gestione efficiente ed ecologica del cloud

 

Quali sono i vantaggi di FinOps per il cloud management?

Dopo aver definito che cos’è FinOps, è lecito interrogarsi sugli obiettivi di questo approccio specifico. A cosa serve quindi FinOps? E, soprattutto, perché un’azienda dovrebbe adottare questo framework? 

Al giorno d’oggi, un’azienda che adotta il Cloud Native non deve solo padroneggiare i concetti fondamentali legati al Cloud, come l’architettura a microservizi, i container o la metodologia DevOps. Un efficiente modello di gestione finanziaria è un fattore abilitante e critico all’interno di ogni iniziativa Cloud Native

In sintesi, l’obiettivo del FinOps è quello di bilanciare correttamente costi, velocità e qualità e rendere così più efficiente l’utilizzo del Cloud. Grazie al FinOps le aziende possono continuare a investire nell’innovazione con più consapevolezza, grazie a:
  • Un più accurato forecasting, gestione e imputazione dei costi “condivisi” tra iniziative differenti.
  • La diminuzione degli sprechi (a cui è collegato anche il tema del Green Cloud e quindi delle emissioni di CO2 derivanti da potere computazionale non utilizzato).
  • Una maggiore responsabilità finanziaria da parte dei team IT, e quindi un uso finanziariamente responsabile del Cloud. 

LEGGI ANCHE: DevOps: Cos’è e come introdurlo in azienda

Come si può misurare l'efficacia del FinOps?

Grazie al modello FinOps, le organizzazioni possono raccogliere e organizzare tutti i KPI necessari a valutare l’andamento del progetto. In questo modo, è possibile comprendere se le ipotesi fatte durante la stesura del business case sono aderenti alla realtà. Soprattutto, è possibile analizzare tutte le attività correttive necessarie qualora tali ipotesi venissero smentite.

Un esempio può riguardare l’ipotesi dei volumi di carico che è necessario supportare e, di conseguenza, il numero di risorse a consumo che è necessario acquistare. Ma in che modo esattamente?

FinOps fornisce un framework specifico che le aziende possono adottare. Tramite delle capability di reporting, operazioni di tagging e capacity plan, il framework FinOps permette di costruire una vista omogenea - qualora i cloud provider monitorati siano più di uno - e soprattutto comprensibile a tutti i vari reparti dell’organizzazione.

La nascita del framework FinOps

Il framework FinOps, è stato formalizzato dalla FinOps Foundation. Si tratta di un programma patrocinato dalla Linux Foundation e dedicato all’evangelizzazione dell’industria IT alla disciplina del Cloud Financial Management, attraverso la definizione e condivisione di standard e best practices. All’interno del framework FinOps, e di conseguenza in ogni sua implementazione, abbiamo:

  • I principi: ovvero i punti fondamentali su cui si basa la collaborazione tra team cross funzionali e il livello di responsabilità che ciascuno di questi attori ha nell’attuazione o governance dell’iniziativa.
  • Le personas: ovvero le professionalità che è necessario coinvolgere all’interno di un progetto FinOps.
  • Le fasi: cioè i passi e le relative azioni che l’organizzazione e i team devono intraprendere in base al loro grado di maturità. L’approccio delineato dalla FinOps Foundation è del tipo crawl, walk, run, ovvero iterativo e incrementale.
  • I domini: intesi come le aree su cui le attività operative derivanti dal processo decisionale possono e/o devono intervenire.

La struttura di questo framework segue l’evoluzione dell’industria. Perciò le aree tematiche appena descritte potrebbero variare con l’avvento e l’adozione di nuovi modelli computazionali associati a trend emergenti, come ad esempio il Metaverso o la computazione decentralizzata/Web3. 

I principi di un modello del Cloud FinOps

Come detto precedentemente, i principi del modello FinOps definiscono le linee guida su cui i diversi ruoli aziendali operano e collaborano tra di loro. Vediamoli nel dettaglio:

  • I team devono collaborare. Un'organizzazione che vuole adottare il modello FinOps, ma allo stesso tempo mantenere dei silos verticali, perde la capacità di prendere delle decisioni tenendo conto di tutti i punti di vista dell’azienda.
  • Ogni team è responsabile dei propri costi. Il dimensionamento e l’allocazione dei costi Cloud è responsabilità del team sponsor/owner dell’iniziativa.
  • Governance centralizzata. Esiste un board centrale che coordina e supervisiona l’applicazione del framework FinOps.
  • Reporting puntuale e facilmente consultabile. Produrre i KPI/report associati ai costi Cloud non deve essere un’operazione time-consuming, ma bensì quanto più vicina possibile a modelli di Self-BI.
  • Decisioni Value & Data driven. Scelte basate sul valore che il Cloud ha in quella particolare circostanza, scegliendo l’opportuno hosting model anche in relazione alla strategicità dell’iniziativa.
  • Sfruttare i benefici di un modello di costi dinamico. Si tratta di un modello di costi che incapsula, oltre che i costi relativi alla capacità computazionale, anche costi di licenza (che tradizionalmente hanno sempre rappresentato una voce di costo indipendente). Questo permette di avere un doppio livello di consolidamento e ottimizzazione.

La struttura di un team FinOps

Un team FinOps è un team eterogeneo, che raggruppa diverse professionalità e aree dell’azienda che contribuiscono in maniera partecipata alla creazione di valore per l’azienda. 

Un team FinOps, così come ogni team cross funzionale, si presta molto facilmente all’outsourcing di determinati profili/ruoli. Questo permette non solo di ottimizzare risorse, ma anche di avvalersi di competenze non necessariamente presenti in azienda, e che tuttavia risultano chiave per una corretta implementazione di una strategia FinOps. I ruoli chiave sono:

  • FinOps Practitioner: facilitatore e esperto del framework FinOps (figura simile allo Scrum Master).
  • Executive: focus su accountability, trasparenza e andamento dell'iniziativa FinOps (budget e tempo).
  • Business/Product Owner: focal point per iniziative interne dove il Cloud è un elemento chiave.
  • Finance/Procurement: lavorano con il FinOps Practitioner per interpretare i dati e metriche raccolte.
  • Engineering/Operation: responsabili della delivery e del mantenimento del valore prodotto.

Come implementare il modello FinOps?

Arrivati fin qui abbiamo compreso che la corretta gestione finanziaria dei servizi Cloud è un aspetto critico per il successo di qualsiasi progetto in Cloud. Come applicare quindi i principi del FinOps nella tua realtà?

A prescindere dal livello di maturità di una azienda, il framework FinOps può essere adottato seguendo un percorso ben definito. Nel 1° Incontro “La Gestione dei costi Cloud e FinOps”, organizzato dall'Osservatorio Cloud Transformation del Politecnico di Milano, sono state descritte le tre fasi che costituiscono il ciclo di vita FinOps.

La prima fase fornisce la visibilità necessaria per creare una responsabilità condivisa. La seconda fase è volta a identificare opportunità di efficienza e a determinarne il valore. Infine, l'ultima fase definisce ed implementa processi per raggiungere gli obiettivi di tecnologia, finanze e business. Vediamo le tre fasi del ciclo di vita FinOps nel dettaglio:

1. Prima fase: inform

La prima fase del FinOps si focalizza su catalogare le spese cloud per ottenere chargeback e showback precisi. In questa fase vengono anche analizzate le dinamiche di utilizzo Cloud da parte dei team aziendali.

KPI per la prima fase: percentuale di costi Cloud correttamente allocati tramite chargeback

2. Seconda fase: optimize

Una volta che le spese cloud sono mappate e le competenze necessarie acquisite, le aziende devono ottimizzare la loro presenza cloud, ad esempio con attività di rightsizing e spegnimento automatico. Il censimento delle necessità aziendali permette di limitare l’uso di servizi on demand generalmente più costosi.

KPI per la seconda fase: percentuale di Cloud in commitment vs Cloud on demand 

3. Terza fase: operate

Le organizzazioni iniziano a monitorare continuamente gli obiettivi di business e i KPI di riferimento, coinvolgendo il Cloud Cost Center of Excellence costruito intorno agli stakeholder aziendali, finanziari e operativi, che definiscono anche le politiche e i modelli di governance appropriati.

KPI per la terza fase: scostamento tra la previsione di spesa Cloud e la spesa effettiva

FinOps e Cloud Native: declinazioni tecnologiche del modello

Se hai definito il team adeguato e compreso le fasi per l’adozione del modello FinOps sei a un passo da una gestione più efficiente dei servizi Cloud. Ora però bisogna capire come declinare da un punto di vista tecnologico le linee guida identificate nelle fasi di Benchmarking/Ottimizzazione descritte nel paragrafo precedente. 

In un contesto Cloud Native l’architettura di riferimento fa uso di un modello a microservizi ospitato all’interno di un cluster basato su Kubernetes (sia esso OpenShift di RedHat, Elastic Kubernetes Service di AWS oppure Azure Kubernetes Service di Microsoft Azure). In questo contesto è possibile dimensionare, governare e monitorare le risorse allocate o da allocare tramite delle capability tecnologiche. Tali capability, definibili in fase di deploy/design, sono:

  • Resource request/limits: Identificano a livello di Pod le risorse richiedibili e necessarie al servizio; 
  • Quality of Service: La tipologia di workload, al fine di ottimizzare la densità di utilizzo dei nodi da parte dello scheduler
  • Namespace: Segregazione logica all’interno del cluster che permette di definire un tetto massimo di CPU/RAM che i pod in esso contenuti possono impegnare;
  • Autoscaler: Sia verticali che orizzontali, aiutano a regolare il numero di repliche di un determinato POD all’interno del cluster.

Il rispetto e l’educazione a non tralasciare queste linee guida (o addirittura impostazioni di distribuzione) permette di mantenere sotto controllo l’effettivo utilizzo della capacità computazionale - sia essa Cloud o on-premise - e massimizzare la sua densità di utilizzo. 

Infine, tramite opportuni strumenti di raccolta dati e reporting, è possibile convertire le metriche tecniche (basate su CPU/RAM) in valori monetari più facilmente comprensibili. Questo, in pieno rispetto del concetto cardine di trasparenza e reportistica facilmente consultabile e comprensibile da tutti gli stakeholder aziendali.

Come può evolvere FinOps nel futuro?

La filosofia e le pratiche FinOps sono piuttosto nuove, eppure sta già trasformando il modo in cui le organizzazioni gestiscono la propria infrastruttura cloud. Cosa riserva il futuro per FinOps e per le aziende che ne faranno sempre più uso? Ci sono alcune aree in cui si prevede che FinOps evolverà maggiormente.

Una di queste è l’ecosistema di strumenti per il Cloud Financial Management. Man mano che le aziende miglioreranno il proprio approccio FinOs, gli strumenti saranno in continua evoluzione, con sempre più fornitori e varietà di proposte.

Nuovi strumenti di aggregazione per la gestione dei costi cloud si aggiungeranno alle proposte attuali (come Flexera One, Cloudability, CloudHealth), ma anche nuovi strumenti di automazione (in aggiunta a strumenti come Ansible, Terraform, Kubernetes) e di ottimizzazione (come NetApp Spot).

Un altro aspetto dell’evoluzione di FinOps riguarda la correlazione sempre più marcata tra spesa in ambito cloud e valore aziendale. Il cambiamento culturale innescato da FinOps raggiungerà un punto in cui le spese cloud saranno considerate direttamente in base al valore aziendale ed economico che sono in grado di generare. La chiarezza sulle spese e le metriche accurate aiuteranno le organizzazioni a creare obiettivi basati sulle performance aziendali e a identificare dove dovrebbero investire per ottenere valore aggiunto.

In altre parole, l'approccio data-driven alle decisioni riguardanti il cloud e le spesa IT sarà sempre più predominante, supportato da nuovi strumenti sempre più precisi e completi.

Per concludere

Il modello FinOps è un approccio capace di migliorare la gestione finanziaria dei servizi Cloud a consumo. È utile per le organizzazioni che sfruttano le potenzialità del Cloud e ancora di più per quelle che stanno crescendo e gestiscono complessi cluster Kubernetes.

Come abbiamo visto nel corso dell’articolo, la metodologia FinOps fornisce un framework specifico che le aziende possono adottare per gestire i costi del cloud e bilanciare correttamente velocità, costi e qualità. In questo modo è possibile rendere più efficiente l’utilizzo del Cloud, investire senza sprechi e continuare a crescere.

Guida alla Cloud Native Security