Questo principio del pilastro dell'affidabilità del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a condurre analisi post mortem efficaci dopo guasti e incidenti.
Questo principio è pertinente all'area di interesse dell'apprendimento dell'affidabilità.
Panoramica del principio
Un'analisi post mortem è una registrazione scritta di un incidente, del suo impatto, delle azioni intraprese per mitigare o risolvere l'incidente, delle cause principali e delle azioni di follow-up per impedire che l'incidente si ripeta. L'obiettivo di un'analisi post mortem è imparare dagli errori e non attribuire colpe.
Il seguente diagramma mostra il flusso di lavoro di un'analisi post mortem:
Il flusso di lavoro di un'analisi post mortem include i seguenti passaggi:
- Crea analisi post mortem
- Acquisisci i fatti
- Identifica e analizza le cause principali
- Pianifica il futuro
- Esegui il piano
Esegui analisi post mortem dopo eventi importanti e non importanti come i seguenti:
- Tempi di inattività o degradazioni visibili agli utenti oltre una determinata soglia.
- Perdite di dati di qualsiasi tipo.
- Interventi da parte di ingegneri di turno, come un rollback della release o un reindirizzamento del traffico.
- Tempi di risoluzione superiori a una soglia definita.
- Errori di monitoraggio, che in genere implicano la rilevazione manuale degli incidenti.
Consigli
Definisci i criteri di analisi post mortem prima che si verifichi un incidente, in modo che tutti sappiano quando è necessaria un'analisi post mortem.
Per condurre analisi post mortem efficaci, tieni presente i consigli nelle seguenti sottosezioni.
Esegui analisi post mortem senza attribuzione delle colpe
Le analisi post mortem efficaci si concentrano su processi, strumenti e tecnologie e non attribuiscono colpe a singoli o team. Lo scopo di un'analisi post mortem è migliorare la tecnologia e il futuro, non trovare il colpevole. Tutti commettono errori. L'obiettivo dovrebbe essere analizzare gli errori e imparare da essi.
I seguenti esempi mostrano la differenza tra il feedback che attribuisce colpe e il feedback senza attribuzione delle colpe:
- Feedback che attribuisce colpe: "Dobbiamo riscrivere l'intero sistema di backend complicato! Si interrompe settimanalmente negli ultimi tre trimestri e sono sicuro che siamo tutti stanchi di risolvere le cose in modo frammentario. Seriamente, se ricevo un altro avviso, lo riscrivo io stesso…"
- Feedback senza attribuzione delle colpe: "Un'azione per riscrivere l'intero sistema di backend potrebbe effettivamente impedire che queste pagine continuino a verificarsi. Il manuale di manutenzione per questa versione è piuttosto lungo e molto difficile da imparare completamente. Sono sicuro che i nostri futuri ingegneri di turno ci ringrazieranno!"
Rendi il report di analisi post mortem leggibile da tutti i destinatari previsti
Per ogni informazione che intendi includere nel report, valuta se è importante e necessaria per aiutare il pubblico a capire cosa è successo. Puoi spostare i dati e le spiegazioni supplementari in un'appendice del report. I revisori che hanno bisogno di ulteriori informazioni possono richiederle.
Evita soluzioni complesse o eccessivamente elaborate
Prima di iniziare a esplorare le soluzioni per un problema, valuta l'importanza del problema e la probabilità che si ripresenti. L'aggiunta di complessità al sistema per risolvere problemi che è improbabile che si ripresentino può portare a una maggiore instabilità.
Condividi l'analisi post mortem il più ampiamente possibile
Per assicurarti che i problemi non rimangano irrisolti, pubblica il risultato dell'analisi post mortem a un vasto pubblico e ottieni il supporto della direzione. Il valore di un'analisi post mortem è proporzionale all'apprendimento che si verifica dopo l'analisi post mortem. Quando più persone imparano dagli incidenti, la probabilità che si verifichino errori simili si riduce.