Close

Gestione degli imprevisti per i team high velocity

Gestione degli imprevisti nell'era DevOps

Applicare i principi di una comunicazione aperta e che non attribuisce colpe ai team di gestione degli imprevisti

Non puoi ripensare al modo in cui sviluppi, distribuisci e gestisci il software senza ripensare a come reagisci agli imprevisti.

Nel loro manifesto del 2009, "Più di 10 distribuzioni al giorno: cooperazione tra sviluppatori e operazioni in Flickr," John Allspaw e Paul Hammond hanno delineato la visione di un mondo in cui sviluppatori e team IT Ops lavorano insieme e rilasciano in maniera più frequente. Nel decennio successivo, quella visione ha preso forma come movimento DevOps.

La natura di DevOps si basa su nuovi modi di rispondere agli imprevisti. Non sorprende che la gestione degli imprevisti abbia attirato così tanta attenzione sul discorso di Allspaw e Hammond.

"La cosa importante da capire è che il fallimento accadrà", ha detto Hammond nel discorso. "Non è una questione di se, ma di quando".

"A differenza di framework come ITIL, non esiste un documento "ufficiale" di best practice per un team DevOps. Tuttavia, possiamo generalmente concordare sul fatto che, in sostanza, DevOps si propone di fornire valore aziendale a un'organizzazione attraverso l'eliminazione dei silos organizzativi, l'incremento della trasparenza e la promozione della comunicazione aperta tra sviluppatori e team delle operazioni IT".

La stessa cultura della trasparenza, della visibilità e dell'apprendimento rapido si estende alla gestione degli imprevisti.

Perché? Perché i passi iniziali e più critici nella gestione degli imprevisti consistono nel capire cosa è andato storto, nel convincere le persone giuste a lavorare sul problema e nel promuovere una cultura che non attribuisce colpe.

La gestione degli imprevisti DevOps richiede una cultura di comunicazione aperta e imparziale tra sviluppatori e team operativi IT. Nonché stabilire processi leggeri che migliorano l'affidabilità dei servizi IT, aumentano la soddisfazione dei clienti e generano valore aziendale. Un tecnico DevOps può aiutare a implementare la cultura e le pratiche DevOps.

ITIL, a confronto, è un insieme prescritto di 26 processi, procedure, task e checklist progettati per migliorare pratiche specifiche nella gestione dei servizi IT. ITIL si concentra sulla qualità e la coerenza del servizio e sul miglioramento della resilienza dei sistemi.

Uno dei vantaggi di ITIL è che le organizzazioni che desiderano migliorare ITSM possono iniziare con best practice basate su modelli anziché iniziare da zero. Sebbene alcuni ritengano che ITIL sia più adatto per le grandi imprese, il quadro è sufficientemente flessibile da consentire alle aziende più piccole di scegliere i processi più adatti alla loro attività e trovare comunque valore.

Uno svantaggio di ITIL, se hai fretta di apportare modifiche al tuo processo di risposta agli imprevisti, è che può richiedere una gestione formale delle modifiche e un consulente esperto, ritardando quindi i miglioramenti.

Per i team che vogliono iniziare subito, l'approccio alla gestione degli imprevisti DevOps li aiuterà a riunirsi e ottenere vantaggi immediatamente.

Il processo di gestione degli imprevisti DevOps

L'approccio DevOps alla gestione degli imprevisti non è molto diverso dai passaggi tradizionali per una gestione efficace degli imprevisti. La gestione degli imprevisti DevOps include un'enfasi esplicita sul coinvolgimento dei team di sviluppatori sin dall'inizio, inclusa la chiamata, e sull'assegnazione del lavoro in base alle competenze, non ai titoli professionali.

1. Rilevamento
Invece di sperare che gli imprevisti non si verifichino mai (perché senza dubbio lo faranno), i team di risposta agli imprevisti DevOps attribuiscono un grande valore alla preparazione. Lavorano in modo collaborativo per pianificare le loro risposte a potenziali imprevisti identificando i punti deboli nei sistemi. Impostano strumenti di monitoraggio, sistemi di allarme e runbook che aiutano ogni membro a sapere chi contattare quando viene rilevato un imprevisto e cosa fare dopo.

2. Risposta
Piuttosto che avere un singolo tecnico su chiamata responsabile della risposta a tutti gli incidenti in un turno su chiamata, i team di gestione degli imprevisti DevOps designano più membri del team affinché siano disponibili per le escalation. Se il tecnico su chiamata designato non è in grado di risolvere un imprevisto in modo indipendente, è disponibile un runbook pronto a fungere da guida. Il tecnico su chiamata può coinvolgere le persone giuste per valutare l'impatto e il livello di gravità del problema e inoltrarlo agli addetti alla risposta giusti.

