Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Chaos Engineering v praxi: Jak testovat odolnost systémů v roce 2026

11. 02. 2026 11 min čtení CORE SYSTEMSai

„Všechno funguje, dokud to nefunguje.” Chaos Engineering je disciplína, která tuto pravdu bere vážně — a záměrně injektuje selhání do produkčních systémů, aby odhalila slabiny dřív než skutečný incident. V roce 2026 už nejde o exotickou praktiku z Netflixu. Je to standardní součást SRE a platform engineering workflow, s vyspělými nástroji jako Gremlin, Litmus a Chaos Mesh, formalizovanými procesy GameDay a přímou vazbou na observability a SLO Engineering.

Co je Chaos Engineering a proč ho potřebujete

Chaos Engineering je experimentální přístup k testování odolnosti distribuovaných systémů. Na rozdíl od tradičního testování, které ověřuje, že systém dělá to, co má, chaos engineering ověřuje, že systém přežije podmínky, které neočekává — výpadek databáze, network partition, saturace CPU, ztráta celé availability zone nebo kaskádové selhání downstream služby.

Koncept formalizoval Netflix v roce 2011 vydáním Chaos Monkey — nástroje, který náhodně vypínal produkční instance EC2. Myšlenka byla jednoduchá: pokud vaše architektura nepřežije ztrátu jedné instance, dozvíte se to raději v úterý v 10:00 než v sobotu ve 3:00 ráno. Od té doby disciplína vyspěla do strukturovaného vědeckého přístupu s jasně definovanými principy.

60%

enterprise organizací praktikuje chaos engineering (Gartner 2025)

rychlejší MTTR u týmů s pravidelnými GameDay cvičeními

45%

méně kritických incidentů po zavedení chaos testů

$2.5M

průměrná cena hodiny výpadku enterprise systému

Principy Chaos Engineeringu

Chaos Engineering není „vypneme random server a uvidíme co se stane”. Je to strukturovaný vědecký experiment s jasně definovanými kroky. Dokument Principles of Chaos Engineering (principlesofchaos.org) definuje pět základních principů:

1

Definujte Steady State

Než začnete cokoliv rozbíjet, musíte vědět, jak vypadá „normální” chování systému. Steady State Hypothesis je měřitelná definice zdravého systému — typicky vyjádřená pomocí SLI/SLO metrik: latence, error rate, throughput. Bez jasného steady state nemůžete poznat, jestli experiment odhalil problém, nebo je systém prostě pomalý.

2

Formulujte hypotézu

Každý chaos experiment začíná hypotézou: „Věříme, že při výpadku Redis cache bude systém nadále sloužit požadavky z databáze s latencí pod 500ms a error rate pod 1 %.” Hypotéza musí být falsifikovatelná — jinak to není experiment, ale demo.

3

Simulujte reálné události

Injektujte selhání, která se skutečně stávají: network latency, disk failures, process crashes, DNS resolution failures, certificate expiration. Fantazijní scénáře typu „co když se změní gravitační konstanta” nejsou užitečné. Podívejte se na své postmortem reporty — to jsou vaše chaos scénáře.

4

Omezte blast radius

Začněte malým. Blast radius je rozsah dopadu experimentu. Nikdy nespouštějte chaos experiment, který by mohl způsobit nekontrolovaný výpadek. Začněte ve staging, pak canary na 1 % produkčního trafficu, pak na 5 %, pak na celý region. Vždy mějte kill switch.

5

Spouštějte experimenty v produkci

Kontroverzní, ale zásadní: staging prostředí nikdy přesně nereplikuje produkci. Traffic patterns, data volumes, race conditions — to vše se projeví jen v reálném prostředí. Samozřejmě s kontrolovaným blast radius a připraveným rollbackem. Ale pokud testujete jen ve staging, testujete staging, ne produkci.

Steady State Hypothesis v praxi

Steady State Hypothesis (SSH) je formální definice normálního chování systému, vyjádřená jako sada měřitelných podmínek. Je to základ každého chaos experimentu — ověříte ji před experimentem (baseline), spustíte injekci selhání, a pak znovu ověříte SSH. Pokud SSH stále platí, systém je odolný. Pokud ne, máte nález.

SSH přímo navazuje na SLO definice vašich služeb. Příklad pro e-commerce checkout:

