L'SLA (Service Level Agreement) è un accordo formale tra il cliente e il team IT, che definisce i parametri di qualità del servizio.
A livello di architettura, il rispetto dell'SLA è garantito da mezzi tecnici, processi, monitoraggio e automazione. Per una corretta attuazione, è importante avere una chiara comprensione dei componenti critici del sistema, della sua resilienza e scalabilità.
# Esempio di configurazione alert per latenza di risposta API - alert: HighResponseLatency expr: histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)) > 1 for: 5m labels: severity: critical annotations: summary: Il tempo di risposta supera l'SLA (99% > 1 sec)
Cosa sono le metriche operative e a cosa servono?
Le metriche operative sono indicatori che caratterizzano i parametri reali di funzionamento del sistema, ad esempio, disponibilità, latenza, numero di errori. Servono per misurare quanto il sistema rispetti l'SLA e per rispondere rapidamente a eventuali deviazioni.
Esempio di codice:
# Esempio di esportazione delle metriche tramite Prometheus client from prometheus_client import start_http_server, Summary REQUEST_TIME = Summary('request_processing_seconds', 'Tempo di elaborazione della richiesta')
SLA, SLO e SLI: qual è la differenza?
La sola alta disponibilità garantisce il rispetto dell'SLA?
No, l'SLA include non solo disponibilità, ma anche prestazioni (latency), stabilità (error rate), correttezza del funzionamento. L'alta disponibilità da sola non garantisce il rispetto dei restanti requisiti dell'SLA.