Megbízhatóság Azure Container Apps tesztkörnyezetekben

Azure Container Apps tesztkörnyezetek izolált környezetet biztosítanak a kód futtatásához. Minden tesztkörnyezet egy kis méretű virtuális gépen (microVM) fut, amely kevesebb mint egy másodperc alatt indul el, és felfüggesztve megőrizheti a memóriában lévő állapotát. A szolgáltatás a tesztkörnyezet számítási feladatainak megbízhatóságát az Ön által konfigurált képességeken és a platform által az Ön nevében kezelt képességeken keresztül támogatja.

Az Azure használatakor a megbízhatóság közös felelősség. A Microsoft számos lehetőséget kínál a rugalmasság és a helyreállítás támogatására. Ön a felelős azért, hogy megértse, hogyan működnek ezek a képességek az összes használt szolgáltatáson belül, és válassza ki azokat a képességeket, amelyekre szüksége van az üzleti célok és az üzemidő céljainak eléréséhez.

Ez a cikk azt ismerteti, hogyan teheti rugalmassá a Container Apps-tesztkörnyezeteket az átmeneti hibák, a rendelkezésre állási zónák hibái, a régiószintű hibák és a szolgáltatáskarbantartás miatt. Emellett ismerteti a biztonsági mentési és visszaállítási lehetőségeket, valamint a szolgáltatásiszint-szerződéssel (SLA) kapcsolatos legfontosabb információkat.

A termelési üzembe helyezési javaslatok a megbízhatóság érdekében

Gyártási feladatokhoz az alábbiakat javasoljuk:

  • Tároljon tartós adatokat a tesztkörnyezet memóriája mellett, és válasszon a helyreállítási céloknak megfelelő tárolóredundancia-beállítást. Használjon tesztkörnyezet-köteteket azokhoz az adatokhoz, amelyeknek a tesztkörnyezet leállásakor kell megmaradnia. A régiószintű hibákkal szembeni rugalmasság érdekében használjon egy külső adattárat, amely adatokat replikál egy másik régióba.

    A Azure Blob Storage használatakor a georedundáns tárolás (GRS) egy párosított régióba replikálja az adatokat. Nem támogatott régiók esetén helyezzen üzembe külön tárfiókokat, és konfiguráljon egy támogatott replikációs módszert, például a blokkblobok objektumreplikálását. További információ: Egyéni többrégiós megoldások Azure Blob Storage.

  • Több régióban helyezzen üzembe különálló sandboxcsoportokat, ha a rendelkezésre állási cél nem érhető el egyrégiós üzembe helyezéssel. További információ: Rugalmasság régiószintű hibák esetén.

A megbízhatósági architektúra áttekintése

Ez a szakasz a szolgáltatás megbízhatóság szempontjából leginkább releváns működésének néhány fontos aspektusát ismerteti. A szakasz bemutatja a logikai architektúrát, amely tartalmazza a telepített és használt erőforrásokat és funkciókat. Emellett a fizikai architektúrát is ismerteti, amely részletesen bemutatja, hogyan működik a szolgáltatás a borítók alatt.

Logikai architektúra

Azure Container Apps különböző számítási lehetőségeket biztosít alkalmazásokhoz, feladatokhoz, dinamikus munkamenetekhez és tesztkörnyezetekhez. A sandboxcsoporthoz nincs szükség Container Apps-környezetre. Az egyéb Container Apps-összetevők megbízhatóságáról további információt a Azure Container Apps megbízhatósága című témakörben talál.

