Progettazione di SLO
Questa pagina fornisce le informazioni che potrebbero essere necessarie prima di creare un obiettivo del livello di servizio (SLO).
Per un'introduzione agli SLO, consulta la panoramica degli obiettivi del livello di servizio.
Tipo di SLI e target di conformità
Anthos Service Mesh supporta i seguenti tipi di indicatori del livello del servizio:
- Latenza: il tempo necessario a un servizio per restituire una risposta a una richiesta, misurato in millisecondi.
- Disponibilità: la frazione di tempo in cui un servizio risponde correttamente.
Puoi anche definire il target di conformità che vuoi ricevere dal servizio. In generale, gli SLO non devono essere superiori a quanto necessario o significativo per gli utenti. Valuta in che momento gli utenti potrebbero notare un peggioramento del servizio. Ad esempio, se gli utenti non riescono a capire la differenza tra una latenza di 300 ms o di 500 ms per il tuo servizio, utilizza il valore più alto come soglia di latenza nello SLO. Il valore più basso è più costoso da soddisfare e gli utenti non noteranno la differenza.
Quando imposti un target di conformità, prendi in considerazione i requisiti degli utenti finali per il servizio. Ad esempio, uno strumento interno utilizzato dai dipendenti per prenotare le vacanze potrebbe andar bene con un target di disponibilità del 99% (circa 3 giorni di tempo di inattività all'anno). Tuttavia, un servizio critico per un negozio online potrebbe richiedere una disponibilità del 99,999% (circa 5 minuti di tempo di inattività all'anno).
Periodi di conformità
Oltre a definire un target per uno SLI, uno SLO specifica un periodo di tempo in cui lo SLI viene misurato. Ad esempio, una disponibilità del 99% in un solo giorno è diversa dalla disponibilità del 99% in un mese. Il primo SLO non consentirebbe tempi di inattività consecutivi per più di 14 minuti (24 ore * 1%), mentre il secondo SLO consentirebbe tempi di inattività consecutivi fino a circa 7 ore (30 giorni * 1%)."
Il periodo di conformità è particolarmente importante quando uno SLO è incluso in un accordo sul livello del servizio (SLA) con i tuoi utenti. Uno SLA è un contratto con gli utenti del tuo servizio che in genere specifica le conseguenze del mancato rispetto degli SLO. A prescindere dal fatto che tu abbia o meno uno SLA (accordo sul livello del servizio) con i tuoi utenti sia una decisione di prodotto o aziendale, ma ai fini del monitoraggio devi comunque specificare un periodo di conformità per gli SLO quando li crei.
Quando configuri gli SLO, scegli il tipo di periodo di conformità:
Calendar: quando selezioni Calendar come Tipo di periodo, devi specificare anche la Durata del periodo, che può essere un giorno, una settimana o un mese. I periodi non si sovrappongono e sono associati alle date di inizio e di fine del calendario. La conformità può essere valutata solo alla fine del periodo.
Periodo di pubblicazione: quando selezioni A rotazione come Tipo di periodo, specifichi anche il numero di giorni per Durata del periodo, ad esempio 30 giorni. A differenza dei periodi di calendario, i periodi continuativi non hanno date di inizio e di fine fisse. Anthos Service Mesh valuta continuamente gli SLO con un periodo di conformità in sequenza. I dati meno recenti nel calcolo precedente vengono esclusi dal calcolo corrente perché vengono sostituiti da nuovi dati. Un periodo di tempo continuativo fornisce più misurazioni della conformità perché ogni giorno ricevi una misura della conformità per gli ultimi 30 giorni, anziché uno al mese. Tuttavia, quando lo stato dello SLO cambia ogni giorno, i servizi possono passare dalla conformità alla non conformità e viceversa.
Budget di errore
Un altro importante concetto di monitoraggio è il budget di errore. Uno SLO specifica uno SLI e un valore target che misura il successo del servizio nel periodo di conformità. Il budget di errore per uno SLO rappresenta il periodo di tempo totale durante il quale un servizio può essere non conforme prima che violi il suo SLO. Di conseguenza, un budget
di errore è 100% - SLO%
. Ad esempio, se hai uno SLO con disponibilità continuativa di 30 giorni con un target di conformità del 99,99%, il budget di errore è pari allo 0,01% di 30 giorni, ovvero poco più di 4 minuti di tempo di inattività consentito ogni 30 giorni. Un servizio necessario per soddisfare uno SLO del 100% non ha un budget di errore.
I budget di errore consentono di monitorare il numero di misurazioni SLI non corrette consentite durante il resto del periodo di conformità prima che il servizio violi lo SLO. Puoi utilizzare il budget di errore per gestire le attività di manutenzione come il deployment di nuove versioni. Quando il budget di errore è vicino all'esaurimento, non è un buon momento per intraprendere azioni rischiose come il deployment di nuovi aggiornamenti. Al contrario, se disponi di un budget di errore completo verso la fine di un periodo di conformità, potresti voler lanciare nuove funzionalità poiché il rischio di violazione dello SLO è inferiore.
Se stai misurando uno SLO con un periodo di conformità del calendario, il mesh di servizi avvia il budget di errore al valore massimo e lo riduce nel tempo, attivando una violazione dello SLO quando il budget di errore scende al di sotto di 0. Anthos Service Mesh reimposta il budget di errore dello SLO al termine del periodo di conformità.
Se misuri uno SLO in un periodo di conformità continuativo, sei
effettivamente sempre alla fine di un periodo di conformità. Anziché iniziare da zero, i vecchi punti dati vengono continuamente eliminati e vengono aggiunti continuamente nuovi punti dati. Se un periodo di scarsa conformità viene fuori dalla finestra di conformità e se lo SLO è conforme, il budget di errore aumenta. In qualsiasi momento, error budget ≥ 0
indica una finestra SLO continua conforme, mentre error budget < 0
indica una finestra SLO continua non conforme.
Passaggi successivi
Scopri di più sugli SLO di Site Reliability Engineering di Google: