Delen via


Wat is Azure Chaos Studio?

Azure Chaos Studio is een beheerde service die gebruikmaakt van chaos-engineering om u te helpen uw cloudtoepassing en servicetolerantie te meten, te begrijpen en te verbeteren. Chaos engineering is een methodologie waarmee u echte fouten in uw toepassing injecteert om gecontroleerde experimenten voor foutinjectie uit te voeren.

Tolerantie is de mogelijkheid van een systeem om onderbrekingen te verwerken en te herstellen. Toepassingsonderbrekingen kunnen fouten en fouten veroorzaken die uw bedrijf of missie nadelig kunnen beïnvloeden. Of u nu Azure-toepassingen ontwikkelt, migreert of gebruikt, het is belangrijk om de tolerantie van uw toepassing te valideren en te verbeteren.

Chaos Studio helpt u negatieve gevolgen te voorkomen door te valideren dat uw toepassing effectief reageert op onderbrekingen en storingen. U kunt Chaos Studio gebruiken om tolerantie te testen tegen echte incidenten, zoals storingen of hoog CPU-gebruik op virtuele machines (VM's).

De volgende video biedt meer achtergrondinformatie over Chaos Studio:

Chaos Studio-scenario's

U kunt chaos-engineering gebruiken voor verschillende tolerantievalidatiescenario's die de levenscyclus van de serviceontwikkeling en operationele activiteiten omvatten. Er zijn twee soorten scenario's:

  • Naar rechts verschuiven: in deze scenario's wordt gebruikgemaakt van een productie- of preproductieomgeving. Normaal gesproken doet u shift-right-scenario's met echt klantverkeer of gesimuleerde belasting.
  • Naar links gaan: in deze scenario's kan een ontwikkel- of gedeelde testomgeving worden gebruikt. U kunt scenario's met shift-left uitvoeren zonder echt klantverkeer.

U kunt Chaos Studio gebruiken voor de volgende algemene chaos-engineeringscenario's:

  • Reproduceer een incident dat van invloed is op uw toepassing om de fout beter te begrijpen. Zorg ervoor dat herstel na incidenten verhindert dat het incident terugkeert.
  • Bereid u voor op een belangrijke gebeurtenis of seizoen met 'game day'-belasting, schaal, prestaties en tolerantievalidatie.
  • Voer bedrijfscontinuïteit en noodherstelanalyses uit om ervoor te zorgen dat uw toepassing snel kan herstellen en kritieke gegevens in een noodgeval kan bewaren.
  • Voer analyses voor hoge beschikbaarheid uit om toepassingstolerantie te testen op regiostoringen, netwerkconfiguratiefouten, stressgebeurtenissen of problemen met ruis.
  • Ontwikkel benchmarks voor toepassingsprestaties.
  • Capaciteitsbehoeften plannen voor productieomgevingen.
  • Voer stresstests of belastingstests uit.
  • Zorg ervoor dat services die zijn gemigreerd vanuit een on-premises of een andere cloudomgeving bestand blijven tegen bekende fouten.
  • Bouw vertrouwen in services die zijn gebouwd op cloudeigen architecturen.
  • Controleer of live sitehulpprogramma's, waarneembaarheidsgegevens en aanroepprocessen nog steeds in onverwachte omstandigheden werken.

Voor veel van deze scenario's bouwt u eerst tolerantie met behulp van ad-hoc chaos-experimenten. Vervolgens controleert u continu of nieuwe implementaties geen regressietolerantie hebben. U kunt dit controleren door chaosexperimenten uit te voeren als implementatiepoorten in uw pijplijnen voor continue integratie/continue implementatie.

Hoe Chaos Studio werkt

Met Chaos Studio kunt u veilige, gecontroleerde foutinjectie op uw Azure-resources organiseren. Chaos experimenten vormen de kern van Chaos Studio. Een chaos-experiment beschrijft de fouten die moeten worden uitgevoerd en de resources die moeten worden uitgevoerd. U kunt fouten ordenen om parallel of op volgorde uit te voeren, afhankelijk van uw behoeften.

Chaos Studio ondersteunt twee soorten fouten:

  • Service-direct: deze fouten worden rechtstreeks uitgevoerd op een Azure-resource, zonder installatie of instrumentatie. Voorbeelden hiervan zijn het opnieuw opstarten van een Azure Cache voor Redis-cluster of het toevoegen van netwerklatentie aan Azure Kubernetes Service-pods.
  • Op basis van agents: deze fouten worden uitgevoerd op VM's of virtuele-machineschaalsets om in-gastfouten uit te voeren. Voorbeelden hiervan zijn het toepassen van een virtuele geheugendruk of het doden van een proces.

Elke fout heeft specifieke parameters die u kunt configureren, zoals welk proces moet worden gedood of hoeveel geheugendruk moet worden gegenereerd.

Wanneer u een chaos-experiment bouwt, definieert u een of meer stappen die opeenvolgend worden uitgevoerd. Elke stap bevat een of meer vertakkingen die parallel in de stap worden uitgevoerd. Elke vertakking bevat een of meer acties, zoals het injecteren van een fout of het wachten op een bepaalde duur.

U organiseert resourcedoelen voor het uitvoeren van fouten in groepen genaamd selectors, zodat u eenvoudig naar een groep resources in elke actie kunt verwijzen.

In het volgende diagram ziet u de indeling van een chaos-experiment in Chaos Studio:

Diagram met de indeling van een chaos-experiment.

Een chaos-experiment is een Azure-resource in een abonnement en resourcegroep. U kunt Azure Portal of de Chaos Studio REST API gebruiken om de status van experimenten te maken, bij te werken, te starten, te annuleren en weer te geven.

Volgende stappen

Nu u begrijpt hoe u chaos-engineering kunt gebruiken, kunt u het volgende doen: