The Source Piattaforma e infrastruttura
Articolo

FinOps: equilibrio tra responsabilità finanziaria e innovazione

Scopri come FinOps armonizza la responsabilità finanziaria con gli obiettivi aziendali, promuovendo un'innovazione economicamente sostenibile nelle imprese moderne.

November 26, 2024 5 minuti di lettura
Lee Faus
Lee Faus Global Field CTO

Quando la spesa per il cloud cresce di pari passo con i team tecnici, spesso bisogna raggiungere un difficile compromesso tra spingere gli sviluppatori a distribuire software più velocemente o frenare l'aumento dei costi. E se si potesse aumentare la produttività degli sviluppatori del 30% riducendo al contempo i costi di progetto del 25%? Sembrerà impossibile, eppure è un obiettivo realistico per le organizzazioni che adottano FinOps (Financial Operations), un approccio basato sui dati che applica i principi e le pratiche DevOps per ottimizzare i costi associati a persone, processi e tecnologia nell'intero ciclo di sviluppo software.

Ho visto personalmente come FinOps trasforma le organizzazioni apportando chiarezza finanziaria a ogni aspetto dello sviluppo software. Di recente mi sono riunito con il team DevOps di una compagnia assicurativa che sta iniziando il suo percorso FinOps. Fin dall'inizio abbiamo discusso su come definire indicatori fondamentali come la spesa per il cloud e altre metriche che permettano di aumentare le entrate e ridurre i costi attraverso la gestione del flusso di valore. Queste conversazioni sono essenziali affinché i professionisti FinOps possano valutare come sono organizzati e allocati i team e le risorse e quali processi e strumenti potrebbero implementare per promuovere il cambiamento.

Dalle strutture dei team ai processi di sviluppo, fino alle scelte tecnologiche, questa visibilità aiuta i leader a ottimizzare gli investimenti nell'intera operazione. Riunendo team finanziari, di prodotto e tecnici, FinOps consente a CFO, CPO e CTO di prendere decisioni consapevoli, migliorando così l'efficienza aziendale a 360°.

Aumentare l'efficienza e ottimizzare i costi non è solo un requisito dal punto di vista tecnico, ma anche un imperativo aziendale strategico, in particolare perché le organizzazioni stanno investendo sempre più denaro nel cloud. FinOps porta la necessaria responsabilità finanziaria nel modello di spesa variabile del cloud. Analizziamo i vantaggi del FinOps e vediamo come iniziare a incorporare le metodologie FinOps nei tuoi flussi di lavoro operativi.

Che cos'è FinOps?

FinOps, acronimo di Financial Operations, trasforma il modo di operare dei team finanziari, tecnici, tecnologici e aziendali. Attraverso analisi e dati in tempo reale, i team ottengono una visibilità immediata sulla spesa per il cloud e possono intervenire prima che i costi aumentino. Questo approccio proattivo alla responsabilità finanziaria permette di prendere decisioni rapide e informate sull'allocazione delle risorse, portando a una riduzione quantificabile dei costi.

Fondamentalmente, FinOps è una pratica culturale che rende sostenibile questa trasformazione. Stabilendo processi chiari e metriche condivise, i team si assicurano che le loro decisioni tecnologiche quotidiane contribuiscano al raggiungimento di obiettivi aziendali più ampi.

Perché FinOps è così popolare in questo momento?

Sempre più concentrate sull'IA generativa e sulla produttività degli sviluppatori, molte aziende devono implementare nella fase di distribuzione sistemi di protezione, come flussi di lavoro automatizzati e modelli riutilizzabili, che garantiscano l'adozione di percorsi strutturati. Si tratta di un aspetto essenziale per le organizzazioni che stanno modernizzando le loro applicazioni e ottimizzando le architetture cloud in produzione.

Le difficoltà aumentano quando si gestiscono costi esterni alla produzione, come quelli di integrazione continua (CI). Le aziende che hanno adottato un approccio basato sui dati possono ottenere un'ampia visibilità sui loro costi di CI. Possono avere una panoramica concreta di come il ridimensionamento CI in orizzontale o in verticale influisca sia sui cicli di feedback che sui costi tra le diverse architetture di processori. Implementando standard come ambienti di test effimeri, garantiscono la qualità e la sicurezza del codice ottimizzando al contempo la spesa.

I responsabili di prodotto, che normalmente controllano il budget per una linea di prodotti specifica, possono anche collaborare con i team IT e i responsabili tecnici per fornire metriche di trasparenza. Questa collaborazione consente ai leader di riunire le proiezioni di bilancio di più servizi e di garantire che le risorse dell'infrastruttura vengano sfruttate al meglio delle loro capacità. Come risultato, i team finanziari possono sapere quali applicazioni generano il maggior ritorno sugli investimenti.

Un ponte che unisce i settori tecnico e finanziario

La creazione di un modello FinOps può comportare l'adozione di una strategia che combini sia incentivi che misure coercitive (il cosiddetto metodo del bastone e della carota). L'approccio della carota favorisce un ambiente più collaborativo e trasparente, mentre quello del bastone (ad esempio rimproverare i team di sviluppo per aver speso troppo) provoca più spesso una disfunzione nei processi. Ci si aspetta che FinOps non serva solo a monitorare l'utilizzo che gli sviluppatori fanno delle risorse cloud, ma che tenga anche conto di cosa serve loro per svolgere il proprio lavoro e di come ciò influisce sui profitti dell'azienda.

