SLA (Service Level Agreement) ist eine formale Vereinbarung zwischen dem Kunden und dem IT-Team, die die Qualitätsparameter des Dienstes definiert.
Auf Architektur ebene wird die Einhaltung von SLA durch technische Mittel, Prozesse, Überwachung und Automatisierung sichergestellt. Für die korrekte Umsetzung ist es wichtig, ein klares Verständnis der kritischen Systeme, ihrer Ausfallsicherheit und Skalierbarkeit zu haben.
# Beispielkonfiguration für einen Alarm bei Verzögerung der API-Antwort - 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: Antworzeit überschreitet SLA (99% > 1 Sek)
Was sind Betriebsmetriken und warum sind sie nötig?
Betriebsmetriken sind Kennzahlen, die die tatsächlichen Betriebsparameter eines Systems charakterisieren, z.B. Verfügbarkeit, Verzögerung, Anzahl der Fehler. Sie sind erforderlich, um zu messen, wie gut das System SLA erfüllt und um schnell auf Abweichungen reagieren zu können.
Beispielcode:
# Beispiel für den Export von Metriken über den Prometheus-Client from prometheus_client import start_http_server, Summary REQUEST_TIME = Summary('request_processing_seconds', 'Verarbeitungszeit der Anfrage')
SLA, SLO und SLI: Wo ist der Unterschied?
Gewährleistet nur hohe Verfügbarkeit die Einhaltung von SLA?
Nein, SLA umfasst nicht nur Verfügbarkeit, sondern auch Leistung (Latenz), Stabilität (Fehlerrate) und Korrektheit der Funktion. Hohe Verfügbarkeit allein garantiert nicht die Erfüllung der anderen SLA-Anforderungen.