.NET Architecture & System Design Interview Question #196

What is chaos engineering?

Deployment, Cloud Operations, SRE & Senior System Design Scenarios Senior Advanced

Quick Interview Answer

Chaos engineering uses controlled experiments that introduce failures to validate assumptions about system resilience. Examples include terminating instances, injecting latency, or making a dependency temporarily unavailable.

Detailed Explanation

Chaos engineering uses controlled experiments that introduce failures to validate assumptions about system resilience. Examples include terminating instances, injecting latency, or making a dependency temporarily unavailable.

Experiments should have a hypothesis, limited blast radius, monitoring, abort conditions, and appropriate approvals. The purpose is to learn whether resilience mechanisms work, not to create random production outages.

Code Example

Hypothesis:
"API remains available if one instance fails"

Experiment:
terminate one instance

Observe:
routing, errors, latency, recovery