Di recente mi sono riunito con una grande compagnia aerea che spendeva quasi 5 milioni di dollari all'anno per le flotte di runner CI. Le analisi di sicurezza, le analisi delle dipendenze e la scansione dei token venivano tutte eseguite all'interno di queste flotte di runner. Avrebbero potuto saltare il passaggio della sicurezza per ridurre la spesa, ma il potenziale rischio di problemi in quell'area li preoccupava molto di più che investire il budget nelle flotte di runner. Invece di omettere la fase di sicurezza, l'azienda voleva trovare il modo per rendere le proprie flotte di runner complessivamente più efficienti per ridurre la spesa e per incoraggiare gli sviluppatori a sperimentare e innovare.

Un programma FinOps di successo non richiede un team dedicato di professionisti FinOps a tempo pieno. FinOps funge da collegamento strategico tra team interfunzionali come quello finanzario, di prodotto e tecnico. Un tipico programma FinOps include vari ruoli e funzioni, come un CTO o vicepresidente di ingegneria, un responsabile finanziario e uno o più responsabili tecnici che collaborano regolarmente per valutare i problemi, individuare nuove opportunità di efficienza e creare piani di correzione.

Allineare le operazioni tecniche con gli obiettivi finanziari aiuta a garantire che gli investimenti in infrastrutture cloud e sviluppo software producano il massimo rendimento possibile. Ciò può dimostrare ai team DevSecOps come il loro lavoro contribuisca direttamente ad aumentare i ricavi, a ridurre i costi o entrambe le cose.

Controllo finanziario intelligente nei flussi di lavoro degli sviluppatori

FinOps monitora il consumo di risorse sia dal punto di vista dell'utente che operativo per aiutare a ottimizzare i flussi di lavoro degli sviluppatori. Un modo per raggiungere questo obiettivo è analizzare i job di CI e individuare quelli che costano più di quanto il loro valore giustifichi. Ogni pipeline di sviluppo software contiene più job, ognuno dei quali richiede una risorsa di esecuzione come una macchina virtuale (VM) o un container. Più tempo richiede ogni job per essere eseguito, maggiore è il costo. FinOps aiuta gli sviluppatori a capire quali job hanno prestazioni scadenti, così da sottoporli a un refactoring del codice.

Si crea così un modello self-service che consente ai team DevSecOps di lavorare all'interno di linee guida chiare. Ad esempio, una policy potrebbe vietare a qualcuno di eseguire il provisioning di risorse per un valore di 100.000 dollari su AWS, e permettere invece di creare un'immagine EC2 per effettuare dei test. Tuttavia, se questa persona è in grado di giustificare il motivo di tale provisioning, può presentare una richiesta che illustri in che modo il progetto ha il potenziale di generare ricavi per l'azienda. Se riceve l'approvazione, può quindi iniziare il lavoro.

Ad ogni modo, ci tengo a rassicurare i professionisti del DevSecOps e dire loro che FinOps non promuove il monitoraggio a scapito dell'innovazione. Piuttosto, fornisce una visibilità completa di come l'organizzazione utilizza il cloud e investe in esso, aiutando i team a identificare le opportunità di miglioramento della produttività cloud. Oltre a favorire la collaborazione tra i team finanziari, tecnici e aziendali, FinOps analizza i modelli di utilizzo e la domanda per prevedere se le risorse devono essere aumentate o diminuite per soddisfare le esigenze future prima che si verifichi un eccesso di spesa.

Allentare la tensione

C'è un costante braccio di ferro tra il team tecnico e quello delle operazioni. Il primo ha la missione di favorire l'innovazione per generare nuovi flussi di entrate creando al contempo esperienze eccezionali per i clienti. Il team delle operazioni si concentra, invece, sulla massimizzazione della produttività e sul risparmio economico. Aumentando la produttività degli sviluppatori e riducendo la spesa per il cloud, FinOps allevia la tensione tra questi gruppi e allinea l'efficienza tecnica alla prudenza finanziaria.

FinOps aiuta i team DevSecOps a valutare i costi in base a numeri precisi anziché a impressioni soggettive. È cruciale affrontare lo sviluppo software avendo un'idea chiara di quale sarà il suo impatto finanziario sull'organizzazione, in modo tale da prendere decisioni consapevoli sulla continuità del progetto in base a due domande chiave: il progetto contribuirà ad aumentare i ricavi o a ridurre i costi?

Fondamentalmente, FinOps non permette solo di ridurre i costi, ma anche di ottimizzare l'intero ciclo di sviluppo software. Il suo obiettivo è di aiutare gli ingegneri e i team delle operazioni a considerare l'efficienza finanziaria e l'innovazione tecnica come un tutt'uno, in modo tale da comprendere come viene mappato il loro lavoro per aumentare i profitti dell'organizzazione.

Scopri di più su FinOps sul sito web della FinOps Foundation.

Trasforma il tuo sviluppo software

Leggi lo studio Total Economic Impact™ 2024 commissionato a Forrester Consulting per avere un quadro completo di come GitLab Ultimate ha ridotto al minimo i costi, massimizzato le prestazioni e supportato gli obiettivi di crescita delle organizzazioni.

Scarica subito lo studio completo

Concetti essenziali
  • FinOps promuove la collaborazione tra i team finanziari, tecnici e aziendali, allineando gli investimenti nel cloud con gli obiettivi aziendali strategici per ottenere il massimo valore.
  • Migliorando la trasparenza finanziaria, FinOps consente alle organizzazioni di prendere decisioni rapide e basate sui dati, ottimizzando la spesa per il cloud.
  • L'implementazione di FinOps crea un equilibrio tra innovazione e controllo dei costi, allentando la tensione tra i team di sviluppo del prodotto e quelli delle operazioni.