
Come l'apprendimento continuo, la logica dei "piccoli passi" e l'ottimizzazione architetturale guidano la trasformazione FinOps
Di François Pasquet, Technical Account Manager, DoiT
Quando ho iniziato, il FinOps era considerato un'attività secondaria, da affrontare quando avanzava tempo. Oggi, con la crescente adozione del cloud e l'affermarsi delle soluzioni multi-cloud, le pratiche FinOps si stanno evolvendo, diventando più sofisticate e molto più integrate e comprese all'interno delle aziende. Le aziende puntano soprattutto a ottimizzare i costi, spesso senza sapere da dove iniziare. Vogliono spendere meno, avere una governance migliore e un controllo più efficace sulle spese. Sono le richieste più ricorrenti, diventate una priorità assoluta nel 2024 per quasi tutti i miei clienti (e, prevedibilmente, restano altrettanto cruciali per la quasi totalità delle organizzazioni nel 2025!), che oggi mi dicono: "Vogliamo concentrarci sulla riduzione dei costi, massimizzando al tempo stesso le prestazioni e la resilienza delle nostre infrastrutture".
Tutto questo, però, non avviene senza fatica: richiede un monitoraggio costante delle spese, l'automazione dei processi di gestione dei costi e l'uso di strumenti avanzati per analizzare e prevedere la spesa futura. La diffusione delle soluzioni multi-cloud aggiunge un ulteriore livello di complessità, imponendo un approccio più ampio e interoperabile per gestire i costi tra diversi cloud provider e, molto più spesso di quanto si pensi, in ambienti ibridi cloud/on-prem.
Le pratiche FinOps devono inoltre adattarsi alla varietà di servizi offerti dai diversi cloud provider. Ogni provider ha i propri modelli di pricing, i propri strumenti di gestione e tracciamento di costi e utilizzo e le proprie best practice da diffondere all'interno delle organizzazioni. Di conseguenza, il FinOps deve saper navigare in questo contesto complesso e cogliere le offerte migliori di ciascun provider. Ciò può significare sconti sui commitments, ottimizzazione delle risorse in base alle esigenze specifiche delle applicazioni e implementazione di strategie di governance per garantire un uso del cloud efficiente ed economicamente sostenibile.
L'adozione di soluzioni multi-cloud richiede una collaborazione davvero stretta tra team tecnici e team finance. Non è sempre così, e non sempre è semplice: non per mancanza di volontà, ma perché spesso i team non parlano la stessa lingua, non si basano sugli stessi dati per le proprie analisi e, soprattutto, non interpretano quei dati allo stesso modo. I team tecnici devono essere consapevoli delle implicazioni finanziarie delle proprie decisioni (un singolo clic può avere conseguenze enormi), mentre i team finance devono comprendere gli aspetti tecnici dei servizi cloud per valutare correttamente costi e benefici. Questa collaborazione può essere agevolata da strumenti di gestione dei costi che offrono visibilità in tempo reale sulle spese e permettono di prendere decisioni informate.
L'evoluzione delle pratiche FinOps, di pari passo con l'adozione del cloud e delle soluzioni multi-cloud, comporta anche una formazione continua dei team. Le tecnologie cloud evolvono rapidamente ed è essenziale che i team FinOps restino aggiornati sulle ultime innovazioni e best practice. Questo significa partecipare a sessioni di formazione, conferenze, community of practice FinOps e avviare programmi di mentoring e condivisione delle conoscenze, anche all'interno della community Tech Rocks che abbiamo qui in Francia.
I KPI specifici che utilizzo includono il costo per unità di lavoro (per esempio, costo per transazione, per utente, per milione di richieste, ecc.), perché è importante avere un'idea di quanto "costa" un utente o un cliente: alla base c'è il concetto di tasso di utilizzo delle risorse. Altri KPI riguardano i risparmi ottenuti grazie alle ottimizzazioni e il ritorno sull'investimento, comunemente noto come ROI, delle iniziative FinOps. Questi indicatori permettono di misurare non solo i costi diretti, ma anche l'efficacia e l'impatto delle ottimizzazioni sulle prestazioni complessive dell'organizzazione.
Per esempio, presso uno dei miei clienti abbiamo implementato dashboard per tracciare i costi per progetto e per applicazione, così da individuare rapidamente le aree in cui ottenere risparmi. Usiamo inoltre strumenti di monitoraggio e reportistica per seguire in tempo reale l'utilizzo delle risorse e adeguare di conseguenza le strategie. Analizziamo poi con regolarità i risparmi ottenuti grazie alle ottimizzazioni: questo ci consente di misurare l'impatto delle nostre iniziative FinOps e di dimostrarne il valore all'organizzazione.
Tutto ciò, però, non è sempre semplice, soprattutto quando l'infrastruttura esistente o legacy non consente, in partenza, meccanismi di tracciamento efficaci. In particolare quando tutto è mescolato, capire quanto costa un singolo cliente all'interno della spesa totale è un lavoro lungo e complesso a causa del debito tecnico. Spesso questo debito tecnico richiede un investimento che a prima vista può sembrare scoraggiante: si vedono soprattutto le spese, il rischio per la produzione, la mancanza di tempo, di personale, talvolta di competenze o di dati storici… ed è del tutto comprensibile, non è in alcun modo una critica. Il ruolo dei professionisti FinOps è proporre un approccio graduale, strutturato, strategico e metodico.
Tutto questo porta a integrare la dimensione FinOps nel ciclo di vita dello sviluppo prodotto fin dalle fasi di pianificazione e progettazione. Ogni volta che è possibile, collaboro a stretto contatto con i team DevOps e CI/CD per inserire le pratiche di gestione dei costi sin dall'inizio: è la chiave del successo. Prima si parte, più semplice è il percorso e più rapidamente se ne raccolgono i frutti. Questo significa automatizzare il monitoraggio dei costi, ottimizzare le risorse usate per test e deployment e creare feedback loop per adeguare le strategie in tempo reale. L'obiettivo è promuovere una cultura della responsabilità finanziaria, in cui ogni team sia consapevole dell'impatto economico delle proprie decisioni. Le persone amano poter monitorare l'intera infrastruttura in tempo reale sui dashboard: è un po' come guardare le previsioni del tempo in TV!
Per esempio, presso uno dei miei clienti abbiamo lavorato all'integrazione del FinOps nel ciclo di sviluppo utilizzando strumenti come Karpenter per ottimizzare l'uso delle istanze Spot e ridurre i costi. Abbiamo inoltre adottato pratiche di tagging delle risorse per tracciare i costi per ambiente (produzione, staging, ecc.) e per applicazione, in modo da individuare rapidamente le opportunità di ottimizzazione. Infine, abbiamo collaborato con i team DevOps per automatizzare il monitoraggio dei costi e integrare alert in tempo reale, riuscendo così a reagire rapidamente alle anomalie e a tenere i costi sotto controllo.
Per concludere, direi che l'errore più comune è guardare al FinOps unicamente attraverso la lente dell'ottimizzazione dei costi. Tra gli altri errori frequenti ci sono una collaborazione assente o insufficiente tra team finance e team tecnici fin dall'inizio, la mancanza di un monitoraggio continuo e la sottovalutazione dell'importanza dell'automazione. Per evitare queste insidie occorre promuovere una comunicazione aperta e costante tra i team, dotarsi di strumenti solidi di monitoraggio e reportistica, investire nell'automazione dei processi di gestione dei costi e, forse soprattutto, coltivare la fiducia reciproca.
Di recente, con uno dei miei clienti, per affrontare un grave problema di visibilità sulle spese abbiamo realizzato dashboard dettagliate e report periodici per tracciare i costi per progetto e per applicazione: su base mensile, giornaliera e tenendo conto persino dei giorni della settimana per individuare pattern, un po' come un investigatore in cerca di indizi. Sul piano umano, ho incoraggiato una stretta collaborazione tra i team finance e i team tecnici organizzando workshop e sessioni di formazione sulle best practice FinOps. Creare slancio interno, trovare alleati che aiutino a convincere gli altri e dimostrare il valore del FinOps per innescare un circolo virtuoso: anche questo fa parte dell'approccio FinOps. Infine, il mio cliente ha investito tempo nell'automazione dei processi di gestione dei costi, riducendo gli errori umani e migliorando l'efficienza complessiva delle iniziative FinOps.
Per evitare questi errori, ritengo fondamentale adottare un approccio graduale alla costruzione di una cultura FinOps. Meglio evitare strategie aggressive in ambienti in rapida crescita con debito tecnico e concentrarsi invece su un'ottimizzazione metodica dell'infrastruttura, per governare scalabilità e resilienza.
Il FinOps dovrebbe sposare il metodo dei "piccoli passi": testare le ipotesi su piccola scala, imparare, correggere, ripetere e introdurre i cambiamenti in modo graduale. Si minimizza il rischio massimizzando l'apprendimento e la capacità di adattamento. Una pluralità di competenze – sia di manager sia di esperti tecnici – e uno scambio costante fra pari all'interno delle community aggiungono un valore strategico significativo.
Infine, uno degli errori principali da evitare è non integrare il FinOps nella visione tecnologica e di prodotto, soprattutto quando si vogliono ridefinire operazioni di business complesse restando ambiziosi e in linea con le esigenze del mercato. In definitiva, usare il FinOps come bussola contribuisce in modo decisivo a costruire un'infrastruttura elastica e scalabile, capace di assorbire un carico molte volte superiore a quello attuale o le evoluzioni future: un fattore essenziale per raggiungere i propri obiettivi di performance e di agilità. Integrare le pratiche FinOps rafforza la resilienza.
Serve un altro caso concreto per dimostrare i benefici tangibili di una trasformazione guidata dal FinOps?
Un'app di dating globale si trovava ad affrontare una crescita incontrollata dei costi cloud, riconducibile a un'architettura di cluster Elasticsearch complessa e, in particolare, agli elevati costi di network egress inter-zona e di compute. La configurazione inter-zona, pensata in origine come misura di resilienza, aveva introdotto un'ulteriore complessità operativa e una pressione finanziaria crescente. Sfide che non solo incidevano sul budget, ma mettevano a rischio anche la capacità dell'azienda di offrire un'esperienza utente affidabile.
Per risolvere il problema, l'organizzazione si è affidata a noi per condurre una valutazione approfondita delle pratiche, sia architetturali sia operative. È emerso che le soluzioni di disaster recovery in essere erano insufficienti e che la struttura inter-zona fungeva da "paracadute" mal concepito.
La soluzione si è concentrata su alcune iniziative chiave allineate al FinOps:
- Maggiore visibilità sull'utilizzo e sulla spesa di rete cloud grazie a reportistica e analytics dettagliate, mettendo gli Engineers nelle condizioni di prendere decisioni più consapevoli sul fronte dei costi
- Una valutazione sistematica delle strategie di affidabilità, mettendo a confronto i loro costi con il potenziale downtime e analizzando a fondo i driver specifici della spesa cloud
- L'adozione delle best practice FinOps, con una maggiore collaborazione tra stakeholder tecnici e di business e l'allineamento della strategia cloud agli obiettivi aziendali
- L'ottimizzazione dell'architettura, inclusa la riduzione del cluster Elasticsearch e l'introduzione di un piano di disaster recovery adeguato, il tutto gestito con un processo graduale e a basso impatto
- Monitoraggio costante e ottimizzazione iterativa per consolidare i miglioramenti, sia in termini di affidabilità sia di efficienza dei costi
Il risultato: una sostanziale riduzione delle spese di rete e infrastruttura, una maggiore efficienza operativa e una solida cultura della responsabilità finanziaria. Il disaster recovery automatizzato ha rafforzato la resilienza e i risparmi ottenuti hanno reso possibile l'espansione del business.