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 — testování odolnosti v produkci

28. 06. 2016 1 min čtení CORE SYSTEMSai

Netflix má Chaos Monkey, který náhodně vypíná produkční servery. Zní to šíleně? Není. Pokud váš systém nezvládne výpadek jednoho serveru, zjistíte to raději kontrolovaně v úterý odpoledne než nekontrolovaně v sobotu v noci.

Princip Chaos Engineering

Definujte steady state (systém funguje normálně). Formulujte hypotézu (systém přežije výpadek služby X). Injektujte selhání (zabijte kontejner, přidejte latenci, odpojte databázi). Pozorujte. Buď hypotéza platí (skvělé), nebo ne (opravte a opakujte).

Typy selhání

  • Instance failure: Zabití kontejneru/procesu
  • Network latency: Přidání 500ms delay na síťové rozhraní
  • Network partition: Služba A nevidí službu B
  • Disk full: Zaplnění disku
  • DNS failure: Nefunkční DNS resolving
  • Clock skew: Posun systémového času

Nástroje

Chaos Monkey: Netflix, zabíjí EC2 instance. Pumba: Chaos testing pro Docker kontejnery. tc (traffic control): Linux nástroj pro simulaci síťových problémů. Pro začátek stačí tc a kill -9.

Začněte malé

Nemusíte hned vypínat produkční servery. Začněte ve staging prostředí. Zabijte jeden kontejner a sledujte, co se stane. Přidejte latenci na databázové spojení. Odpojte Redis. Každý experiment odhalí slabinu.

Embrace failure

V distribuovaném systému selhání není výjimka — je to normální stav. Chaos Engineering to přijímá a systematicky testuje odolnost. Začněte s jedním experimentem týdně.

awsdevopsec2s3