Guida Kanban · Fondamenti Lean
Che cos'è DevOps? Cultura, pratiche e metriche
DevOps è un insieme di valori culturali, pratiche e strumenti che uniscono sviluppo software e IT operations, così i team possono consegnare modifiche in modo rapido e affidabile. Estende il pensiero Agile e Lean all'intero percorso dal codice al cliente.
Punti chiave
- DevOps unisce sviluppo e operations attorno a obiettivi comuni.
- CALMS e le Three Ways ne riassumono i principi.
- Misuratelo con frequenza di deployment, lead time, tasso di fallimento delle modifiche e tempo di ripristino.
Origini
Il termine DevOps è nato intorno al 2009, quando Patrick Debois organizzò la prima conferenza DevOpsDays a Gand, in Belgio. È nato dalla frustrazione per il muro tra gli sviluppatori, che volevano il cambiamento, e le operations, che volevano stabilità.
Il modello CALMS
| Elemento | Significato |
|---|---|
| Cultura | Responsabilità condivisa e collaborazione tra sviluppo e operations |
| Automation (automazione) | Automatizzare build, test, infrastruttura e deployment |
| Lean | Piccoli lotti, WIP limitato, focus sul flusso |
| Measurement (misurazione) | Misurare flusso, qualità e risultati per gli utenti |
| Sharing (condivisione) | Condividere conoscenze, strumenti e lezioni apprese |
Le Three Ways
Resi popolari da The Phoenix Project e The DevOps Handbook:
- Flusso: accelerare il flusso di lavoro dallo sviluppo alle operations fino al cliente.
- Feedback: creare un feedback rapido dalle operations e dagli utenti verso lo sviluppo.
- Apprendimento e sperimentazione continui: costruire una cultura che impara dagli errori e migliora.
Pratiche chiave
- Continuous integration e continuous delivery.
- Infrastructure as code.
- Test e monitoraggio automatizzati.
- Rilasci piccoli e frequenti con feature flag.
- Team che sviluppano e gestiscono i propri servizi.
- Revisioni post-incidente senza colpevolizzazioni.
Misurare le performance DevOps
Il programma di ricerca DORA ha reso popolari quattro misure chiave della delivery del software:
- Frequenza di deployment: con quale frequenza rilasciate.
- Lead time delle modifiche: dal commit alla produzione.
- Tasso di fallimento delle modifiche: quota di rilasci che causano problemi.
- Tempo di ripristino del servizio: quanto rapidamente vi riprendete da un guasto.
Modelli gratuiti per questo argomento
Domande frequenti
DevOps è un ruolo o una cultura?
Principalmente una cultura e un insieme di pratiche. Molte organizzazioni hanno anche ruoli di "DevOps engineer" focalizzati su automazione e strumenti.
Che rapporto c'è tra DevOps e Kanban?
Entrambi si concentrano su flusso, piccoli lotti e visibilità. Molti team di operations e di piattaforma usano Kanban per gestire il proprio lavoro.
Che cos'è DevOps in parole semplici?
DevOps è un modo di lavorare che unisce sviluppo software e IT operations, così i team possono sviluppare, rilasciare e gestire il software in modo più rapido e affidabile.
Quando è nato DevOps?
Il termine è nato intorno al 2009, quando Patrick Debois organizzò la prima conferenza DevOpsDays a Gand, in Belgio.
Che cosa significa CALMS in DevOps?
Culture, Automation, Lean, Measurement e Sharing: un modello che riassume gli elementi principali di DevOps.
Quali sono le quattro metriche DORA in DevOps?
Frequenza di deployment, lead time delle modifiche, tasso di fallimento delle modifiche e tempo di ripristino del servizio. Misurano sia la velocità sia la stabilità della delivery del software.
Quali sono le Three Ways di DevOps?
Flusso dallo sviluppo alle operations, feedback rapido in entrambe le direzioni e una cultura di apprendimento e sperimentazione continui.
DevOps fa parte di Agile?
DevOps estende le idee Agile oltre lo sviluppo, fino al rilascio e alle operations. Agile accelera la realizzazione del software; DevOps accelera il suo arrivo sicuro agli utenti.
Qual è la differenza tra DevOps e continuous delivery?
Il continuous delivery è una pratica tecnica specifica per mantenere il software rilasciabile. DevOps è la cultura e l'insieme di pratiche più ampio, di cui il continuous delivery è una parte fondamentale; vedi continuous delivery.
Che cosa fa un DevOps engineer?
Un DevOps engineer di solito realizza e gestisce pipeline di deployment, automazione dell'infrastruttura e monitoraggio, aiutando i team di sviluppo e di operations a lavorare insieme.
Che cos'è una revisione post-incidente senza colpevolizzazioni in DevOps?
Una revisione dopo un disservizio che si concentra su che cosa nel sistema ha permesso al problema di verificarsi, anziché su chi incolpare, così le persone condividono apertamente le informazioni e il team impara.