Mi az Az Azure Chaos Studio?

Az Azure Chaos Studio egy felügyelt szolgáltatás, amely a chaos engineering segítségével méri, értelmezi és javítja a felhőalkalmazások és szolgáltatások rugalmasságát. A chaos engineering egy olyan módszer, amellyel valós hibákat injektálhat az alkalmazásba szabályozott hibainjektálási kísérletek futtatásához.

A rugalmasság a rendszer azon képessége, hogy kezelje és helyreállítsa a fennakadásokat. Az alkalmazáskimaradások olyan hibákat és hibákat okozhatnak, amelyek hátrányosan érinthetik a vállalatot vagy a küldetést. Függetlenül attól, hogy Azure-alkalmazásokat fejleszt, migrál vagy üzemeltet, fontos ellenőrizni és javítani az alkalmazás rugalmasságát.

A Chaos Studio segít elkerülni a negatív következményeket, ha ellenőrzi, hogy az alkalmazás hatékonyan reagál-e a zavarokra és a hibákra. A Chaos Studióval tesztelheti a valós incidensekkel szembeni rugalmasságot, például a kimaradásokat vagy a virtuális gépek magas processzorhasználatát.

Az alábbi videó további hátteret nyújt a Chaos Studióról:

Chaos Studio-forgatókönyvek

A chaos engineering különböző rugalmasság-ellenőrzési forgatókönyvekhez használható, amelyek a szolgáltatásfejlesztési és üzemeltetési életciklusra terjednek ki. Kétféle forgatókönyv létezik:

  • Jobbra váltás: Ezek a forgatókönyvek éles vagy gyártás előtti környezetet használnak. Általában a valós ügyfélforgalommal vagy szimulált terheléssel rendelkező, shift-right forgatókönyveket kell elvégeznie.
  • Balra váltás: Ezek a forgatókönyvek fejlesztési vagy megosztott tesztkörnyezetet használhatnak. A shift-left forgatókönyveket valós ügyfélforgalom nélkül is elvégezheti.

A Chaos Studiót a következő gyakori káosztervezési forgatókönyvekhez használhatja:

  • Reprodukáljon egy incidenst, amely érintette az alkalmazást a hiba jobb megértése érdekében. Győződjön meg arról, hogy az incidens utáni javítások megakadályozzák az incidens ismétlődését.
  • Készüljön fel egy nagyobb eseményre vagy szezonra a "játék napja" terheléssel, skálázással, teljesítménnyel és rugalmasság-ellenőrzéssel.
  • Üzletmenet-folytonossági és vészhelyreállítási gyakorlatokat végezhet annak érdekében, hogy az alkalmazás gyorsan helyreálljon, és megőrizze a kritikus fontosságú adatokat egy katasztrófa esetén.
  • Magas rendelkezésre állású részletezésekkel tesztelheti az alkalmazás rugalmasságát a régiókimaradások, a hálózati konfigurációs hibák, a nagy terhelésű események vagy a zajos szomszéd problémák ellen.
  • Alkalmazásteljesítmény-teljesítménytesztek fejlesztése.
  • Tervezze meg az éles környezetek kapacitásigényét.
  • Stresszteszteket vagy terheléses teszteket futtathat.
  • Győződjön meg arról, hogy a helyszíni vagy más felhőkörnyezetből áttelepített szolgáltatások ellenállóak maradnak az ismert hibákhoz.
  • Magabiztosságot építhet a natív felhőbeli architektúrákra épülő szolgáltatásokba.
  • Ellenőrizze, hogy az élő webhely eszközkészlete, a megfigyelhetőségi adatok és az ügyeleti folyamatok továbbra is váratlan körülmények között működnek-e.

Sok ilyen forgatókönyv esetében először ad-hoc káoszkísérletekkel építheti ki a rugalmasságot. Ezután folyamatosan ellenőrzi, hogy az új üzemelő példányok nem fognak-e regressziós rugalmasságot visszafejteni. Az ellenőrzéshez üzembehelyezési kapuként futtatja a káoszkísérleteket a folyamatos integrációs/folyamatos üzembehelyezési folyamatokban.

A Chaos Studio működése

A Chaos Studióval biztonságos, ellenőrzött hibainjektálást vezényelhet az Azure-erőforrásokon. A chaos kísérletek a Chaos Studio magját képezik. A káoszkísérlet leírja a futtatandó hibákat és a futtatandó erőforrásokat. A hibák az igényeitől függően párhuzamosan vagy sorrendben is futtathatók.

A Chaos Studio kétféle hibát támogat:

  • Közvetlen szolgáltatás: Ezek a hibák közvetlenül egy Azure-erőforráson futnak, telepítés vagy rendszerállapot nélkül. Ilyen például egy Azure Cache for Redis-fürt újraindítása vagy hálózati késés hozzáadása az Azure Kubernetes Service-podokhoz.
  • Ügynökalapú: Ezek a hibák virtuális gépeken vagy virtuálisgép-méretezési csoportokban futnak a vendégen belüli hibák elvégzéséhez. Ilyenek például a virtuális memória terhelésének alkalmazása vagy egy folyamat megölése.

Minden hiba adott paraméterekkel rendelkezik, amelyeket konfigurálhat, például hogy melyik folyamatot kell megölni, vagy mekkora memóriaterhelést kell létrehoznia.

Káoszkísérlet létrehozásakor meghatároz egy vagy több lépést , amelyek egymás után futnak. Minden lépés egy vagy több ágat tartalmaz, amelyek párhuzamosan futnak a lépésen belül. Minden ág egy vagy több műveletet tartalmaz, például egy hiba beadását vagy egy bizonyos időtartamra való várakozást.

Az erőforrás-célokat úgy rendszerezheti, hogy a hibákat kijelölő csoportokba futtassa, így az egyes műveletekben egyszerűen hivatkozhat egy erőforráscsoportra.

Az alábbi ábra egy káoszkísérlet elrendezését mutatja be a Chaos Studióban:

Diagram that shows the layout of a chaos experiment.

A káoszkísérlet egy Azure-erőforrás egy előfizetésben és erőforráscsoportban. Az Azure Portal vagy a Chaos Studio REST API használatával létrehozhatja, frissítheti, elindíthatja, megszakíthatja és megtekintheti a kísérletek állapotát.

További lépések

Most, hogy megismerte a káosztervezés használatát, készen áll a következőre: