Pochopení chaosu a odolnosti
Než začnete používat Azure Chaos Studio, je užitečné pochopit základní koncepty techniky spolehlivosti webů, které se používají.
Co je odolnost?
Nikdy nebylo jednodušší vytvářet rozsáhlé distribuované aplikace. Infrastruktura je hostovaná v cloudu a podpora programovacích jazyků je různorodá. Existuje také mnoho opensourcových a hostovaných komponent a služeb, na kterých je potřeba stavět.
Bohužel neexistuje žádná záruka spolehlivosti pro tyto základní komponenty a závislosti nebo pro systémy založené na nich. Infrastruktura může přejít do offline režimu a přerušení služeb nebo výpadky můžou nastat kdykoli. Menší přerušení v jedné oblasti lze zvětšit a mít dlouhodobé vedlejší účinky v jiné.
Aplikace a služby musí plánovat a pojmout problémy, jako jsou:
- Výpadky služeb.
- Přerušení známých a neznámých závislostí
- Náhlá neočekávaná zátěž.
- Latence v celém systému.
Aplikace a služby musí být navržené tak, aby zvládly selhání a byly posíleny proti přerušení.
Aplikace a služby, které se zabývají důrazem a problémy, jsou elegantně odolné. Spolehlivost jednotlivých komponent je dobrá, ale odolnost je vlastností celého systému. Odolnost komplexního systému musí být ověřena v integrovaném produkčním prostředí s podmínkami a zatížením, kterým čelí produkční prostředí.
Co jsou chaosové inženýrství a injektáž chyb?
- Chaos engineering: Praxe předmětu aplikací a služeb na skutečném světě zdůrazňuje a selhání. Cílem je sestavit a ověřit odolnost vůči nespolehlivým podmínkám a chybějícím závislostem.
- Injektáž chyb: Akce zavedení chyby do systému. K cílovým systémovým komponentám můžete použít různé chyby, jako je latence sítě nebo ztráta přístupu k úložišti. Můžete vytvořit scénáře, ze kterého musí být aplikace nebo služba schopná zpracovat nebo obnovit.
Experiment chaosu je použití chyb jednotlivě, paralelně nebo postupně proti jednomu nebo více prostředkům nebo závislostem předplatného. Cílem je monitorovat chování a stav systému, abyste mohli reagovat na případné problémy, které nastanou.
Experiment může představovat skutečný scénář, jako je výpadek napájení datacentra nebo latence sítě na server DNS. Dá se také použít k simulaci hraničních podmínek, ke kterým dochází. Příkladem jsou nákupní předprodeje Black Friday nebo když vstupenky na koncerty jdou koupit pro oblíbenou kapelu.