Chaos Engineering
Definition
Chaos Engineering ist die Disziplin des Experimentierens auf einem System, um Vertrauen in die Fähigkeit des Systems zu schaffen, turbulenten Bedingungen in der Produktion standzuhalten.
Prinzipien
- Steady State definieren: Normales Verhalten messen
- Hypothese aufstellen: Vorhersage bei Störung
- Realistische Events: Produktionsnahe Fehler
- Experimente in Produktion: Wo möglich und sicher
- Automatisieren: Kontinuierliche Experimente
- Blast Radius minimieren: Schaden begrenzen
Experiment-Workflow
1. Steady State definieren
↓
2. Hypothese formulieren
↓
3. Experiment planen
↓
4. Blast Radius begrenzen
↓
5. Experiment durchführen
↓
6. Ergebnisse analysieren
↓
7. Improvements implementieren
Fehler-Kategorien
Infrastructure Failures
- Server-Ausfall
- Netzwerk-Partition
- Disk Failure
- AZ/Region Ausfall
Application Failures
- Service Crash
- Memory Leak
- CPU Spike
- Dependency Failure
External Failures
- DNS Ausfall
- Third-Party API Down
- Certificate Expiry
- DDoS Attack
Tools
Chaos Monkey (Netflix)
- Random Instance Termination
- AWS fokussiert
- Teil der Simian Army
Litmus Chaos
- Kubernetes-native
- Open Source (CNCF)
- Declarative Experiments
- ChaosHub
Gremlin
- Commercial Platform
- Umfangreiche Attack Library
- Safety Checks
- Enterprise Features
Chaos Mesh
- Kubernetes-native
- Open Source
- Dashboard UI
- Workflow-basiert
Kubernetes Chaos Experiments
# Litmus Experiment: Pod Kill
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: nginx-chaos
spec:
appinfo:
appns: default
applabel: 'app=nginx'
chaosServiceAccount: litmus-admin
experiments:
- name: pod-delete
spec:
components:
env:
- name: TOTAL_CHAOS_DURATION
value: '30'
Game Days
Definition
- Geplante Chaos-Events
- Team-Übung
- Incident-Response-Training
- Cross-Team Collaboration
Ablauf
- Szenario definieren
- Beteiligte Teams informieren
- Monitoring bereit
- Experiment durchführen
- Reaktion beobachten
- Retrospektive
Best Practices
- Klein anfangen
- Blast Radius begrenzen
- Monitoring vor Experiments
- Automatische Rollback
- Dokumentation
- Regelmäßig wiederholen
CFTools Software implementiert Chaos Engineering für resilientere Systeme.