# Steady State Hypothesis: Checkout API
steady_state:
  - probe: http_availability
    type: probe
    provider:
      type: http
      url: "https://api.example.com/health"
    tolerance:
      status: 200

  - probe: p99_latency
    type: probe
    provider:
      type: prometheus
      query: "histogram_quantile(0.99, rate(http_request_duration_seconds_bucket{service='checkout'}[5m]))"
    tolerance:
      type: range
      range: [0, 0.5]  # max 500ms

  - probe: error_rate
    type: probe
    provider:
      type: prometheus
      query: "rate(http_requests_total{service='checkout',code=~'5..'}[5m]) / rate(http_requests_total{service='checkout'}[5m])"
    tolerance:
      type: range
      range: [0, 0.01]  # max 1%

Klíčové: SSH musí být automatizovaná. Žádné manuální kontroly „podívej se na dashboard”. Probes se spouštějí programaticky, tolerance se vyhodnocují strojově. To umožňuje integraci chaos experimentů do CI/CD pipeline — experiment se spustí automaticky po deployi, ověří SSH, a pokud steady state nedrží, deployment se rollbackne.

Nástroje pro Chaos Engineering v roce 2026

Ekosystém chaos engineering nástrojů dozrál. Tři hlavní hráči pokrývají různé use cases:

Gremlin

Enterprise SaaS platforma. Nejširší knihovna fault injection scénářů, safety controls, týmová kolaborace, compliance reporting.

Litmus

CNCF project pro Kubernetes-native chaos. ChaosHub s 50+ předpřipravenými experimenty, GitOps workflow, open-source.

Chaos Mesh

CNCF project od PingCAP. Kubernetes-native, Chaos Dashboard UI, podpora pro síťové, IO, kernel a JVM fault injection.

Chaos Toolkit

Open-source CLI framework. Platform-agnostic, deklarativní YAML/JSON experimenty, extensible přes drivery pro AWS, Azure, GCP, K8s.

Gremlin — Enterprise chaos platforma

Gremlin je nejkompletnější komerční řešení pro chaos engineering. Nabízí širokou paletu attack vektorů: resource attacks (CPU, memory, disk IO), network attacks (latency, packet loss, DNS failure, blackhole), state attacks (process kill, time travel, shutdown). Klíčová výhoda pro enterprise: safety controls — automatické halt conditions, blast radius limits, audit logging a role-based access control. Gremlin se v roce 2026 zaměřuje i na reliability scoring — automatické hodnocení resilience vašich služeb na základě výsledků experimentů.

Litmus — Kubernetes-native chaos

Litmus je CNCF inkubovaný projekt navržený primárně pro Kubernetes. Chaos experimenty se definují jako CRD (Custom Resource Definitions) — ChaosEngine, ChaosExperiment, ChaosResult. To znamená, že chaos experimenty žijí vedle vašich Kubernetes manifestů v git repozitáři a procházejí code review. Kubernetes-native přístup zajišťuje přirozené napojení na existující tooling.

apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
  name: checkout-pod-kill
  namespace: production
spec:
  appinfo:
    appns: production
    applabel: "app=checkout-api"
    appkind: deployment
  chaosServiceAccount: litmus-admin
  experiments:
    - name: pod-delete
      spec:
        components:
          env:
            - name: TOTAL_CHAOS_DURATION
              value: "30"
            - name: CHAOS_INTERVAL
              value: "10"
            - name: FORCE
              value: "false"
        probe:
          - name: check-availability
            type: httpProbe
            httpProbe/inputs:
              url: "http://checkout-api.production.svc:8080/health"
              method:
                get:
                  criteria: "=="
                  responseCode: "200"
            mode: Continuous
            runProperties:
              probeTimeout: 5
              interval: 2
              retry: 1

Chaos Mesh — granulární fault injection

Chaos Mesh vyniká v granularitě fault injection. Kromě standardních pod kill a network chaos nabízí JVM chaos (exception injection do Java aplikací), IO chaos (filesystem latency, errno injection), kernel chaos (kernel fault injection přes BPF), a HTTP chaos (injection chyb na úrovni HTTP requestů). Chaos Dashboard poskytuje vizuální přehled běžících experimentů a jejich dopadů v reálném čase.

GameDay — řízené cvičení odolnosti

GameDay je strukturované cvičení, kde tým záměrně provokuje selhání systému a procvičuje incident response. Na rozdíl od automatizovaných chaos experimentů, které běží v CI/CD, GameDay je sociální událost — celý tým sedí společně (nebo na video callu), sleduje dashboardy a reaguje na injektované incidenty v reálném čase.

