WAF-PERF-050 – Performance Monitoring & SLO Definition
Beschreibung
Alle Produktions-Services MÜSSEN Service Level Objectives (SLOs) für Latenz (P95, P99), Fehlerrate und Verfügbarkeit definiert haben. Service Level Indicators (SLIs) MÜSSEN kontinuierlich instrumentiert und gemessen werden. Alerting MUSS auf SLO-Burn-Rate basieren, nicht auf absoluten Durchschnittswerten. SLOs MÜSSEN quartalsweise reviewed werden.
Durchschnittswerte lügen. P99 zeigt, was echte Nutzer erleben.
Rationale
Ohne SLOs gibt es kein objektives Kriterium für "gute Performance". Teams diskutieren subjektiv. Error Budgets geben der Diskussion eine quantitative Basis: Solange das Budget vorhanden ist, kann das Team neue Features deployen. Bei Budgeterschöpfung: Stabilisierungsarbeit hat Priorität. Alerting auf Durchschnittswerte maskiert Tail-Latenz-Probleme, die 1% der Nutzer stark beeinträchtigen.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Graduelle Degradation unbemerkt |
Ohne P99-Monitoring können Services über Wochen langsamer werden ohne dass es auffällt. |
SLA-Verletzungen |
Externe SLAs können nicht nachgewiesen oder überwacht werden ohne interne SLOs. |
Tail-Latenz maskiert |
P50 avg = 50ms, P99 = 5000ms: Durchschnitt sieht gut aus, 1% der Nutzer leiden. |
Fehlende Deployment-Entscheidungsgrundlage |
Ohne Error-Budget kein objektives Kriterium für "wann pausieren wir Features". |
Anforderung
-
SLOs MÜSSEN für alle Produktions-Services definiert sein (P95, P99-Latenz, Fehlerrate, Verfügbarkeit)
-
SLIs MÜSSEN kontinuierlich instrumentiert und gemessen werden (nicht nur Stichproben)
-
SLO-Burn-Rate-Alerting MUSS konfiguriert sein (nicht nur statische Schwellenwerte)
-
SLOs MÜSSEN quartalsweise reviewed und bei Bedarf angepasst werden
Implementierungsanleitung
-
SLO-Dokument erstellen:
docs/slos/<service>.ymlmit SLI-Definition, SLO-Ziel, Error-Budget-Policy -
SLIs instrumentieren: APM-Tool einrichten (X-Ray, Application Insights, Cloud Trace, Prometheus)
-
Percentile-Alerts konfigurieren: CloudWatch p99, Application Insights percentile-Queries
-
Error-Budget berechnen: 99.9% SLO = 0.1% Fehlerrate = 43.2 min Ausfallzeit/Monat
-
Multi-Window Burn Rate Alerts: 1h/6h/24h-Windows nach Google SRE-Methodik
-
Dashboard erstellen: SLO-Compliance, Error-Budget-Status, Burn-Rate-Trend
-
Quarterly Review einplanen: SLOs anpassen wenn Targets nicht mehr repräsentativ sind
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Kein SLO |
Nur Availability-Monitoring (up/down); keine Latenz-Baselines; Incidents durch Nutzer entdeckt. |
2 |
Informelle Targets |
Latenz gesammelt aber keine formalen SLOs; Durchschnittswert-Alerting; keine Error Budgets. |
3 |
Formale SLOs |
SLOs dokumentiert; P99-Alerting; SLIs instrumentiert; Error Budgets berechnet. |
4 |
Error Budget Management |
Deployment-Gates bei Budget-Erschöpfung; SLO in Quarterly Engineering Reviews. |
5 |
Prädiktives SLO-Management |
Burn-Rate-Prediction; automatische Kapazitätsanpassung bei drohendem Budget-Breach. |
Terraform Checks
waf-perf-050.tf.aws.cloudwatch-latency-alarm
Prüft: CloudWatch-Alarms müssen Alarm-Actions, mehrere Evaluation-Periods und Beschreibung haben.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: Auf p99-Statistik wechseln; alarm_actions mit SNS-Topic setzen;
evaluation_periods >= 2; alarm_description mit Runbook-Link hinzufügen.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
Governance |
✅ Pflicht |
SLO-Dokument für alle Produktions-Services (SLI, SLO-Ziel, Error-Budget-Policy). |
Config |
✅ Pflicht |
Monitoring-/APM-Konfiguration mit SLI-Instrumentierung und SLO-Alerting. |
Config |
Optional |
SLO-Compliance-Dashboard mit historischen Trends. |
Process |
Optional |
Quarterly-SLO-Review-Meeting-Protokoll. |