Versione 1.13

Progettazione di SLO

Questa pagina fornisce le informazioni di cui potresti avere bisogno 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 di servizio:

  • Latenza: il tempo impiegato da un servizio per restituire una risposta a una richiesta, misurata in millisecondi.
  • Disponibilità: la frazione di tempo in cui un servizio risponde correttamente.

Puoi anche definire il target di conformità che vuoi ottenere dal tuo servizio. In generale, gli SLO non devono essere più alti del necessario o significativi per i tuoi utenti. Considera il momento in cui gli utenti potrebbero notare un peggioramento del servizio. Ad esempio, se gli utenti non sono in grado di distinguere la latenza di 300 ms o 500 ms per il tuo servizio, utilizza il valore più alto come soglia di latenza nello SLO. Più basso è il valore più alto da soddisfare e gli utenti non noteranno la differenza.

Quando imposti un target di conformità, tieni conto dei requisiti dell'utente finale per il servizio. Ad esempio, uno strumento interno utilizzato dai dipendenti per prenotare le vacanze potrebbe andare bene con un obiettivo 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 durante il quale viene misurato lo SLI. Ad esempio, una disponibilità del 99% in un singolo giorno è diversa da una disponibilità del 99% in un mese. Il primo SLO non consente più di 14 minuti di tempo di inattività consecutivi (24 ore * 1%), mentre il secondo SLO consente un tempo 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 servizio che in genere specifica le conseguenze del mancato rispetto degli SLO. Sia che uno SLA (accordo sul livello del servizio) sia stipulato con gli utenti è una decisione aziendale o di prodotto, 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à:

  • Calendario: quando selezioni Calendario come Tipo di periodo, devi specificare anche la Durata del periodo, che può essere un giorno, una settimana o un mese. I cicli non si sovrappongono e sono fissati alle date di inizio e di fine del calendario. La conformità può essere valutata solo alla fine del periodo.

  • Rolling: quando selezioni Rolling come Period Type, specifichi anche il numero di giorni per Period Length, 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 eliminati dal calcolo attuale quando vengono sostituiti da nuovi dati. Un periodo di tempo continuato fornisce più misurazioni della conformità, perché ogni giorno viene misurata la conformità degli ultimi 30 giorni anziché una al mese. Tuttavia, i servizi possono passare da una conformità all'altra ogni volta che lo stato dello SLO cambia ogni giorno.

Budget di errore

Un altro importante concetto di monitoraggio è il budget di errore. Uno SLO specifica uno SLI e un valore target che misura l'esito positivo 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ò risultare non conforme prima di violare il relativo SLO. Di conseguenza, un budget di errore è 100% - SLO%. Ad esempio, se hai un SLO di 30 giorni continuativo con un obiettivo di conformità del 99,99%, il tuo budget di errore è pari allo 0,01% di 30 giorni: poco più di 4 minuti di inattività ogni 30 giorni. Un servizio richiesto per soddisfare uno SLO del 100% non prevede budget di errore.

I budget di errore ti consentono di monitorare il numero di misurazioni SLI errate che possono verificarsi durante il resto del periodo di conformità prima che il servizio violi lo SLO. Puoi utilizzare il budget di errore per gestire attività di manutenzione come il deployment di nuove versioni. Quando il budget di errore sta per esaurirsi, non è un buon momento per eseguire 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à, ti consigliamo di lanciare nuove funzionalità poiché il rischio di violazione dello SLO è inferiore.

Se stai misurando uno SLO con un periodo di conformità del calendario, Service Mesh avvia il budget di errore al valore massimo e riduce il budget 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 alla fine del periodo di conformità.

Se stai misurando uno SLO in un periodo di conformità continuato, in realtà sei sempre al termine di un periodo di conformità. Invece di iniziare da uno scratch, i punti dati precedenti vengono eliminati continuamente e i nuovi punti di dati vengono aggiunti di continuo. Se all'esterno della finestra di conformità viene implementato un periodo di scarsa conformità e se lo SLO è conforme, il budget di errore aumenta. In qualsiasi momento, un error budget ≥ 0 indica una finestra SLO continua conforme, mentre un error budget < 0 indica una finestra SLO continua non conforme.

Passaggi successivi