SLA (Service Level Agreement) is een formele overeenkomst tussen de klant en het IT-team die de parameters van de servicekwaliteit definieert.
Op het niveau van architectuur wordt naleving van SLA gewaarborgd door technische middelen, processen, monitoring en automatisering. Voor een correcte implementatie is het belangrijk om een duidelijk beeld te hebben van de kritische systemen, hun fouttolerantie en schaalbaarheid.
# Voorbeeldconfiguratie voor waarschuwing bij vertraging in API-respons - 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: Respons tijd overschrijdt SLA (99% > 1 sec)
Wat zijn operationele metrics en waarom zijn ze nodig?
Operationele metrics zijn indicatoren die de werkelijke parameters van het systeem kenmerkend zijn, bijvoorbeeld beschikbaarheid, vertraging, aantal fouten. Ze zijn nodig om te meten hoe goed het systeem voldoet aan de SLA, en om snel te reageren op afwijkingen.
Voorbeeldcode:
# Voorbeeld van het exporteren van metrics via Prometheus client from prometheus_client import start_http_server, Summary REQUEST_TIME = Summary('request_processing_seconds', 'Tijd voor het verwerken van verzoeken')
SLA, SLO en SLI: wat is het verschil?
Garandeert alleen hoge beschikbaarheid de naleving van SLA?
Nee, SLA omvat niet alleen beschikbaarheid, maar ook prestaties (latentie), stabiliteit (foutpercentage), en correctheid. Hoge beschikbaarheid garandeert op zich niet dat aan de overige SLA-eisen wordt voldaan.