Shutterstock.com/iunewindUn “budget di errore” descrive la quantità di tempo in cui un sistema può essere offline prima che abbia conseguenze tangibili per la tua attività. I budget di errore vengono utilizzati insieme agli accordi sul livello di servizio (SLA) e agli obiettivi sul livello di servizio (SLO) per informare le organizzazioni quando l'indisponibilità di un sistema si è trasformata in una violazione del contratto.
L'integrazione dei budget di errore nella strategia di affidabilità delle applicazioni fornisce un approccio metodico per bilanciare l'assunzione di rischi con la stabilità. I budget di errore riconoscono che interruzioni occasionali, implementazioni difettose e semplici errori sono inevitabili. Il loro ruolo è dirti quanti di questi incidenti puoi sopportare. Il budget di errore disponibile decide anche se la tua prossima attività è creare una nuova funzionalità o affrontare un'altra correzione di bug.
Che cos'è un budget di errore?
Il budget di errore di un servizio è semplicemente una misura del tempo massimo in cui può trovarsi in uno stato di guasto senza incorrere in sanzioni contrattuali, finanziarie o normative. Il budget di errore disponibile deriva dalla cifra di uptime a cui ti impegni negli SLA che invii ai clienti. Potresti invece essere più rigoroso basando il tuo budget di errore su uno SLO.
- SLA – Il tempo di attività a cui ti impegni pubblicamente, ad esempio il 99,95%. La maggior parte delle organizzazioni che utilizzano gli SLA sarà contrattualmente obbligata a risarcire i clienti se il tempo di attività effettivo del servizio scende al di sotto di questa cifra.
- SLO– Il tempo di attività a cui miri internamente, ad esempio il 99,99%. Ciò significa che un tempo di attività compreso tra il 99,95% e il 99,99% non è desiderabile e fornisce un'indicazione della necessità di miglioramenti dell'affidabilità. Tuttavia, non ti rende responsabile di risarcire i clienti.
- Budget di errore – Un calcolo della quantità di tempo di inattività consentita da uno SLA o SLO.
Puoi calcolare il tuo budget di errore usando una semplice moltiplicazione. Ad esempio, uno SLA che afferma che il tuo servizio avrà una disponibilità del 99,99% nel corso di un anno ti offre un budget di errore totale di 52 minuti e 35 secondi. Un'interruzione della durata di 30 minuti non influirà direttamente sulla tua attività. Uno che dura un'ora supererà il budget di errore e richiederà una compensazione per i clienti.
Ecco alcuni altri esempi:
% SLA Budget di errore annuale Budget di errore mensile 99,99% 52 minuti, 35 secondi 4 minuti, 23 secondi 99,95% 4 ore, 23 minuti 21 minuti, 54 secondi 99,90% 8 ore, 46 minuti 43 minuti, 49 secondi
I budget di errore possono essere derivati da qualsiasi tipo di SLA, non solo dal tempo di attività. I conteggi delle richieste, le misurazioni delle prestazioni e le metriche di utilizzo delle risorse riuscite vengono spesso utilizzati anche come SLA e SLO. Uno SLA in cui si afferma che il 99% delle richieste verrà gestito con successo ogni giorno farà scattare il suo budget di errore se sono state effettuate 10.000 richieste e meno di 9.900 sono riuscite.
Budget di errore e ingegneri
I budget di errore non sono solo un modo più semplice di calcolare quando il tuo SLA è stato violato. Servono anche per definire le priorità dei tuoi team di sviluppo. Un budget di errore è un meccanismo di controllo che determina il tipo di lavoro su cui concentrarsi.
Quando il tuo budget di errore è pieno, gli sviluppatori possono lavorare senza restrizioni. Possono affrontare nuove funzionalità, apportare modifiche radicali ai sistemi e applicare migrazioni rischiose agli ambienti di produzione. Queste azioni possono potenzialmente introdurre bug e comportamenti instabili, esaurendo il budget degli errori. Il budget di errore è “speso” attraverso questa innovazione.
Quando il budget di errore disponibile raggiunge una soglia concordata, gli sviluppatori devono agire per evitare che cada ulteriormente. Gli sforzi di progettazione dovrebbero orientarsi verso correzioni di bug e ottimizzazioni che miglioreranno l'affidabilità e stabilizzeranno il servizio. Ciò riduce il rischio che si verifichi un altro problema ed esaurisce completamente il budget di errore.
È importante riconoscere che i budget di errore dovrebbero essere consumati, fino alla soglia di avviso. Promuovono l'autonomia degli sviluppatori consentendo agli ingegneri di assumersi rischi e innovare di propria iniziativa. I budget di errore forniscono contemporaneamente dei guard rail che impediscono agli sviluppatori di fissarsi sul movimento in avanti a scapito dell'affidabilità del servizio. Un budget di errore drenante protegge l'azienda indicando agli sviluppatori quando devono concentrarsi nuovamente sulla stabilità.
Cosa succede quando un budget di errore È speso?
Un budget di errore completamente speso può verificarsi perché hai attraversato un periodo di alta innovazione o hai subito una serie di lunghe interruzioni. Ci sono molte catene di eventi che potrebbero portare all'esaurimento di un budget di errore; ciò che conta è come rispondi quando succede.
L'esaurimento del budget di errore non dovrebbe essere preso alla leggera. Non hai più potere di spesa, quindi non dovresti investire in ulteriore innovazione. Un budget di errore può essere paragonato a una linea di credito dei tuoi clienti: spendere oltre il tuo limite peggiorerà la situazione e potrebbe danneggiare gravemente le prospettive del tuo marchio.
Il congelamento di tutto il lavoro non essenziale dovrebbe essere tuo prima risposta al superamento del budget. Questo deve avvenire immediatamente quando il budget è esaurito. Impedisci alle nuove implementazioni di raggiungere la produzione, riassegna gli sviluppatori che stanno creando nuove funzionalità e valuta il modo più rapido per ripristinare il servizio. Il tuo budget di errore verrà ripristinato naturalmente con il trascorrere del tempo dopo la risoluzione dell'incidente.
Dovresti completare una retrospettiva sulla risoluzione per analizzare cosa è successo. Potrebbero esserci opportunità per aumentare l'affidabilità modificando gli strumenti o migliorando il processo. Applicare revisioni del codice più rigorose, eseguire automaticamente la suite di test nelle pipeline CI e utilizzare l'analisi statica per individuare i trucchi più comuni sono tre modi efficaci per aumentare rapidamente la qualità del codice.
L'impatto sul business dei budget di errore spesi regolarmente
L'utilizzo regolare del budget di errore indica che la tua applicazione è instabile e deve essere più resiliente. Un flusso continuo di incidenti di violazione degli SLA creerà una scarsa percezione del tuo prodotto. Gli utenti si aspettano che il software sia disponibile in modo affidabile quando ne hanno bisogno. La fiducia dei clienti sarà danneggiata quando questo non è il caso, il che potrebbe farti perdere rispetto alla concorrenza.
Sebbene il superamento di un budget di errore possa verificarsi per innumerevoli motivi, farlo ripetutamente può suggerire problemi più grandi nella tua organizzazione. Potresti provare a muoverti troppo velocemente con una tabella di marcia troppo ambiziosa. Ciò può esercitare un'eccessiva pressione sugli ingegneri e creare un ambiente favorevole agli errori.
I budget di errore potrebbero sembrare dei blocchi nelle organizzazioni naturalmente frenetiche. Ricordare l'intenzione alla base dei budget di errore dovrebbe aiutare a mantenere tutti a bordo. Sono una forma di gestione del rischio che fornisce metriche utilizzabili per decidere le priorità ingegneristiche. I budget di errore servono a proteggere la tua azienda dagli impatti negativi degli incidenti dicendoti quando fare un passo indietro e rallentare. Tentare di ignorarli o ignorarli può mettere a rischio il futuro del tuo servizio.
Riepilogo
Le soluzioni software di maggior successo combinano innovazione continua e stabilità affidabile. Molti team di sviluppatori lottano per bilanciare con successo queste due preoccupazioni contraddittorie. Gli sviluppatori spesso guardano al futuro, mentre gli utenti desiderano una soluzione familiare su cui poter fare affidamento.
I budget di errore sono un meccanismo efficace per risolvere questo dilemma. Consentono agli sviluppatori di innovare liberamente entro vincoli fissi che preservano l'affidabilità del servizio. I budget di errore proteggono l'azienda dall'impatto delle violazioni degli SLA istruendo i tecnici a concentrarsi nuovamente sulla stabilità all'aumentare dei tempi di inattività.
È possibile implementare budget di errore stabilendo uno SLA o SLO e quindi calcolando la quantità di indisponibilità consentita. Dovrai anche tenere traccia della durata dei nuovi incidenti in modo da sapere quando il tuo budget di errori viene consumato. Le piattaforme di gestione degli incidenti come Opsgenie, Pagerduty e Blameless possono acquisire automaticamente queste informazioni e fornire avvisi in tempo reale per eventi di esaurimento del budget di errore.
L'utilizzo dei budget di errore ti consente di creare applicazioni più affidabili che soddisfano costantemente le aspettative degli utenti. I budget di errore forniscono dati per prendere decisioni ingegneristiche e bilanciare l'innovazione con un funzionamento stabile. Questo crea la coerenza che manca in molti dei servizi esistenti di oggi.
LEGGI SUCCESSIVO
- › Quante schede puoi aprire su iPhone?
- › Come ritagliare un video su Windows 11
- › Come contattare il servizio clienti Amazon per ricevere assistenza
- › Come archiviare o eliminare automaticamente le vecchie email in Gmail
- › Che cos'è un crossover audio?
- › Come centrare il testo in una tabella in Adobe InDesign