Jak zorganizovat GameDay

  1. Plánování (1–2 týdny předem) — Vyberte cílový systém, definujte scénáře, připravte Steady State Hypothesis, informujte stakeholdery. Určete Game Master (řídí experiment), Red Team (injektuje selhání) a Blue Team (reaguje na incident).
  2. Briefing (30 min) — Game Master vysvětlí pravidla, cíle, safety controls a kill switch procedury. Blue Team neví, jaké konkrétní selhání přijde — jen ví, že bude testován cílový systém.
  3. Execution (1–3 hodiny) — Red Team postupně eskaluje selhání. Začněte jednoduchou injekcí (single pod kill), pozorujte reakci, eskalujte (network partition, AZ failure). Blue Team detekuje, diagnostikuje a mitiguje. Vše se nahrává pro retrospektivu.
  4. Debriefing (1 hodina) — Blameless review. Co fungovalo? Co ne? Kde byly mezery v observability? Jaké runbooky chyběly? Kde selhala automatizace? Výstupem jsou konkrétní action items s ownerem a deadline.
  5. Follow-up (1–2 týdny) — Implementace action items. Nové alerty, opravené runbooky, vylepšená automatizace, nové chaos experimenty pro regresi nalezených problémů.

Tip: Začněte s GameDay ve staging prostředí. Po 2–3 úspěšných staging GameDays přejděte na produkci s kontrolovaným blast radius. Frekvence: minimálně jednou za kvartál pro kritické služby, měsíčně pro tier-1 systémy.

Blast Radius — kontrola dopadu

Blast radius je rozsah systémů a uživatelů potenciálně ovlivněných chaos experimentem. Kontrola blast radius je to, co dělí chaos engineering od sabotáže. Praktické techniky:

  • Canary targeting — Injektujte selhání jen do canary instance, která obsluhuje 1–5 % trafficu. Pokud canary selže, zbytek produkce je nedotčen.
  • Namespace isolation — V Kubernetes spouštějte experimenty v dedikovaném namespace s resource quotas a network policies.
  • Feature flag targeting — Kombinujte chaos experimenty s feature flags. Selhání se projeví jen uživatelům v experimentální skupině.
  • Time-boxing — Každý experiment má maximální dobu trvání. Po jejím uplynutí se automaticky ukončí, i když ho nikdo manuálně nezastaví.
  • Auto-halt conditions — Definujte automatické zastavení experimentu, pokud SLO metrika klesne pod kritický threshold (např. error rate > 5 %).
# Gremlin attack s blast radius kontrolou
gremlin attack network latency \
  --length 300 \
  --delay 200 \
  --target-tags "service=checkout,canary=true" \
  --halt-condition "p99_latency > 1000ms" \
  --halt-condition "error_rate > 0.05" \
  --percent 10

Jak začít s Chaos Engineeringem — 8týdenní roadmapa

Nemusíte hned pouštět Chaos Monkey v produkci. Začněte postupně:

Týden 1–2: Observability assessment

Než začnete cokoliv rozbíjet, potřebujete vidět, co se děje. Ověřte, že máte funkční observability stack — metriky, logy, traces. Umíte odpovědět na otázku „jak se má můj systém teď” za méně než 30 sekund? Pokud ne, začněte tady. Chaos engineering bez observability je řízení naslepo. Definujte SLI a SLO pro kritické služby.

Týden 3–4: První experiment ve staging

Vyberte nejjednodušší scénář: pod-delete jedné repliky vaší služby. Definujte Steady State Hypothesis, spusťte experiment, pozorujte. Očekávaný výsledek: Kubernetes vytvoří nový pod, služba zůstane dostupná. Pokud i to selže, máte první cenný nález. Zaznamenejte výsledky, napište krátký report.

Týden 5–6: Rozšíření scénářů + CI/CD integrace

Přidejte network latency injection, DNS failure, disk pressure. Integrujte chaos experimenty do CI/CD pipeline — spouštějte je automaticky po deployi do staging. Pokud experiment selže (SSH se neverifikuje), deployment se zablokuje. Nastavte dashboard pro výsledky experimentů.

Týden 7–8: První produkční GameDay

Zorganizujte první GameDay s kontrolovaným blast radius v produkci. Začněte single pod kill s canary targeting. Postupně eskalujte. Dokumentujte nálezy, vytvořte action items, naplánujte follow-up GameDay za 4–6 týdnů.