3. Risoluzione
Quando arriva il momento di rispondere a un imprevisto, i team di gestione degli imprevisti DevOps possono spesso arrivare a una risoluzione rapida. Questo perché, nel complesso, hanno più familiarità con l'applicazione o il codice di sistema, d'altra parte l'hanno scritto! Approfittando di una preparazione avanzata e di buoni sistemi di comunicazione, insieme possono svolgere il lavoro necessario per risolvere l'imprevisto, raggiungendo la risoluzione più velocemente di un team di risposta di terze parti che esamina il codice per la prima volta.

4. Analisi
I team di gestione degli imprevisti DevOps chiudono un imprevisto con un processo di analisi retrospettiva imparziale. Si riuniscono per condividere informazioni, metriche e lezioni apprese con l'obiettivo di migliorare continuamente la resilienza dei sistemi e risolvere eventuali imprevisti futuri in modo rapido ed efficiente.

5. Prontezza
Una volta che un imprevisto è stato risolto, tutti i passaggi di correzione sono stati completati e il sistema viene ripristinato, i team di gestione degli imprevisti DevOps fanno un passo indietro per valutare la loro preparazione per il prossimo imprevisto. Aggiornano i loro runbook aggiungendo ciò che hanno appreso nel processo di analisi retrospettiva e apportano le modifiche necessarie agli strumenti di monitoraggio e ai sistemi di allarme. L'attenzione di DevOps sul miglioramento continuo si applica alle persone e al team, non solo alla tecnologia. Dopo un imprevisto, ogni membro del team è più preparato per affrontare il prossimo.

Best practice per team di IM DevOps efficaci

L'adozione di un approccio DevOps alla risposta agli imprevisti può migliorare la comunicazione tra i team di sviluppo e operazioni IT, accelerare la risposta agli imprevisti e la correzione e rendere più resiliente un sistema.

Automatizza processi e flussi di lavoro
Integra il tuo service desk, il monitoraggio, la creazione di ticket, la gestione delle risorse e CMBD e gli strumenti di chat per semplificare gli avvisi e i flussi di lavoro degli imprevisti IT e garantire che le persone giuste ricevano notifiche con le informazioni di cui hanno bisogno per avviare una procedura di risoluzione. Imposta runbook con flussi di lavoro predefiniti in modo che le persone possano muoversi senza indugi quando si verifica un imprevisto.

Incoraggia la comunicazione tra i team
Assicurati che i membri dei tuoi team possano comunicare in tutta l'organizzazione con strumenti di chat in tempo reale. Usa strumenti che registrino l'imprevisto in modo che chiunque possa intervenire in qualsiasi momento e aggiornarsi su ciò che è successo e cosa viene fatto.

Usa un approccio che non attribuisce colpe
Dopo aver risolto l'imprevisto, riunitevi per esaminare cosa è successo durante una sessione di analisi retrospettiva imparziale. Evita di puntare il dito e concentrati sulla condivisione di informazioni che aiutino tutti a svolgere meglio il proprio lavoro e creare un sistema più affidabile.

Identifica e concentrati sui profitti aziendali
La risposta agli imprevisti DevOps è più di un mezzo per migliorare la comunicazione; è un modo per garantire che sviluppatori e operazioni collaborino per fornire un reale valore aziendale. Tieni traccia di metriche come il tempo medio di rilevamento (MTTD), il tempo medio di riparazione (MTTR) e il tempo medio tra i guasti (MTBF) per comprendere il tasso di miglioramento del tuo team.

Utilizza la programmazione su chiamata per assegnare sviluppatori e amministratori di sistema al ruolo di SRE
Nei team DevOps, i confini tra sviluppatore e amministratore di sistema iniziano a confondersi e coloro che rispondono all'imprevisto spesso diventano ingegneri responsabili dell'affidabilità del sito (SRE). Tuttavia, le persone avranno probabilmente conoscenze specialistiche nel codice dell'applicazione o nel codice dell'infrastruttura. Configura la tua programmazione su chiamata per assicurarti di disporre del giusto mix di competenze disponibili per rispondere agli imprevisti.

Scopri di più su come Jira Service Management può supportare un approccio DevOps alla gestione degli imprevisti.

Up Next
SRE