Sto cercando di capire il modo migliore per acquisire i dati per iniziare a misurare le metriche Mean Time To Repair (MTTR) e ho bisogno di capire come il "rollback" abbia un impatto positivo o negativo sul MTTR.
scenario 1
Supponendo che sia in atto un solido monitoraggio, viene distribuito un codice che provoca un incidente che viene rilevato piuttosto rapidamente (MTTI basso). Al punto di identificazione, ci sono due principali possibili percorsi (sì, sto semplificando troppo ai fini della discussione):
Ripristina la distribuzione, restituendo rapidamente stabilità, ma senza le funzionalità previste nella produzione.
Roll-forward con ulteriori modifiche che risolvono l'incidente e mantengono attive le funzionalità desiderate.
In questo scenario, MTTR è piuttosto basso, dato che la stabilità del sito può tornare abbastanza rapidamente. Detto questo, il risultato previsto della modifica non è attivo e quindi il codice / funzione / modifica è ancora bloccato nel processo. Se un obiettivo è un MTTR basso, sembra incentivare il rollback come meccanismo di recupero.
Scenario 2
In questo scenario, MTTR viene misurato rigorosamente da quanto tempo impiega il codice / funzione / modifica previsti per funzionare correttamente nella produzione. Anche se eseguo il rollback, fino a quando il mio cambio di codice "fisso" non entra in prod, il timer MTTR è ancora in esecuzione. In questo caso, MTTR sembra legato alla stabilità dei risultati di business invece che semplicemente "ehi, le cose sono stabili".
Ora, la risposta potrebbe essere semplice come l'MTTR che non viene utilizzato come metrica nel vuoto, ma piuttosto in combinazione con il tasso di errore di cambiamento - un MTTR bassissimo causato da frequenti rollback potrebbe indicare un tasso di errore di cambiamento altissimo. Detto questo, c'è qualcosa che non mi sembra giusto nell'idea di divorziare la misurazione dell'MTTR dal risultato commerciale.
Potrei pensare troppo a questo, ma sono curioso di sapere come gli altri stanno misurando il MTTR e quale sia il punto finale nel tempo per il "recupero". Lo stai usando semplicemente come stabilità o altri fattori determinano cosa significa "recuperato"?