Reálné chaos scénáře pro enterprise

Scénář 1: Availability Zone failure

Simulujte výpadek celé AZ. V AWS to znamená blackhole na všechny IP adresy v jedné AZ. Ověřte, že load balancer přesměruje traffic na zbývající AZ, že databáze provede failover, a že služba zůstane v rámci SLO. Tento test odhalí hidden single points of failure — služby, které tvrdí, že jsou multi-AZ, ale ve skutečnosti mají sticky sessions nebo stateful data v jedné AZ.

Scénář 2: Downstream dependency failure

Injektujte 100 % error rate na volání do downstream služby (payment gateway, email provider, third-party API). Ověřte, že circuit breaker se otevře, že fallback logika funguje (graceful degradation), a že systém nezačne kaskádově selhávat kvůli thread pool exhaustion. Toto je nejčastější nález v chaos experimentech — chybějící nebo špatně nakonfigurované circuit breakery.

Scénář 3: Resource exhaustion

Injektujte CPU stress, memory pressure nebo disk fill na subset podů. Ověřte, že Kubernetes HPA správně škáluje, že OOM killer zabije správný proces, že alerty se spustí včas a že tým má funkční runbook pro resource exhaustion.

Scénář 4: Certificate a secret expiration

Simulujte expiraci TLS certifikátu nebo rotaci database credentials. Tento scénář odhalí služby s hardcoded credentials, chybějící cert-manager konfigurace nebo secret rotation, která vyžaduje restart podu.

Chaos Engineering × SRE × Observability

Chaos Engineering není izolovaná disciplína. Funguje nejlépe jako součást širšího SRE a observability ekosystému:

  • SLO jako Steady State — Vaše SLO definice jsou přímo vaše Steady State Hypothesis. Chaos experiment ověřuje, že SLO drží i pod stresem.
  • Error budget jako governance — Chaos experimenty konzumují error budget. Pokud je error budget nízký, odkládáte agresivnější experimenty. Pokud je zdravý, máte prostor pro riskantnější testy.
  • Observability jako feedback loopOpenTelemetry traces a metriky jsou to, co vám umožňuje vidět dopad chaos experimentu v reálném čase. Bez distributed tracing je diagnostika nalezených problémů nemožná.
  • DevSecOps integrace — Chaos experimenty testují i security resilience: co se stane, když WAF dostane spike malicious trafficu? Jak reaguje rate limiter? Funguje graceful degradation při DDoS?
  • Postmortem → Chaos experiment — Každý produkční incident by měl generovat nový chaos experiment, který ověří, že oprava funguje a problém se neopakuje. To je nejcennější zdroj scénářů.

Anti-patterns — čeho se vyvarovat

  • Chaos without observability — Spouštět chaos experimenty bez funkčního monitoringu je jako dělat operaci poslepu. Nejdřív observability, pak chaos.
  • Chaos as punishment — Chaos engineering není nástroj k prokázání, že „tenhle tým má špatný kód”. Je to collaborative learning. Blameless culture je prerequisite.
  • Big bang approach — Začít rovnou multi-AZ failover testem v produkci je recept na katastrofu. Postupná eskalace je klíčová.
  • One-time event — Jednorázový GameDay je PR událost, ne chaos engineering. Hodnota přichází z opakování, automatizace a kontinuálního zlepšování.
  • Ignoring human factors — Chaos engineering testuje nejen technologii, ale i procesy a lidi. Fungují runbooky? Ví on-call, koho eskalovat? Jsou kontakty aktuální?

Závěr: Chaos Engineering je investice do spánku

Chaos Engineering v roce 2026 je zralá disciplína s vyspělými nástroji, formalizovanými procesy a prokazatelným ROI. Organizace, které pravidelně provádějí chaos experimenty, mají kratší MTTR, méně kritických incidentů a sebevědomější on-call inženýry. Nejde o to, jestli váš systém selže — selže. Jde o to, jestli to zjistíte v kontrolovaném experimentu v úterý dopoledne, nebo v produkčním výpadku v pátek o půlnoci.

Začněte jednoduše: observability → SLO → první chaos experiment ve staging → automatizace → produkční GameDay. Za 8 týdnů budete mít funkční chaos engineering program, který prokazatelně zlepšuje odolnost vašich systémů.

chaos engineeringresilience testinggamedaysreobservability