A Container Apps tesztkörnyezetek fő erőforrásai a következők:

  • Tesztkörnyezeti csoport: A tesztkörnyezetcsoport a tesztkörnyezetek legfelső szintű regionális felügyeleti határa, és az erőforrástípust Microsoft.App/sandboxGroups használja. Minden sandbox, lemezkép, pillanatkép, kötet és bizalmas konfigurációs érték (titkos adatok) egy sandboxcsoporthoz tartozik.

  • Tesztkörnyezet: Minden tesztkörnyezet egy egyszerű, izolált mikroVM, amely lemezképből vagy pillanatképből fut, és saját CPU-val, memóriával, helyi lemezzel és hálózati határokkal rendelkezik.

    A lemezkép egy Open Container Initiative (OCI) tárolórendszerkép, amely tesztkörnyezeti gyökér fájlrendszerként való használatra lett konvertálva.

    A pillanatképek a tesztkörnyezet teljes állapotának időponthoz kötött rögzítése, amely a forrás tesztkörnyezettől függetlenül is megmarad.

    A tesztkörnyezet állapota lehet futó vagy leállított. Ha egy tesztkörnyezet automatikusan vagy kérésre leáll, felszabadítja a számítási erőforrásait. A memória mód megőrzi a tesztkörnyezet teljes memóriaképét és a helyi lemezt. A lemez mód csak a helyi lemezt őrzi meg, így a mikroVM és folyamatai újraindulnak a tesztkörnyezet folytatásakor.

  • Kötetek: A helyi lemez egy adott tesztkörnyezethez tartozik. Egy tesztkörnyezeti kötet perzisztens tárolást biztosít, amely egy adott tesztkörnyezettől függetlenül létezik. Egyszerre több tesztkörnyezetbe is csatlakoztathat Azure Blob Storage köteteket, míg a Azure Disk Storage által támogatott adatlemezkötetek egyszerre csak egy tesztkörnyezetbe csatlakoztathatók. A háttértár szolgáltatás határozza meg a kötetadatok tartóssági és helyreállítási lehetőségeit.

További információ a tesztkörnyezet architektúrájáról és az erőforrásokról: Azure Container Apps Tesztkörnyezetek áttekintése.

Fizikai architektúra

A sandboxok több független számítási klaszteren futnak, amelyeket a Microsoft üzemeltet. Ön a felelős a tesztkörnyezeti csoportok, tesztkörnyezetek és egyéb üzembe helyezett erőforrások konfigurálásáért. A Microsoft felelős a fürt üzembe helyezéséért, konfigurálásáért, kapacitáskezeléséért, állapotfigyeléséért és karbantartásáért. Nem választhatja ki, helyezheti üzembe, konfigurálhatja és kezelheti a fürtöket. A szolgáltatás az új tesztkörnyezeteket megfelelően működő fürtökön ütemezi, újraindítja a leállított tesztkörnyezeteket, és az elhelyezéseket a nem megfelelően működő fürtök elkerülésével irányítja.

Microsoft redundáns állapottárolókat tart fenn a szolgáltatáskonfigurációhoz, a tesztkörnyezet metaadataihoz és összetevőihez, például lemezképekhez és pillanatképekhez.

Rugalmasság átmeneti hibákhoz

Az átmeneti hibák rövid, időszakos meghibásodások a komponensekben. Gyakran előfordulnak elosztott környezetben, például a felhőben, és ezek a műveletek szokásos részei. Az átmeneti hibák rövid idő elteltével kijavítják magukat. Fontos, hogy az alkalmazások kezelni tudják az átmeneti hibákat, általában az érintett kérések újrapróbálásával.

Minden felhőalapú alkalmazásnak követnie kell az Azure átmeneti hibakezelési útmutatóját, amikor a felhőben üzemeltetett API-kkal, adatbázisokkal és egyéb összetevőkkel kommunikálnak. További információ: Javaslatok átmeneti hibák kezelésére.

