This series has built redundancy everywhere: zones on every pool, HA on every database, failover groups, retry logic, health probes. Every one of those is a hypothesis until something breaks on purpose. Chaos engineering is the discipline of testing those hypotheses, and Azure Chaos Studio is the managed way to run it against the estate.
The Fault Library
Chaos Studio runs experiments composed of faults against targets, in two flavors. Service direct faults need no agent and manipulate Azure resources through the control plane: shut down VMs or scale set instances, fail over Cosmos DB, kill AKS pods and stress node resources through the Chaos Mesh integration, disrupt network security rules, reboot Redis. Agent based faults run inside VMs via the chaos agent: CPU and memory pressure, disk I/O stress, process kill, network latency and packet loss shaped at the OS level, time drift. Targets must be explicitly onboarded and experiments run under a managed identity holding only the permissions the faults need, which is the guardrail that makes chaos in a governed estate defensible: the blast radius is RBAC scoped, reviewable, and revocable, and the deny assignments from the deployment stacks post can even protect resources from chaos experiments that should never touch them.
Experiments Are Hypotheses
The format that keeps chaos scientific: a steady state definition (the SLO metrics from the Monitor post, error rate under one percent, p99 under 400 ms), a hypothesis (“losing one availability zone does not breach the SLO because pools are zone spread and PDBs hold”), the smallest fault that tests it, and abort criteria wired to the same metrics so a wrong hypothesis ends the experiment instead of the quarter. Start in staging with the identical configuration production runs (the AKS posts made that reproducible), and graduate to production only the experiments whose staging results were boring, because production chaos is for validating what you already believe, not discovering what you fear. The classic first experiments write themselves from this series: kill a zone’s worth of AKS nodes and watch topology spread and the autoscaler respond; stress the primary PostgreSQL and observe whether connection retry actually retries; inject latency between the app tier and Redis and learn whether the cache aside code degrades gracefully or amplifies; expire the pilot’s assumptions about Front Door failover by taking the primary region’s origin down.
Game Days and the Pipeline
Two operating modes. Game days are the human loop: a scheduled afternoon, an experiment the on call team does not see coming in detail, and the observation extends beyond the system to the sociotechnical stack, did the alert fire, did the runbook exist, did the person find the dashboard, because the DR post’s lesson applies everywhere: capability is what you have rehearsed. Findings feed the same postmortem and backlog machinery as real incidents, minus the customer impact. Continuous validation is the automated loop: key experiments run in the release pipeline against staging on every significant change, so a deployment that silently removed a pod disruption budget or a retry policy fails a chaos gate instead of a 3 AM page. Wire experiment runs and results into Log Analytics beside everything else, and resilience stops being an adjective in architecture documents and becomes a number with a trend line, which after fifty posts of building redundancy is the only honest way to know it works.
Cheers
Osama
Leave a Reply