Scegli gli indicatori del livello del servizio (SLI)

Last reviewed 2024-03-29 UTC

Questo documento del framework dell'architettura di Google Cloud descrive come scegliere indicatori dei livelli del servizio (SLI) appropriati per il tuo servizio. Questo documento si basa sui concetti definiti in Componenti degli SLO.

Le metriche sono necessarie per determinare se gli obiettivi del livello di servizio (SLO) vengono soddisfatti. Queste metriche vengono definite SLI. Ogni SLI è la misurazione di un aspetto specifico del servizio, ad esempio il tempo di risposta, la disponibilità o il tasso di successo.

Gli SLO includono uno o più SLI e, idealmente, si basano su percorsi dell'utente critici (CUJ). I CUJ si riferiscono a un insieme specifico di interazioni utente o percorsi che un utente segue per raggiungere il proprio obiettivo su un sito web. Prendiamo ad esempio un cliente che fa acquisti su un servizio di e-commerce. Il cliente accede, cerca un prodotto, aggiunge l'articolo al carrello, passa alla pagina di pagamento e completa la procedura di pagamento. I CUJ identificano i diversi modi per aiutare gli utenti a completare le attività il più rapidamente possibile.

Quando scegli gli SLI, devi prendere in considerazione le metriche appropriate per il tuo servizio, i vari tipi di metriche che puoi utilizzare, la qualità della metrica e il numero corretto di metriche necessarie.

Scegli gli SLI appropriati per il tipo di servizio

Esistono molti tipi di servizi. La tabella seguente elenca i tipi di servizi comuni e fornisce esempi di SLI per ciascuno. Alcuni SLI sono applicabili a più tipi di servizio. Se un SLI compare più volte nella tabella, solo la prima istanza fornisce una definizione. Ricorda che gli SLI sono spesso espressi in base al numero di "nove" nella metrica.

Tipo di servizio SLI tipici
Sistemi di pubblicazione
  • Disponibilità: la percentuale di servizio utilizzabile. La disponibilità è definita come la frazione di richieste andate a buon fine divisa per il numero totale di richieste ed è espressa come percentuale, ad esempio 99,9%.
  • Latenza: la velocità con cui viene soddisfatta una determinata percentuale di richieste. Ad esempio, il 99° percentile a 300 ms.
  • Qualità: il grado in cui i contenuti della risposta a una richiesta si discostano dai contenuti ideali della risposta. Ad esempio, una scala da 0% a 100%.
Sistemi di elaborazione dati
  • Copertura: la quantità di dati elaborati, espressa come frazione. Ad esempio, 95%.
  • Correttezza: la frazione di dati di output ritenuti corretti. Ad esempio, 99,99%.
  • Aggiornamento: l'aggiornamento dei dati di origine o dei dati di output aggregati. Ad esempio, i dati sono stati aggiornati 20 minuti fa.
  • Throughput: la quantità di dati elaborati. Ad esempio, 500 MiB al secondo o 1000 richieste al secondo.
Sistemi di archiviazione
  • Durabilità: la probabilità che i dati scritti nel sistema vengano recuperati in futuro. Ad esempio, 99,9999%.
  • Tempo di risposta al primo byte (TTFB): il tempo necessario per inviare e ricevere il primo byte di una pagina.
  • Disponibilità dei blob: il rapporto tra le richieste dei clienti che restituiscono una risposta di errore non del server e il numero totale di richieste dei clienti.
  • Velocità effettiva
  • Latenza
Sistemi di guida su richiesta
  • Disponibilità
  • Latenza
  • Qualità
Sistemi di esecuzione pianificata
  • Spostamento: la proporzione di esecuzioni che iniziano in un intervallo di tempo accettabile rispetto all'ora di inizio prevista.
  • Esecuzione: il tempo necessario per completare un job. Per una determinata esecuzione, una modalità di errore comune è che la durata effettiva superi la durata pianificata.

Valutare diversi tipi di metriche

