Dopo anni di ricerca, nel 2020, il Team di DevOps Research and Assessment (DORA) ha identificato 4 metriche chiave per misurare le performance del DevOps:
- Deployment Frequency;
- Lead Time for Changes;
- Change Failure Rate;
- Time to Restore Service,
cui ha aggiunto, per completezza, la quinta metrica nel 2021, Reliability. Tali metriche sono ancora valide, in particolar modo le prime 4 citate, e permettono di misurare le performance del tuo sviluppo in un contesto DevOps. Per facilitarti il compito Google ha creato uno specifico progetto open source chiamato proprio “The Four Keys Project“.
Come primo aspetto possiamo dire che Deployment Frequency e Lead Time for Changes misurano la velocità di sviluppo mentre Change Failure Rate e Time to Restore Service la stabilità. Riuscendo, in maniera continua e costante, a monitorare queste metriche, il tuo team può raggiungere gli obiettivi in modo efficiente ed efficace ed applicare processi di miglioramento continuo.
Andiamo ora ad analizzare il significato di ogni metrica.
Deployment Frequency
Per Deployment Frequency s’intende la frequenza con cui un’organizzazione rilascia, con successo, software in produzione ed è la metrica più semplice da collezionare perchè riguarda i rilasci per i quali viene effettuato il deploy. Nell’ambito della misurazione sei però tu a decidere cosa significa successo nel deployment, questo al fine di effettuare un tailoring della metrica sul tuo progetto e sul tuo team in base ai requisiti di business.
Lead Time for Changes
Rappresenta la quantità di tempo necessaria ad un commit di arrivare in produzione. Questa metrica, per essere correttamente misurata, ha bisogno di conoscere quando un commit sia avvenuto e quando sia stato portato in deployment. Quest’ultimo aspetto vuol dire che devi essere in grado di conoscere tutti i commit o change inclusi in un deploy.
Change Failure Rate
Rappresenta la percentuale di deployment che causa un fallimento in produzione. Per misurarla devi conoscere quanti deployment sono stati effettuati e quanti di essi hanno comportato problemi. Quest’ultimo aspetto è misurabile abbastanza agilmente per es. se usi Github tramite apposite label.
Time to Restore Service
E’ il tempo che un’organizzazione impiega ad effettuare il ripristino dopo un fallimento in produzione. Per misurare tale metrica è sufficiente conoscere quando un incidente è stato creato e quando è stato risolto. Strumenti di Incident Management ti possono facilire il compito.
Il progetto Four Keys
Come abbiamo citato precedentemente, al fine di aiutarti a generare tutte queste metriche e quindi monitorare i tuoi processi di DevOps è disponibile, in maniera gratuita, il progetto Four Keys che ha come obiettivo il set up di una data pipeline di ingestion direttamente dal tuo progetto Github o Gitlab all’interno di servizi Google Cloud che hanno il compito finale di creare una dashboard su Google DataStudio.
In poche parole la pipeline del progetto Four Keys è una pipeline di tipo Extract Transform Load(ETL) che colleziona i tuoi dati di DevOps e li trasforma in metriche DORA.
Glue Labs ed il DevOps
Ti supportiamo nell’implementazione di soluzioni di DevOps attraverso formazione avanzata e consulenza tecnica. Siamo Google Cloud Partner e grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo assistenza per ottenere applicazioni e servizi affidabili e resilienti. Contattaci subito e senza impegno per maggiori informazioni.