Mi az az Azure Chaos Studio előzetes verziója?

Az Azure Chaos Studio egy felügyelt szolgáltatás, amely javítja a rugalmasságot azáltal, hogy hibákat injektál az Azure-alkalmazásokba. Szabályozott hibainjektálásos kísérletek futtatása az alkalmazásokon– ez a káosztervezés néven ismert eljárás – segít mérni, megérteni és javítani a valós incidensekkel szembeni rugalmasságot, például egy régiókimaradást vagy az alkalmazáshibákat, amelyek magas PROCESSZORkihasználtságot okoznak egy virtuális gépen.

Miért használjam a Chaos Studiót?

Függetlenül attól, hogy olyan új alkalmazást fejleszt, amely az Azure-ban lesz üzemeltetve, vagy egy meglévő alkalmazást mi egyik Azure-ba miratingl, vagy egy már az Azure-on futó alkalmazást üzemeltet, fontos ellenőrizni és javítani az alkalmazás rugalmasságát. A rugalmasság a rendszernek az a képessége, hogy kezelni tudja a fennakadásokat, és helyre tudja állítani azt. Az alkalmazás rendelkezésre állásának megszakadása hibákat és hibákat eredményezhet a felhasználók számára, ami negatív hatással lehet az üzletre vagy a küldetésre.

Ha egy alkalmazást a felhőben futtat, a negatív következmények elkerülése érdekében ellenőriznie kell, hogy az alkalmazás hatékonyan reagál-e az Ön által használt szolgáltatás által okozott kimaradásokra, a szolgáltatás meghibásodása által okozott fennakadásokra, vagy akár az incidensválasz-eszközök és folyamatok megszakítására. A káoszkísérletek lehetővé teszik annak tesztelését, hogy a felhőben üzemeltetett alkalmazás ellenáll-e a hibáknak.

Mikor használjam a Chaos Studiót?

A chaos engineering számos különböző rugalmasság-ellenőrzési forgatókönyvhöz használható. Ezek a forgatókönyvek a teljes szolgáltatásfejlesztési és -műveleti életciklusra vonatkoznak, és vagy jobbra tolódásként kategorizálhatóak, ahol a forgatókönyvet éles vagy üzem előtti környezetben, vagy balra tolva lehet ellenőrizni, ahol a forgatókönyv érvényesíthető fejlesztési vagy megosztott tesztkörnyezetben. A megfelelő váltási forgatókönyveket általában valós ügyfélforgalommal vagy szimulált terheléssel kell tenni, míg a balra tolódásos forgatókönyveket valós ügyfélforgalom nélkül lehet. Néhány gyakori forgatókönyv, ahol a káosztervezés alkalmazható:

  • Olyan incidens reprodukálása, amely hatással volt az alkalmazásra, hogy jobban megértse a hiba módját, vagy hogy az incidens utáni javítási elemek megakadályozzák az incidens ismétlődő előfordulását.
  • A "játék napjainak" futtatása – egy szolgáltatás terhelésének, méretezésének, teljesítményének és rugalmasságának ellenőrzése egy nagyobb felhasználói eseményre vagy évszakra való felkészülés során.
  • Üzletmenet-folytonossági/vészhelyreállítási (BCDR) próba végrehajtása annak biztosításához, hogy ha az alkalmazást súlyos katasztrófa érintette, az gyorsan helyreállítható és megőrizhető legyen a kritikus fontosságú adatokon.
  • Magas rendelkezésre állású próbák futtatásával tesztelheti az alkalmazás rugalmasságát bizonyos hibákkal, például régiókimaradásokkal, hálózati konfigurációs hibákkal, magas terhelési eseményekkel vagy zajos szomszédokkal kapcsolatos problémák esetén.
  • Alkalmazásteljesítmény-teljesítménytesztek fejlesztése.
  • Kapacitási igények tervezése éles környezetekhez.
  • Terheléses tesztek vagy terheléses tesztek futtatása.
  • Annak biztosítása, hogy a helyszíni vagy más felhőalapú környezetből migrált szolgáltatások rugalmasak maradjanak az ismert hibákkal szemben.
  • A felhőbeli natív architektúrákra épített szolgáltatások megbízhatóságának kiépítése.
  • Az élő webhely-eszközök, a megfigyelhetőségi adatok és az on-call folyamatok várt módon, váratlan körülmények között működnek.

Ezen forgatókönyvek közül sok esetében először ad-hoc káoszkísérletek használatával építi ki a rugalmasságot, majd folyamatosan ellenőrzi, hogy az új üzemelő példányok nem regressziós rugalmasságot fognak-e visszafejteni a káoszkísérletek használatával a CI-/CD-folyamat üzembe helyezési kapujaként.

Hogyan működik a Chaos Studio?

A Chaos Studio lehetővé teszi az Azure-erőforrások hibabejektálásának biztonságos és szabályozott módon való vezénylét. A Chaos Studio központi része a káoszkísérlet. A káoszkísérletek olyan Azure-erőforrások, amelyek leírják a futtatni szükséges hibákat és azokat az erőforrásokat, amelyeken ezeknek a hibáknak futniuk kell. A hibák igény szerint párhuzamos vagy szekvenciálisan is rendszerezhetőek. A Chaos Studio kétféle hibát támogat: a szolgáltatásalapú hibákat, amelyek telepítés és rendszerezés nélkül futnak közvetlenül az Azure-erőforrásokon (például egy Azure Cache for Redis-fürt újraindítása vagy hálózati késés hozzáadása az AKS-podok számára), valamint az ügynökalapú hibákat, amelyek virtuális gépeken vagy virtuálisgép-méretezési csoportokban futnak a vendégen futtatott hibák (például virtuális memória nyomásának alkalmazása vagy egy folyamat lenyomása). Minden hiba egyedi paraméterekkel rendelkezik, amelyek szabályozhatóak, például hogy melyik folyamatot kell le mondani, vagy mekkora memórianyomást kell létrehozni.

A káoszkísérletek során egy vagy több egymást követő lépést kell meghatároznia. Minden lépés egy vagy több ágat tartalmaz, amelyek párhuzamosan futnak a lépésben, és mindegyik ág egy vagy több műveletet tartalmaz, például egy hiba beinjektálása vagy egy bizonyos időtartamra való várakozás. Végül rendszerezheti az erőforrásokat(célokat), amelyeken az egyes hibákat választóknak nevezett csoportokba rendezi, így minden műveletben egyszerűen hivatkozhat az erőforrások egy csoportjára.

Egy káoszkísérlet elrendezését ábrázoló diagram.

A káoszkísérlet egy előfizetésben és erőforráscsoportban élő Azure-erőforrás. A kísérlet Azure Portal a Chaos Studio REST API használatával létrehozhat, frissíthet, elindíthat, megszakíthat és megtekinthet egy kísérletet.

Következő lépések

Az alábbi hivatkozások használatával elkezdheti létrehozni és futtatni a káoszkísérleteket, hogy javítsa az alkalmazások rugalmasságát a Chaos Studióban.