NEW
Also known as: Resilience Experimentation
The discipline of running controlled failure experiments on systems to build confidence in their resilience under turbulent conditions.
DESCRIPTION
Chaos engineering proactively injects faults, latency, and resource pressure to expose weaknesses before they cause outages. It emphasizes hypothesis-driven experiments, realistic blast radius control, and steady-state validation. Practitioners run GameDays and automate experiments in production-like environments to verify redundancy, failover, and autoscaling. Results drive improvements in architecture, alerts, and runbooks. Effective programs integrate with observability, change management, and incident response processes to reduce mean time to recovery (MTTR).
ALTERNATIVE DEFINITIONS
Principles of Chaos
Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the system’s capability to withstand turbulent conditions in production.
Canonical definition emphasizing experimentation and confidence-building in production.
Wikipedia
Chaos engineering is the discipline of experimenting on a software system in production in order to build confidence in the system’s capability to withstand turbulent and unexpected conditions.
Adds focus on unexpected conditions and production context.
RELATED TERMS
Resilience Testing Site Reliability Engineering Service Level Objective Incident Response Postmortem GameDay Exercises Canary Release Durability (ACID)
COMPETING TERMS
RELATIONS
- Broader: Reliability Engineering
KNOWLEDGE AREAS
Observability & Telemetry Software Engineering Infrastructure Testing & Validation
TARGET AUDIENCE
DevOps Engineer Cloud Architect Software Architect Software Developer IT Manager Solution Architect Application Administrator
EXTERNAL SOURCES
- Wikipedia - Chaos engineering
- Microsoft Learn - Azure resiliency guide for chaos
- AWS Architecture Blog - Applying chaos on AWS workloads
- Gremlin - Intro and practical guidance
- LitmusChaos - Open-source chaos tooling docs
TOP QUESTIONS
What problem does Chaos Engineering solve?
It exposes hidden weaknesses in complex systems before they cause outages. Controlled experiments validate assumptions about failover, autoscaling, and resilience under stress.
Category: Relevancy
How do you start Chaos Engineering safely?
Define a steady-state metric, form a hypothesis, limit blast radius, run in lower environments first, and automate rollback and observability.
Category: Requirements
What is a common mistake in Chaos Engineering?
Running experiments without clear hypotheses or observability leads to noisy results and missed insights. Always measure steady state and define abort conditions.
Category: Mistakes
Is Chaos Engineering only for production systems?
No. While production experiments are valuable, start in staging or small blast-radius production segments to build confidence and safety.
Category: Misunderstanding
How does Chaos Engineering relate to SRE?
It complements SRE by validating reliability assumptions and improving SLO compliance through proactive failure testing.
Category: Relationship
Which metrics matter in Chaos Engineering?
Steady-state indicators like latency, error rate, throughput, and saturation guide hypotheses and success criteria.
Category: Measurement
What tools are used for Chaos Engineering?
Popular choices include Gremlin, LitmusChaos, and platform-native injectors like Azure Chaos Studio or AWS Fault Injection Simulator.
Category: Tools
What risks does Chaos Engineering introduce?
Poorly controlled experiments can impact users. Limit blast radius, schedule during low traffic, and ensure rollback mechanisms.
Category: Risks
What’s a hot topic in Chaos Engineering today?
Combining chaos experiments with continuous verification in CI/CD pipelines is gaining traction.
Category: Topic