Antimetal
BlogCareers
Sign InBook a Demo
BlogCareersSign InBook a Demo
Company
  • Careers
  • Blog
Resources
  • Docs
  • Guides
  • Glossary
  • Integrations
Compliance
  • Trust Center
  • Terms
  • Privacy
All Systems NormalBuilt in NYC

The Autonomous System for Production
SOC 2, GDPR, and HIPAA compliant.

GlossarySRE concepts

What is Chaos Engineering?

Chaos engineering is the practice of deliberately injecting failures into a system to discover weaknesses before they surface on their own. It treats resilience as something to be verified experimentally rather than assumed from design.

SRE concepts2 min

Table of contents

  1. How chaos experiments work
  2. Why chaos engineering works
  3. Limits and prerequisites
  4. Chaos engineering vs load testing
  5. Key takeaways
  6. Frequently asked
On this page
  1. How chaos experiments work
  2. Why chaos engineering works
  3. Limits and prerequisites
  4. Chaos engineering vs load testing
  5. Key takeaways
  6. Frequently asked

#How chaos experiments work

A chaos experiment starts with a hypothesis about steady state: under normal conditions, error rate stays below a threshold and latency stays within a band. The experiment then introduces a specific failure such as terminating an instance, adding network latency, or making a dependency return errors.

If steady state holds, the system tolerates that failure and the hypothesis is confirmed. If it does not, you have found a weakness under controlled conditions with an abort switch available, which is a dramatically better setting than discovering it at 3am.

#Why chaos engineering works

Resilience mechanisms that have never been exercised usually do not work, and there is no way to know which ones without testing them.

  • Verification: timeouts, retries, and failovers are confirmed to behave as designed.
  • Hidden coupling: dependencies nobody documented surface immediately.
  • Response rehearsal: the team practices incident response on a known problem.
  • Controlled discovery: weaknesses are found with an abort switch rather than during an outage.

#Limits and prerequisites

Chaos engineering requires a baseline of maturity. A team without solid monitoring cannot tell whether an experiment caused a problem, and a team already firefighting daily does not need synthetic failures to find weaknesses.

Experiments also need real blast radius control: a defined scope, a monitored steady state, and a fast abort. Chaos without those properties is just breaking production, and it costs the practice its credibility inside the organization for a long time afterward.

#Chaos engineering vs load testing

Load testing answers a capacity question: how much traffic can the system handle and where does it saturate. The variable is volume.

Chaos engineering answers a resilience question: what happens when a component fails. The variable is availability of dependencies. They find different problems. Load testing finds the point where the system breaks under demand. Chaos finds the places where one component's failure propagates further than the design intended. Systems need both, and passing one says nothing about the other.

#Key takeaways

  • An experiment defines a steady state hypothesis, injects a specific failure, and checks whether steady state holds.
  • Untested resilience mechanisms usually do not work, and testing is the only way to find out which.
  • Prerequisites are solid monitoring, defined blast radius, and a fast abort path.
  • Load testing finds saturation points while chaos finds propagation paths, and neither substitutes for the other.

#Frequently asked

Should chaos experiments run in production?

Eventually, since staging does not reproduce production traffic, data, or scale. Start in staging to build confidence and practice, then move to production with tight scope.

What is a good first experiment?

Terminating a single instance of a service that is supposed to be redundant. It is low risk and frequently reveals that failover does not work as documented.

When is a team not ready for chaos engineering?

When monitoring cannot detect the induced failure, or when incident load is already high. Fix those first.

Related terms

  • Proactive Incident Management

    Incident management
    2 min

    Proactive incident management is the practice of finding and correcting conditions that will cause incidents before they do.

  • Code Resilience

    AI & automation
    2 min

    In this glossary, code resilience refers to the property of software that continues to function acceptably when its dependencies fail, its inputs are…

  • Blast Radius

    Incident management
    2 min

    Blast radius is the extent of what a failure or change can affect.

  • Graceful Degradation

    SRE concepts
    2 min

    Graceful degradation is the design property where a system reduces functionality under failure or load instead of failing completely.

PreviousChange ManagementNextCI/CD