A Container Apps tesztkörnyezetek használatakor vegye figyelembe a megoldás következő részeinek átmeneti hibáit:

  • Tesztkörnyezet-kezelési műveletek: Ha az automatizálás tesztkörnyezetcsoportokat, tesztkörnyezeteket vagy kapcsolódó erőforrásokat kezel, próbálkozzon újra az átmeneti hibák miatt meghiúsuló kérésekkel, és használjon exponenciális visszatartást. Korlátozza az újrapróbálkozási kísérletek számát, és csak olyan műveleteket próbálkozzon újra, amelyek biztonságosan megismételhetőek.

  • Tesztkörnyezetben futó kód: Átmeneti hibakezelés implementálása külső API-kba, adatbázisokba és egyéb szolgáltatásokba irányuló hívásokhoz. Kövesse az egyes függőségek újrapróbálkozási útmutatóját, mert az újrapróbálkozási viselkedés és a biztonságosan megismételhető műveletek szolgáltatásonként eltérőek.

Rugalmasság a rendelkezésre állási zóna hibáival szemben

A Container Apps sandboxai nem támogatják a sandboxcsoport egy adott rendelkezésre állási zónába való üzembe helyezését, illetve a zónaredundanciát. Ha rugalmassá szeretné tenni a számítási feladatot a rendelkezésre állási zónák hibáival szemben, helyezzen üzembe különálló tesztkörnyezetcsoportokat több régióban. További információ: Rugalmasság régiószintű hibák esetén.

Rugalmasság régiószintű hibákhoz

A Container Apps Tesztkörnyezetek egy régiós szolgáltatás. Ha a régió elérhetetlenné válik, a tesztkörnyezeti csoportok és a bennük lévő tesztkörnyezetek szintén elérhetetlenné válnak. A szolgáltatás nem replikálja a tesztkörnyezetcsoportokat vagy tesztkörnyezeteket régiók között, és nem hajtja végre automatikusan a feladatátvételt egy másik régióba. Azonban több régióban is üzembe helyezhet külön tesztkörnyezetcsoportokat. Önnek kell elérhetővé tennie a függőségeket az egyes régiókban, és kezelnie kell a számítási feladatok elosztását és feladatátvételét. További információ: Egyéni többrégiós megoldások a rugalmassághoz.

Régiószintű hiba esetén előfordulhat, hogy egy futó tesztkörnyezet memóriájában lévő állapot elveszik. A tesztkörnyezeti csoportok, a tesztkörnyezetek és a szolgáltatás által felügyelt összetevők az érintett régióban mindaddig nem érhetők el, amíg a régió helyre nem áll.

A tesztkörnyezet kötetei olyan tárolót biztosítanak, amely az egyes tesztkörnyezetek életciklusán túl is megmarad. Régiószintű hiba esetén a kötetek rendelkezésre állása és helyreállítása a háttértárszolgáltatástól és annak konfigurációjától függ. A Container Apps tesztkörnyezetei nem biztosítanak régiók közötti replikációt vagy feladatátvételt a kötetadatokhoz. Ehelyett a háttértár szolgáltatás biztosítja ezeket a képességeket a konfiguráláskor. Ha például Azure Blob Storage kötetekről van szó, tekintse meg Azure Blob Storage megbízhatóságát.

Egyéni többrégiós megoldások a rugalmasság érdekében

Az Azure Container Apps Sandboxes nem hangolja össze a több régióra kiterjedő üzembe helyezéseket, és nem replikálja a tesztkörnyezetcsoportokat, a tesztkörnyezeteket és a hozzájuk kapcsolódó erőforrásokat a régiók között. Egyéni többrégiós megoldás létrehozásához a következő feladatokat kell ellátnia:

  • Régiónkénti üzembe helyezések és függőségek: Minden olyan régióban, amelyet használni tervez, helyezzen üzembe egy külön sandboxcsoportot. Az egyes régiókban elérhető konfiguráció, lemezképek, titkos kódok és egyéb függőségek megőrzése.

  • Hibaészlelés és számítási feladatok helyreállítása: Konfigurálja az alkalmazás- vagy vezénylési réteget úgy, hogy észlelje, ha egy régió nem érhető el, irányítsa az új tesztkörnyezet létrehozását és a számítási feladatok feldolgozását egy kifogástalan állapotú régióba, és határozza meg, hogyan lehet újraindítani a megszakított munkát.

  • Forgalomirányítás: Ha az ügyfelek az alkalmazás által közzétett régióspecifikus végpontokon keresztül csatlakoznak, egy globális terheléselosztási szolgáltatás, például Azure Front Door vagy Azure Traffic Manager használatával irányíthatja a forgalmat egy kifogástalan állapotú végpontra.

  • Adatreplikálás és helyreállítás: A feladatátvétel után szükséges állapotokat tárolhatja egy olyan külső adattárban, amely támogatja a régiók közötti replikációt és helyreállítást. Ha egy háttértár-szolgáltatás régiók közötti replikációt biztosít a kötetadatokhoz, az a szolgáltatás határozza meg a replikációt és a feladatátvételi viselkedést. Az Azure Container Apps elkülönített környezetei nem replikálják a kötetadatokat, és nem biztosítanak feladatátvételt közöttük a régiók között.

