Questo documento del framework di architettura di Google Cloud definisce i concetti chiave necessari per comprendere e creare obiettivi di livello di servizio (SLO).
In sostanza, gli SLO riflettono gli obiettivi di affidabilità del servizio fornito ai tuoi utenti. È importante includere il contributo di tutti gli stakeholder fondamentali quando si definiscono questi obiettivi. Molti gruppi e livelli di gestione diversi hanno un interesse profondo per il tuo servizio. Sono inclusi proprietari di attività, proprietari di prodotti, dirigenti, ingegneri, personale di assistenza, operazioni, vendite e qualsiasi altro team associato al tuo servizio.
Esistono tanti modi per ottenere il contributo degli stakeholder quanti sono gli scopi di affidabilità tra cui scegliere. La scelta degli obiettivi dipende da te e dalla tua organizzazione in base a requisiti, stakeholder e altri fattori. Anche se questa procedura non rientra nell'ambito di questa guida, un approccio semplice è creare un documento condiviso che descriva gli SLO e come li hai sviluppati. Il team può eseguire l'iterazione del documento durante l'implementazione e continuare a migliorare gli SLO nel tempo.
Le sezioni seguenti definiscono i vari componenti degli SLO.
Livello del servizio
Un livello di servizio è una misura del grado di prestazione di un servizio per l'utente. Questa metrica può essere descritta in termini di soddisfazione dell'utente e misurata con vari metodi che dipendono dalle caratteristiche uniche del servizio, dalla sua base utenti e dalle aspettative degli utenti. In questa guida, associamo le prestazioni all'affidabilità del sistema.
Esempio di livello di servizio: i nostri utenti si aspettano che il servizio sia disponibile e veloce.
Indicatore del livello del servizio
Un indicatore del livello del servizio (SLI) è un indicatore della soddisfazione dell'utente che può essere misurato quantitativamente. Un indicatore è simile a una linea su un grafico che cambia nel tempo man mano che il servizio migliora o peggiora. Per valutare un livello di servizio, scegli un indicatore che rappresenti un aspetto della soddisfazione degli utenti. La disponibilità è un SLI comune.
Esempio di SLI: il numero di richieste andate a buon fine negli ultimi 10 minuti diviso per il numero di tutte le richieste valide nello stesso periodo di tempo.
L'SLI nell'esempio è specifico e ben definito ed è espresso come valore numerico. Questo valore riflette la disponibilità del servizio. Monitorando costantemente questo SLI nel tempo, un team può determinare la disponibilità complessiva del proprio servizio.
Per ulteriori informazioni sulla scelta degli SLI, consulta Scegliere gli SLI.
Obiettivo del livello di servizio
L'obiettivo del livello di servizio (SLO) è l'intervallo target che prevedi che il servizio raggiunga, misurato dall'SLI. L'esempio seguente utilizza il tempo di risposta, ovvero la velocità del servizio, come SLI.
Esempio di SLO: la risposta del servizio è inferiore a 400 millisecondi (ms) per il 95% di tutte le richieste valide misurate in 14 giorni.
Nell'esempio di SLO, l'SLI è il numero di richieste più rapide di 400 ms diviso per il numero di richieste valide. Questa percentuale viene monitorata su 14 giorno. L'obiettivo è soddisfare il 95% di tutte le richieste. In altre parole, se il risultato finale (la percentuale di richieste che soddisfano i criteri) è superiore al 95%, hai soddisfatto il tuo SLO per il servizio.
Per riepilogare, l'SLI è una misura (ad esempio velocità, disponibilità e esito) del servizio. Lo SLO è la previsione che una quantità specifica di queste misurazioni (la percentuale) soddisfi o superi un livello o un intervallo predeterminato. Qualsiasi valore inferiore al livello previsto è negativo. Non hai fornito ai tuoi utenti un servizio affidabile in un'area specifica di rendimento.
Per ulteriori informazioni sulla scelta degli SLO, consulta Scegliere gli SLO.
Accordo sul livello del servizio
L'accordo sul livello del servizio (SLA) è il contratto tra te, il fornitore di servizi e i tuoi clienti. Elenca gli SLO promessi ai clienti e che si aspettano di ricevere. Lo SLA specifica anche cosa succede se uno SLO non viene soddisfatto. Un SLO non rispettato può comportare il rimborso del denaro da parte del fornitore di servizi, la fornitura di servizi scontati o, in caso di servizi più critici, azioni legali o danni punitivi.
Gli SLA non sono trattati in modo approfondito in questa guida. Gli SLA vengono menzionati per aiutarti a comprendere meglio SLO, SLI e l'utente.
Budget di errore
Il valore finale da comprendere quando si parla di SLO è la percentuale o il numero di eventi negativi che il servizio può sopportare prima di violare lo SLO. Questo numero, chiamato budget di errore, definisce la quantità di errori che la tua attività può prevedere e tollerare.
Per la dimostrazione, utilizza la disponibilità come SLI (rappresentata da una percentuale). Tre o più "nove" nella percentuale indicano la precisione con cui vuoi misurare lo SLI. In altre parole, il numero di "9" esprime la percentuale di disponibilità.
Considera uno SLO di tre nove pari al 99,9%. Sottraendo il valore dello SLO dal 100%, rimane un budget di errore dello 0,1%. Quando si parla di disponibilità, un budget dello 0,1% equivale a poco meno di nove ore all'anno durante le quali il servizio non è disponibile. L'aggiunta di altri nove riduce drasticamente il budget di errore. Una disponibilità del 99,99% (quattro nove) consente meno di un'ora di tempo di riposo del servizio all'anno.
Questo tempo di riposo include le richieste non riuscite, il tempo di riposo del server per errore (arresto anomalo o bug software) o per progettazione (upgrade o test), errori umani, incidenti e molti altri.
Passaggi successivi
- Leggi l'articolo Scegliere gli SLO.
- Esplora i consigli negli altri pilastri del Framework dell'architettura.
- Per altre architetture di riferimento, diagrammi e best practice, visita il Cloud Architecture Center.