Oltre a scegliere l'SLI appropriato per il tuo servizio, devi decidere il tipo di metrica da utilizzare per l'SLI. Gli SLI elencati nella sezione precedente tendenzialmente sono di uno dei seguenti tipi:

  • Contatore: questo tipo di metrica può aumentare, ma non diminuire. Ad esempio, il numero di errori che si sono verificati fino a un determinato punto di misurazione.
  • Contatore: questo tipo di metrica può aumentare o diminuire. Ad esempio, il valore effettivo di una parte misurabile del sistema (ad esempio la lunghezza della coda).
  • Distribuzione (istogramma): il numero di eventi che si trovano in un determinato segmento di misurazione per un determinato periodo di tempo. Ad esempio, misurare quante richieste richiedono da 0 a 10 ms per essere completate, quante richiedono da 11 a 30 ms e quante richiedono da 31 a 100 ms. Il risultato è un conteggio per ogni bucket, ad esempio [0-10: 50], [11-30: 220] e [31-100: 1103].

Per ulteriori informazioni su questi tipi, consulta la documentazione del progetto Prometheus e la sezione Tipi di valore e tipi di metriche in Cloud Monitoring.

Prendi in considerazione la qualità della metrica

Non tutte le metriche sono utili. Oltre a essere un rapporto tra eventi riusciti e eventi totali, devi determinare se una metrica è un buon SLI per le tue esigenze. Per aiutarti a prendere questa decisione, tieni presente le seguenti caratteristiche di una buona metrica:

  • Le metriche sono direttamente correlate alla soddisfazione degli utenti. Gli utenti non sono soddisfatti quando un servizio non si comporta come previsto, ad esempio quando è lento, impreciso o non funziona del tutto. Convalida qualsiasi SLO in base a queste metriche confrontando lo SLI con altri indicatori della soddisfazione dell'utente. Questo confronto include dati quali il numero di richieste inviate dai clienti, il volume delle chiamate all'assistenza e il sentiment sui social media. Per scoprire di più, consulta Miglioramento continuo dei target SLO.

    Se la metrica non è in linea con questi altri indicatori della soddisfazione degli utenti, potrebbe non essere un buon SLI.

  • Il peggioramento della metrica è correlato alle interruzioni. Qualsiasi metrica che riporti risultati di servizio positivi durante un'interruzione è chiaramente sbagliata per un SLI. Al contrario, anche una metrica che sembra negativa durante il normale funzionamento è problematica

  • La metrica fornisce un buon rapporto segnale/rumore. Ignora qualsiasi metrica che genera un numero elevato di falsi negativi o falsi positivi.

  • La metrica varia in modo monotono e lineare in base alla soddisfazione del cliente. In parole povere, con il miglioramento della metrica aumenta anche la soddisfazione del cliente.

Seleziona il numero corretto di metriche

Un singolo servizio può avere più SLI, soprattutto se esegue diversi tipi di attività o serve diversi tipi di utenti. È meglio scegliere le metriche appropriate per ogni tipo.

Al contrario, alcuni servizi svolgono tipi di lavoro simili che possono essere direttamente confrontabili. Ad esempio, gli utenti che visualizzano pagine diverse del tuo sito (come la home page, le sottocategorie e l'elenco dei primi 10). Anziché sviluppare un'SLI distinta per ciascuna di queste azioni, combinale in un'unica categoria SLI, ad esempio sfogliare i servizi.

Le aspettative degli utenti non cambiano molto tra le azioni di una categoria simile. La loro soddisfazione è quantificabile dalla risposta alla domanda: "Ho visualizzato rapidamente una pagina completa di articoli?"

Utilizza il minor numero possibile di SLI per rappresentare con precisione le tolleranze del servizio. Come guida generale, consigliamo di avere da due a sei SLI. Se hai un numero troppo ridotto di SLI, potresti perdere indicatori importanti. Se sono troppi, il team di assistenza ha a disposizione troppi dati con un vantaggio minimo. Gli SLI devono semplificare la comprensione dell'integrità della produzione e fornire un'idea della copertura, senza sopraffonderti (o deluderti).

Passaggi successivi