Progettazione di SLO
Questa pagina fornisce le informazioni di cui potresti aver bisogno prima di creare un obiettivo del livello di servizio (SLO).
Per un'introduzione agli SLO, consulta Panoramica degli obiettivi del livello di servizio.
Tipo di SLI e target di conformità
Cloud Service Mesh supporta i seguenti tipi di indicatori del livello del servizio:
- Latenza: il tempo impiegato da un servizio per restituire una risposta a una richiesta. misurato in millisecondi.
- Disponibilità: la frazione di tempo in cui un servizio risponde correttamente.
- Altro: tipo di SLO personalizzabile in base alle metriche configurabili.
Definisci anche il target di conformità che vuoi per il tuo servizio. In genere, gli SLO non devono essere superiori a quanto necessario o significativo per gli utenti. Valuta in che punto gli utenti potrebbero notare il degrado del servizio. Ad esempio, se gli utenti non riescono a distinguere la differenza tra una latenza di 300 ms o 500 ms per il tuo servizio, utilizza il valore più elevato come soglia di latenza nello SLO. Il valore più basso è più costoso da soddisfare e gli utenti non noteranno la differenza.
Quando imposti un obiettivo di conformità, considera i requisiti dell'utente finale completamente gestito di Google Cloud. Ad esempio, uno strumento interno utilizzato dai dipendenti per prenotare le vacanze potrebbe andare bene un obiettivo di disponibilità del 99% (circa 3 giorni di inattività all'anno). Ma un servizio fondamentale per un negozio online potrebbe aver bisogno di una disponibilità del 99,999% (~5 minuti di inattività all'anno).
Periodi di conformità
Oltre a definire un target per uno SLI, uno SLO specifica un periodo di tempo in cui viene misurato lo SLI. Ad esempio, una disponibilità del 99% su un singolo è diversa dalla disponibilità del 99% su un mese. Il primo SLO non consentono più di 14 minuti di inattività consecutivi (24 ore * 1%), mentre 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 gli utenti. Uno SLA è un contratto con gli utenti del tuo servizio che in genere specifica le conseguenze del mancato rispetto degli SLO. Il fatto che tu abbia o meno un contratto di livello del servizio con i tuoi utenti è una decisione relativa al prodotto o all'attività, ma a fini di 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à:
Calendario: quando selezioni Calendario come Tipo di periodo, devi anche specificare la Durata del periodo, che può essere un giorno, una settimana o un mese. I periodi non si sovrappongono e sono fissati alle date di inizio e di fine del calendario. La conformità può essere valutata solo al termine del periodo.
Cumulativo: quando selezioni Cumulativo come Tipo di periodo, devi anche specificare il numero di giorni per la Durata del periodo, ad esempio 30 giorni. A differenza dei periodi di Calendar, i periodi in sequenza non hanno un inizio e una durata fissa date di fine. Cloud Service Mesh valuta continuamente gli SLO con una sequenza periodo di conformità. I dati meno recenti nel calcolo precedente vengono eliminati il calcolo attuale, poiché viene sostituito da nuovi dati. Un periodo di tempo cumulativo fornisce più misurazioni della conformità perché ogni giorno viene generata una misura della conformità per gli ultimi 30 giorni, anziché una al mese. Tuttavia, possono passare tra conformità e non conformità come stato dello SLO ogni giorno.
Budget di errore
Un altro concetto importante per il monitoraggio è il budget di errori. Uno SLO specifica
SLI e un valore target che misura il successo del servizio nell'ambito
punto. Il budget di errore per uno SLO rappresenta la quantità totale di tempo per cui un servizio può non essere conforme prima di violare il suo SLO. Pertanto, un budget di errore è 100% - SLO%
. Ad esempio, se hai un SLO di disponibilità su 30 giorni con un obiettivo di conformità del 99,99%, il tuo budget di errore è dello 0,01% di 30 giorni: poco più di 4 minuti di tempo di riposo consentito ogni 30 giorni. Un servizio necessario per soddisfare
uno SLO al 100% non ha budget di errore.
I budget di errore ti consentono di monitorare quante misurazioni SLI errate sono 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 sta per esaurirsi, un buon momento per intraprendere azioni rischiose come il deployment di nuovi aggiornamenti. Al contrario, se hai un budget di errore completo verso la fine di un periodo di conformità, potresti voler lanciare nuove funzionalità poiché il rischio di violare lo SLO è inferiore.
Se stai misurando uno SLO con un periodo di conformità di calendario, Service Mesh 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. Cloud Service Mesh reimposta il budget di errore dello SLO al termine del periodo di conformità punto.
Se misuri uno SLO in un periodo di conformità continuo, in pratica sei sempre alla fine di un periodo di conformità. Anziché iniziare da zero, i vecchi punti dati vengono eliminati continuamente e vengono aggiunti nuovi punti dati. Se un periodo di scarsa conformità non soddisfa i requisiti
e, se lo SLO è conforme, il budget di errore aumenta. In qualsiasi momento
nel tempo, un error budget ≥ 0
indica una finestra SLO di rotazione conforme e
error budget < 0
indica una finestra SLO a rotazione non conforme.
Passaggi successivi
Scopri di più sugli SLO dal team Site Reliability Engineering di Google: