Vytvoření kanálu průběžného ověřování
I když můžete zátěžové testy a experimenty chaosu spouštět ručně, doporučujeme použít automatizovaný proces. To uděláte tak, že do kanálů kontinuální integrace i průběžného doručování (CI/CD) integrujete ověřovací testy a výsledky se automaticky porovnávají s předdefinovanými směrnými plány.
V této lekci se dozvíte, jak pomocí kanálů CI/CD automatizovat proces průběžného ověřování.
Výhody automatizace ověřovacích testů
Tato technika snižuje vstupní bariéru a úsilí spojené s touto aktivitou. Vývojáři a provozní pracovníci ho můžou používat jako součást každé vydané verze nebo významné změny, což zlepšuje kvalitu a konzistenci testovacích běhů.
Souběžné spouštění zátěžových testů a experimentů chaosu pomáhá sledovat chování systému v prostředí, které simuluje provoz z reálného světa. Účelem je předpovědět selhání a neporušit systém.
Při spouštění zátěžových testů zvažte úpravu směrných plánů v určitých situacích. Můžete například přijmout vyšší dobu odezvy, když určitá komponenta selže, ale přesto očekáváte, že test projde.
Nastavení automatizovaných kanálů
K vytvoření kanálu CI/CD můžete použít Azure Pipelines, GitHub Actions nebo nástroj CI/CD podle vašeho výběru. Tento obrázek znázorňuje kompletní fáze kanálu v Azure DevOps.
V kanálu definujte služby Azure Load Testing a Azure Chaos Studio jako infrastrukturu jako kód (IaC) pomocí nástroje, jako jsou šablony Azure Resource Manageru, Bicep nebo Terraform. Azure Load Testing poskytuje pro Azure Pipelines a GitHub Actions úlohy první strany pro interakci se službou zátěžového testování a vytváření a orchestraci testů.
Chcete-li správně zobrazit dopad vloženého selhání, ujistěte se, že se zátěžový test spustí před vkládáním chyb. Po dokončení experimentu chaosu pokračujte ve spuštění testu.
Analyzujte neúspěšné zátěžové testy a zjistěte, jestli je směrný plán stále přesný nebo jestli je potřeba upravit.
Ukázka: Automatizované průběžné ověřování
Toto video ukazuje, jak integrovat Azure Load Testing a Azure Chaos Studio do kanálu Azure CI/CD.