Biztonsági mentés és visszaállítás

Ne használjon tesztkörnyezeti memóriát vagy helyi lemezt egyetlen tartós adattárként. A tesztkörnyezet felfüggesztése megőrzi a helyi lemezt, és memória módban a memória állapotát. Olyan pillanatképeket is létrehozhat, amelyek a forrás sandboxtól függetlenül megmaradnak. A felfüggesztett állapotok és pillanatképek továbbra is a regionális tesztkörnyezeti csoport hatókörébe tartoznak, és nem régiók közötti biztonsági mentések.

Használjon tesztkörnyezeti kötetet olyan adatokhoz, amelyeknek az egyes tesztkörnyezetek életciklusán túl kell megmaradnia. A háttértár szolgáltatás és konfigurációja határozza meg a kötetadatok biztonsági mentési és visszaállítási képességeit. Az Ön által kezelt külső adattárak esetében ön a felelős a biztonsági mentés és a régiók közötti helyreállítás konfigurálásáért a tartóssági és helyreállítási céloknak megfelelően.

Ha véletlenszerű törlés vagy régiószintű hiba után újra létre szeretné hozni a tesztkörnyezet üzembe helyezését, tárolja a tesztkörnyezetcsoport konfigurációját verzióvezérelt infrastruktúra-kódsablonokban, például Bicep vagy Terraformban. A forráslemez lemezképeit tartsa egy olyan beállításjegyzékben, amely megfelel a helyreállítási követelményeknek.

A szolgáltatás karbantartásával szembeni rugalmasság

A Microsoft rendszeresen alkalmazza a szolgáltatásfrissítéseket, és egyéb karbantartásokat végez. A Azure platform automatikusan kezeli ezeket a tevékenységeket, biztosítva, hogy a karbantartás zökkenőmentes és átlátható legyen. A karbantartási műveletek során rövid megszakításokat tapasztalhat. Ezek a megszakítások általában néhány másodpercig tartanak. Győződjön meg arról, hogy az ügyfélalkalmazások konfigurálva vannak az átmeneti hibák kezelésére, hogy rugalmasak legyenek a rövid megszakításokkal szemben.

Ha a karbantartás hatással van egy futó tesztkörnyezetre, a platform megőrzi az állapotát, áthelyezi az kifogástalan számítási kapacitásba, és automatikusan folytatja azt. A memóriamódot használó tesztkörnyezetek esetében a platform megőrzi a memóriát és a helyi lemez állapotát. A lemezmódot használó tesztkörnyezetek esetében a platform csak a helyi lemez állapotát őrzi meg.

Szolgáltatásiszint-szerződés

Azure Container Apps tesztkörnyezetek nem kínálnak rendelkezésre állási szolgáltatási szintű szerződést (SLA). A tesztkörnyezet köteteit és a megoldás által használt külső adattárakat visszatartó tárolási szolgáltatások különálló SLA-kkal rendelkezhetnek. További információ: Szolgáltatásiszint-szerződések online szolgáltatásokhoz.