Implementare una strategia DevOps senza essere in grado di misurarne l’efficacia rischia di vanificare gli investimenti fatti. Parliamo quindi delle principali metriche DevOps da monitorare per una strategia di successo.

L’approccio DevOps fonde le competenze di  ‘development’ (Dev) a quelle di ‘operations’ (Ops) in feature team che condividono pratiche e principi di lavoro e, grazie a determinati strumenti software, sviluppano una pipeline di distribuzione del codice il più possibile automatizzata. 

Le modalità di adozione di DevOps non sono cristallizzate, ma evolvono nel tempo, alla ricerca della migliore ‘ricetta’ di strumenti, processi e competenze che possano portare al raggiungimento dei propri obiettivi.
In particolare, troviamo una conferma dell’accresciuta popolarità di DevOps nella sempre maggiore propensione a standardizzare l’utilizzo di test automation per il mantenimento di alti standard qualitativi, come evidenziato dalla tredicesima edizione del World Quality Report 2021-22 di Capgemini, Sogeti e Micro Focus.

La produzione: IaC, CI/CD e controllo qualità

Svariate metriche possono essere monitorate lungo l’intero ciclo di  DevOps, che si impernia su tre cardini fondamentali: automazione dell’infrastruttura, sviluppo iterativo CI/CD, controllo qualità e manutenzione.

Per quanto riguarda l’automazione dell’infrastruttura, l’approccio Infrastructure as Code (IaC) è una pratica fondamentale e viene realizzato con l’utilizzo di strumenti quali Terraform o Ansible. L’infrastruttura necessaria viene definita con script di tipo testo, permettendo l’automazione delle operazioni e il relativo deployment di tutto l’ambiente IT: hardware, opsys, rete, macchine virtuali e container. L’elevata ripetibilità di queste operazioni permette di effettuare in automatico anche gran parte del testing. 

Parlando invece del codice, lo sviluppo moderno prevede la modalità di continuous integration e continuous delivery. In sintesi, lo sviluppo CI/CD ottimizza e automatizza le fasi di sviluppo, testing e deployment del codice, abilitando una pipeline di sviluppo completamente integrata. Gli strumenti a supporto, con diversi approcci, sono numerosi: Jenkins, Puppet, SaltStack, Git, Newman, Cypress, Test Runner e altri ancora.

La fase di monitoraggio e reporting richiede di individuare le metriche più rilevanti a livello aziendale a partire dalla cronologia delle build. In questa fase, è importante la completa visibilità dei parametri, quindi assume importanza la qualità della dashboard

Quali sono dunque le principali metriche DevOps da monitorare? 

È possibile individuare un efficace set di metriche in ambito DevOps. Le principali sono sei, contraddistinte dalle sigle DF, CDT, LT, CFR, MTTR e CTV. Vediamole in breve.

1. Deployment Frequency (DF)

Il numero di rilasci in un dato periodo di tempo è una delle prime metriche DevOps da osservare. Può comprendere diversi eventi, tra i quali gli script manuali, le pipeline di rilascio automatizzate e le chiamate API.

Aumentare la frequenza della distribuzione riduce il numero di errori complessivi.

2. Commit-to-Deploy Time (CDT)

Tra il commit e il deploy ci sono svariati passi intermedi che possono rallentare o anche bloccare il rilascio. La misura del CDT permette di comprendere l’esistenza di eventuali problemi e di avviarne la risoluzione.

3. Lead Time (LT)

Il parametro LT registra il tempo necessario per implementare, testare e distribuire il codice. La corretta misurazione dei tempi permette di individuare le operazioni che possono essere ottimizzate attraverso l’automazione. 

4. Change Failure Rate (CFR)

Tra le metriche DevOps importanti da misurare troviamo il CFR, che permette di analizzare se le operazioni di automazione e ottimizzazione messe in atto siano realmente efficaci - cioè che non producano un eccessivo numero di errori. Se correlato con altri parametri (DF, CDT), il CFR offre il miglior rapporto qualità/costo.

5. Mean Time to Recovery (MTTR)

Una volta compiuto un errore, quanto tempo è necessario per risolvere il problema? La gestione del MTTR è un punto chiave della collaborazione tra Devs e Ops e richiede sofisticati strumenti di monitoraggio delle applicazioni.

6. Customer Ticket Volume (CTV)

È una delle metriche della soddisfazione dell’utente finale, poiché misura quanti errori o bug bypassano i test e finiscono in produzione, facendo generare ticket agli utenti.

DevOps, una soluzione strutturata e duratura 

Abbiamo visto come l’approccio DevOps sia molto strutturato, anche se aperto nella sue modalità di implementazione, fin dalla sua adozione iniziale. Deve quindi essere introdotto in modo graduale, coinvolgendo le persone, individuando gli strumenti più adatti e considerando i processi aziendali nel loro complesso. 

L’adozione di questa metodologia permette al team di sviluppo di restare continuamente aggiornato su metodi e processi richiesti, aumentando la robustezza del processo complessivo e, via via, riducendo i costi legati allo sviluppo. Le metriche DevOps sono un punto di riferimento importante per misurare l’efficacia dell’implementazione di una strategia di DevOps nel tempo e rispetto ai risultati attesi. 

Mia Platform - White Paper - Tutto quello che devi sapere per orientarti nel mondo del DevOps

© MIA s.r.l. Tutti i diritti riservati