Vad är förhandsversionen av Azure Chaos Studio?

Azure Chaos Studio är en hanterad tjänst för att förbättra återhämtningsförmågan genom att mata in fel i dina Azure-program. Genom att köra kontrollerade felinjektionsexperiment mot dina program, en metod som kallas chaos engineering, kan du mäta, förstå och förbättra återhämtningen mot verkliga incidenter, till exempel ett regionavbrott eller programfel som orsakar hög CPU-användning på en virtuell dator.

Varför ska jag använda Chaos Studio?

Oavsett om du utvecklar ett nytt program som ska finnas i Azure, migrerar ett befintligt program till Azure eller kör ett program som redan körs i Azure, är det viktigt att validera och förbättra programmets återhämtningsförmåga. Motståndskraft är ett systems förmåga att hantera och återställa efter avbrott. Avbrott i programmets tillgänglighet kan resultera i fel och fel för användare, vilket i sin tur kan ha negativa konsekvenser för verksamheten eller affärsidén.

När du kör ett program i molnet måste du för att undvika dessa negativa konsekvenser verifiera att ditt program svarar effektivt på avbrott som kan orsakas av en tjänst som du är beroende av, avbrott som orsakas av ett fel i själva tjänsten eller till och med avbrott i verktyg och processer för incidenter. Med chaos-experimentering kan du testa att ditt molnbaserade program är motståndskraftigt mot fel.

När ska jag använda Chaos Studio?

Chaos Engineering kan användas för en mängd olika valideringsscenarier för motståndskraft. De här scenarierna omfattar hela livscykeln för tjänstutveckling och drift och kan kategoriseras som antingen skift höger, där scenariot bäst valideras i en produktions- eller förproduktionsmiljö eller skift vänster, där scenariot kan valideras i en utvecklingsmiljö eller en delad testmiljö. Normalt bör scenarier med skift höger utföras med verklig kundtrafik eller simulerad belastning, medan scenarier med skift vänster kan utföras utan någon verklig kundtrafik. Några vanliga scenarier där chaos engineering kan tillämpas är:

  • Återskapa en incident som har påverkat ditt program för att bättre förstå felläget eller se till att reparationsobjekt efter incidenten förhindrar att incidenten upprepas.
  • Köra "speldagar" – belastnings-, skalnings-, prestanda- och återhämtningsverifiering av en tjänst som förberedelse inför en större användarhändelse eller säsong.
  • Genom att utföra BCDR-granskningar (affärskontinui/haveriberedskap) ser du till att om ditt program påverkas av en större katastrof kan det snabbt återställas och kritiska data bevaras.
  • Köra tester med hög tillgänglighet för att testa programmets motståndskraft mot specifika fel, till exempel regionavbrott, nätverkskonfigurationsfel, hög belastningshändelser eller problem med störningar.
  • Utveckla prestandatest för program.
  • Planera kapacitetsbehov för produktionsmiljöer.
  • Köra stresstester eller belastningstester.
  • Se till att tjänster som migreras från en lokal eller annan molnmiljö förblir motståndskraftiga mot kända fel.
  • Skapa förtroende för tjänster som bygger på molnbaserade arkitekturer.
  • Validering av live-webbplatsverktyg, observerbara data och jourprocesser fungerar som förväntat under oväntade förhållanden.

I många av de här scenarierna bygger du först motståndskraft med ad hoc-experiment och sedan kontinuerligt validerar du att nya distributioner inte regregrerar återhämtningen med hjälp av chaos-experiment som en distributionsgrind i CI/CD-pipelinen.

Hur fungerar Chaos Studio?

Med Chaos Studio kan du dirigera felinjektion på dina Azure-resurser på ett säkert och kontrollerat sätt. Kärnan i Chaos Studio är ett kaosexperiment. Ett kaosexperiment är en Azure-resurs som beskriver de fel som ska köras och de resurser som felen ska köras mot. Fel kan organiseras så att de körs parallellt eller sekventiellt, beroende på dina behov. Chaos Studio stöder två typer av fel – tjänst direkta fel som körs direkt mot en Azure-resurs utan installation eller instrumentation (till exempel omstart av ett Azure Cache for Redis-kluster eller tillägg av nätverksfördröjning till AKS-poddar) och agentbaserade fel som körs i virtuella datorer eller VM-skalningsuppsättningar för att utföra gästfel (till exempel tillämpa virtuellt minnestryck eller avliva en process). Varje fel har specifika parametrar som du kan styra, till exempel vilken process som ska åtgärdas eller hur mycket minnestryck som ska genereras.

När du skapar ett kaosexperiment definierar du ett eller flera steg som körs sekventiellt, varje steg som innehåller en eller flera grenar som körs parallellt i steget och varje gren som innehåller en eller flera åtgärder, till exempel att mata in ett fel eller vänta under en viss tid. Slutligen ordnar du deresurser (mål) som varje fel kommer att köras mot i grupper som kallas väljare så att du enkelt kan referera till en grupp med resurser i varje åtgärd.

Diagram som visar layouten för ett kaosexperiment.

Ett kaosexperiment är en Azure-resurs som finns i en prenumeration och resursgrupp. Du kan använda Azure Portal eller Chaos Studio-REST API för att skapa, uppdatera, starta, avbryta och visa status för ett experiment.

Nästa steg

Kom igång med att skapa och köra chaos-experiment för att förbättra programmets återhämtningsförmåga med Chaos Studio med hjälp av länkarna nedan.