Jak na Azure Chaos studio v praxi

Jak na Azure Chaos studio v praxi

pátek , srpen 18, 2023

V tomto návodu se podíváme hlouběji pod pokličku Chaos studiu od Microsoftu, popíšeme si základní funkce, čím přesně se zabývá a uděláme si testovací experiment.

V mém předchozím článku zde se podrobně zabývám teoretickou částí a definicemi co je to přesně Azure Chaos studio. Teď už půjdeme do praktické ukázky a čeho je Chaos studio schopno a jak jsou jeho experimenty důležité. 

Chaos studio nic nesimuluje! V reálném prostředí vytváří reálné situace výpadků a katastrof, které mohou nastat.

Je zapotřebí být velmi opatrný při experimentování, protože Azure Chaos studio nic nesimuluje. Vše reálně provádí jako by nastala katastrofa či výpadek.

Základní pojmy

Targets - toto jsou cíle neboli zdroje, které si vybíráme pro naše testování. Ideální mít zvlášť resource group a v ní zdroje, kde experimentuji. 

Service-direct - cíle mohou být testované na úrovni zdroje, což znamená v Azure cloudu. Příkladem může být vypnutí virtuálky, přerušení síťového provozu nebo komunikace mezi zdroji atd.

Agent-based - Testování přímo ve virtuálce, nebo VMSS jako jsou zabití procesu, zatížení procesoru atd. Pouze pro VM nebo VMSS. 

Cíle a možnosti jejich připojení do experimentů
U VM a VMSS jde nastavit jak service, tak i agent target.

U Agenta je zapotřebí mít založenou vlastní user managed identitu, která na virtuálku nainstaluje Agenta jako extension. 

Instalace Agenta s MI
Agent je nainstalovaný na virtuálce

Experiment - zadání celého procesu, co přesně chceme dělat za experiment včetně jednotlivých kroků. 

Step - jednotlivé kroky, které se spouští za sebou. Jakmile jeden krok skončí, začne druhý. 

Branch - sestává se z jednotlivých akcí, které nakonfigurujeme, jako třeba zatížení procesoru. Jednotlivé branch v jednom kroku běží paralelně. Můžeme mít tedy několik branch v jednom kroku, které poběží souběžně. 

Testovací experiment

Pro náš experiment jsem si zvolil VMSS, kde mám 2 virtuálky v základu a automatické pravidlo škálování, že když zatížím procesor nad 70 %, pak se mi spustí nová virtuálka. Chci si ověřit, zda to tak bude fungovat. 

Ve svém prostředí již mám založenou resource group, v ní mám VMSS a tam mi běží 2 instance. 

VMSS s 2 instancema v RG Chaostest
2 běžící instance na "prázdno"

Poté jdeme do Azure Chaos Studio a přidáme naše VMSS i dvě virtuálky do Targetů. 

Přidáme Agenta na VMSS

Jak přidat Agenta jsme si ukazovali výše. Je zaptořebí managed identity. 

Jakmile máme hotovo, pak si zkontrolujeme, zda je opravdu na každé instanci vidět Agent. 

Agent na každé instanci

Poté můžeme v klidu přejít na experimenty a vytvořit nový experiment. 

Klikneme na nový experiment

Nejdůležitější částí vytvoření nového experimentu je "Experiment Designer", kde si nastavujeme, jaké přesně experimenty chceme provádět. Důležité je porozumět rozdílu mezi "STEP" a "Branch", což jsem již vysvětloval výše. Pro můj experiment si zvolím zatížení CPU na 90 % po dobu 30 minut a pro 2 instance. 

Poté si vyberu svuj VMSS a potvrdím. 

Poté co dokončím schéma všech kroků, které budou následovat, tak mohu založit svůj první experiment. 

Experiment založený

Společně s novým experimentem byla založená i systémová managed identita. Ta se musí přiřadit s rolí "OWNER" k resource group, kde se nachází naše virtuálky a instance. Jinak to nebude fungovat. 

System MI musíme s rolí "OWNER" přiřadit k RG!

Poté se můžeme vrátit do Chaos Studia a začít s experimentem. 

Jakmile spustíme test, pak nám vyletí vytížení CPU na 30 minut na 90 % a tudíž se nám musí z hlediska škálování a odolnosti systému založit další instance, aby zatížení zvládlo. 

Jakmile test doběhne, pak vidíme detaily jako na obrázku

V grafu zatížení procesoru je vidět téměř 100 % aktivita a tudíž se test vydařil. 

Pokud si najdu přehled svých instancí u VMSS, pak uvidím, že se mi rozběhly další instance a tudíž test proběhl v pořádku a extrémní zatížení nezpůsobilo žádný výpadek služby. 

Naběhnutí dalších instancí při zatížení

Závěr

Je zapotřebí nejdříve pochopit veškeré detaily a pojmy vyskytující se v Azure Chaos Studio. Jakou mají jednotlivé kroky posloupnost a také vědět, že musím přiřadit do resource group managed identitu, abych mohl experimenty spustit. Služba je stále v preview a proto ještě těch několik much se snad brzy odstraní. Na druhou stranu je to silný nástroj k ověření stability a odolnosti našeho prostředí. 

Zatím žádné komentáře
Vyhledávání