Megbízhatóság Azure-alkalmazás szolgáltatásban
Ez a cikk a Azure-alkalmazás Szolgáltatás megbízhatósági támogatását ismerteti, amely a régión belüli rugalmasságot és a rendelkezésre állási zónákat, valamint a többrégiós üzemelő példányokra vonatkozó információkat ismerteti.
A rugalmasság közös felelősség Ön és a Microsoft között, ezért a cikk azt is ismerteti, hogyan hozhat létre rugalmas megoldást, amely megfelel az igényeinek.
Azure-alkalmazás szolgáltatás egy HTTP-alapú szolgáltatás webalkalmazások, REST API-k és mobil háttérrendszerek üzemeltetésére. Azure-alkalmazás Szolgáltatás a Microsoft Azure teljesítményét bővíti az alkalmazással, biztonsági, terheléselosztási, automatikus skálázási és automatizált felügyeleti funkciókkal. Annak megismeréséhez, hogy a Azure-alkalmazás Szolgáltatás hogyan erősítheti meg az alkalmazás számítási feladatainak megbízhatóságát és rugalmasságát, olvassa el az App Service használatának miért fontos részét?
A Azure-alkalmazás Service üzembe helyezésekor létrehozhat egy App Service-csomag több példányát, amely az alkalmazáskódot futtató számítási dolgozókat jelöli. Bár a platform erőfeszítéseket tesz a példányok különböző tartalék tartományokban való üzembe helyezésére, nem terjeszti automatikusan a példányokat a rendelkezésre állási zónák között.
Éles üzembe helyezési javaslatok
Éles környezetekben a következőkkel kell rendelkeznie:
- Prémium v3 App Service-csomagok használata.
- Engedélyezze a zónaredundanciát, amelyhez az App Service-csomagnak legalább három példányt kell használnia.
- Engedélyezze a zónaredundanciát, amelyhez az App Service-csomagnak legalább három példányt kell használnia.
Átmeneti hibák
Az átmeneti hibák rövid, időszakos hibák az összetevőkben. Gyakran előfordulnak elosztott környezetben, például a felhőben, és ezek a műveletek szokásos részei. Rövid idő után kijavítják magukat. Fontos, hogy az alkalmazások átmeneti hibákat kezeljenek, á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 a felhőben üzemeltetett API-kkal, adatbázisokkal és egyéb összetevőkkel való kommunikáció során. Az átmeneti hibák kezelésével kapcsolatos további információkért tekintse meg az átmeneti hibák átadására vonatkozó javaslatokat.
Bár a Microsoft által biztosított SDK-k általában átmeneti hibákat kezelnek, mivel saját alkalmazásokat üzemeltet a Azure-alkalmazás Szolgáltatásban, érdemes megfontolnia, hogyan kerülheti el az átmeneti hibákat, ha meggyőződik arról, hogy:
A csomag több példányának üzembe helyezése. Azure-alkalmazás szolgáltatás automatikus frissítéseket és egyéb karbantartási formákat hajt végre a csomag példányainál. Ha egy példány állapota nem megfelelő, a szolgáltatás automatikusan lecserélheti a példányt egy új kifogástalan állapotú példányra. A cserefolyamat során előfordulhat, hogy az előző példány nem érhető el, és egy új példány még nem áll készen a forgalom kiszolgálására. Ennek a viselkedésnek a hatását az App Service-csomag több példányának üzembe helyezésével csökkentheti.
Üzembehelyezési pontok használata. Azure-alkalmazás szolgáltatás üzembehelyezési pontjai lehetővé teszik az alkalmazások leállási idő nélküli üzembe helyezését. Az üzembehelyezési pontok használatával minimalizálhatja az üzemelő példányok és a konfigurációs módosítások felhasználókra gyakorolt hatását. Az üzembehelyezési pontok használata csökkenti az alkalmazás újraindításának valószínűségét, ami átmeneti hibát okoz.
Kerülje a fel- vagy leskálázást. Ehelyett válasszon ki egy olyan réteget és példányméretet, amely megfelel a teljesítménykövetelményeknek a tipikus terhelés alatt. Csak a példányok vertikális felskálázása a forgalommennyiség változásainak kezeléséhez. Vegye figyelembe, hogy a fel- és leskálázás elindíthatja az alkalmazás újraindítását.
Rendelkezésre állási zóna támogatása
A rendelkezésre állási zónák fizikailag különálló adatközpont-csoportok az egyes Azure-régiókban. Ha egy zóna meghibásodik, a szolgáltatások a fennmaradó zónák egyikére is át tudnak adni feladatokat.
További információ az Azure rendelkezésre állási zónáiról: Mik azok a rendelkezésre állási zónák?.
Azure-alkalmazás szolgáltatás zónaredundánsként konfigurálható, ami azt jelenti, hogy az erőforrások több rendelkezésre állási zónában vannak elosztva. A több zónában való elterjesztés segít az éles számítási feladatok rugalmasságának és megbízhatóságának elérésében. A rendelkezésre állási zóna támogatása az App Service-csomag egyik tulajdonsága.
A zónaredundáns üzembe helyezéssel történő példányterjesztést a következő szabályok határozzák meg, még akkor is, ha az alkalmazás fel- és felskálázódik:
- Az App Service-csomag minimális példányszáma három.
- Ha háromnál nagyobb kapacitást ad meg, és a példányok száma hárommal osztható, a példányok egyenletesen oszlanak el.
- A 3*N-t meghaladó példányok száma a fennmaradó egy vagy két zónában oszlik el.
Amikor az App Service platform példányokat foglal le egy zónaredundáns App Service-csomaghoz, az azure-beli virtuálisgép-méretezési csoportok által kínált legjobb erőfeszítési zónaelosztást használja. Az App Service-csomagok akkor "kiegyensúlyozottak", ha minden zónában azonos számú virtuális gép vagy +/- egy virtuális gép található az App Service-csomag által használt összes többi zónában.
A zónaredundánsként konfigurált App Service-csomagok esetében a virtuálisgép-példányok nem rugalmasak a rendelkezésre állási zóna hibáival szemben. Állásidőt tapasztalhatnak az adott régió bármely zónájában.
Támogatott régiók
A zónaredundáns App Service-csomagok bármely olyan régióban üzembe helyezhetők, amely támogatja a rendelkezésre állási zónákat.
Annak megtekintéséhez, hogy mely régiók támogatják az App Service Environment v3 rendelkezésre állási zónáinak használatát, tekintse meg a Régiók című témakört.
Követelmények
A Premium v2 vagy a Premium v3 csomagtípust kell használnia.
A rendelkezésre állási zónák csak az újabb App Service-lábnyom esetében támogatottak. Még ha a támogatott régiók egyikét is használja, hibaüzenet jelenik meg, ha az erőforráscsoport nem támogatja a rendelkezésre állási zónákat. Ha biztosítani szeretné, hogy a számítási feladatok egy olyan bélyegre kerüljön, amely támogatja a rendelkezésre állási zónákat, előfordulhat, hogy létre kell hoznia egy új erőforráscsoportot, az App Service-csomagot és az App Service-t.
- A csomag legalább három példányát üzembe kell helyeznie.
Megfontolások
A zónaredundáns App Service-csomagban üzembe helyezett alkalmazások továbbra is futnak, és akkor is kiszolgálják a forgalmat, ha a régióban több zóna is leáll. Előfordulhat azonban, hogy a nem futtatókörnyezeti viselkedések, például az App Service-csomag skálázása, az alkalmazások létrehozása, az alkalmazáskonfiguráció és az alkalmazás közzététele továbbra is hatással lehetnek a rendelkezésre állási zónák leállása során. Az App Service-csomagok zónaredundanciájával csak az üzembe helyezett alkalmazások folyamatos üzemideje biztosítható.
Költség
App Service Premium v2 vagy Premium v3 csomag használata esetén nincs további költség a rendelkezésre állási zónák engedélyezésével kapcsolatban, amennyiben három vagy több példány szerepel az App Service-csomagban. A díjakat az App Service-csomag termékváltozata, a megadott kapacitás és az automatikus skálázási feltételek alapján skálázható példányok alapján számítjuk fel. Ha engedélyezi a rendelkezésre állási zónákat, de háromnál kevesebb kapacitást ad meg, a platform minimálisan három példányszámot kényszerít ki, és a három példányért díjat számít fel.
Az App Service Environment 3-hoz készült verzió egy adott díjszabási modellel rendelkezik a zónaredundanciához. Az App Service Environment v3 díjszabási információiért tekintse meg a Díjszabás című témakört.
A rendelkezésre állási zóna támogatásának konfigurálása
Új zónaredundáns Azure-alkalmazás szolgáltatáscsomag üzembe helyezéséhez válassza a zónaredundáns beállítást a csomag telepítésekor.
Új zónaredundáns Azure-alkalmazás service environment üzembe helyezéséhez lásd: App Service-környezet létrehozása.
A zónaredundancia csak új App Service-csomag létrehozásakor konfigurálható. Ha olyan meglévő App Service-csomaggal rendelkezik, amely nem zónaredundáns, azt egy új zónaredundáns csomagra kell cserélnie. Meglévő App Service-csomagot nem alakíthat át rendelkezésre állási zónák használatára. Hasonlóképpen nem tilthatja le a zónaredundanciát egy meglévő App Service-csomagban.
Kapacitástervezés és -kezelés
A rendelkezésre állási zóna meghibásodására való felkészüléshez túl kell építenie a szolgáltatás kapacitását annak érdekében, hogy a megoldás képes legyen a kapacitás 1/3 elvesztését elviselni, és a zónaszintű kimaradások során a teljesítmény romlása nélkül működjön tovább. Mivel a platform a virtuális gépeket három zónára terjeszti, és legalább egy zóna meghibásodását figyelembe kell vennie, szorozza meg a számítási feladatok csúcspéldányainak számát a zónák/(zónák-1) vagy a 3/2 tényezővel. Ha például a tipikus csúcsterhelés négy példányt igényel, hat példányt kell üzembe helyeznie: (2/3 * 6 példány) = 4 példány.
Forgalom útválasztás zónák között
A normál műveletek során a rendszer az összes rendelkezésre állási zónában az összes elérhető App Service-csomagpéldány között irányítja a forgalmat.
Zónaletöltési élmény
Észlelés és válasz: Az App Service platform felelős a rendelkezésre állási zónában fellépő hibák észleléséért és a válaszadásért. Nem kell semmit tennie a zóna feladatátvételének kezdeményezéséhez.
Aktív kérések: Ha egy rendelkezésre állási zóna nem érhető el, a hibás rendelkezésre állási zónában lévő App Service-csomagpéldányhoz csatlakoztatott folyamatban lévő kérések leállnak, és újra kell próbálkozni.
Forgalom átirányítása: Ha egy zóna nem érhető el, Azure-alkalmazás szolgáltatás észleli az elveszett példányokat az adott zónából. Automatikusan megpróbálja megkeresni az új helyettesítő példányokat. Ezután szükség szerint elterjeszti a forgalmat az új példányokon.
Ha az automatikus skálázás konfigurálva van, és úgy dönt, hogy több példányra van szükség, az automatikus skálázás az App Service-nek küldött kérést is kiadja további példányok hozzáadásához.
Feljegyzés
Az automatikus skálázási viselkedés független az App Service platform viselkedésétől. Az automatikus skálázási példányszám specifikációjának nem kell háromból többnek lennie.
Fontos
Nincs garancia arra, hogy a zónaleállási forgatókönyvben további példányokra vonatkozó kérések sikeresek lesznek. Az elveszett példányok visszatöltése a legjobb munkamennyiség alapján történik. Ha garantált kapacitásra van szüksége egy rendelkezésre állási zóna elvesztésekor, létre kell hoznia és konfigurálnia kell az App Service-csomagokat, hogy figyelembe vegyék a zóna elvesztését. Ezt az App Service-csomag kapacitásának túlterjeszkedésével teheti meg.
Feladat-visszavétel
A rendelkezésre állási zóna helyreállításakor a Azure-alkalmazás szolgáltatás automatikusan létrehozza a példányokat a helyreállított rendelkezésre állási zónában, eltávolítja a többi rendelkezésre állási zónában létrehozott ideiglenes példányokat, és a szokásos módon irányítja át a példányok közötti forgalmat.
Zónahibák tesztelése
Azure-alkalmazás Szolgáltatásplatform kezeli a zónaredundáns App Service-csomagok forgalomirányítását, feladatátvételét és feladat-visszavételét. Mivel ez a szolgáltatás teljes mértékben felügyelt, nem kell kezdeményeznie vagy ellenőriznie a rendelkezésre állási zónák meghibásodási folyamatait.
Többrégiós támogatás
Azure-alkalmazás szolgáltatás egy régiós szolgáltatás. Ha a régió elérhetetlenné válik, az alkalmazás is elérhetetlenné válik.
Alternatív többrégiós megoldások
Annak érdekében, hogy az alkalmazás kevésbé legyen érzékeny az egyrégiós hibákra, több régióban kell üzembe helyeznie az alkalmazást. Ehhez a következő műveleteket kell elvégeznie:
- Helyezze üzembe az alkalmazást az egyes régiókban található példányokon.
- Terheléselosztási és feladatátvételi szabályzatok konfigurálása.
- Replikálja az adatokat a régiók között, hogy helyreállíthassa az utolsó alkalmazásállapotát.
Ilyen megközelítést szemléltető architektúrák például a következők:
- Referenciaarchitektúra: Magas rendelkezésre állású többrégiós webalkalmazás.
- Többrégiós App Service-alkalmazások vészhelyreállításhoz
A többrégiós alkalmazásokat létrehozó oktatóanyagot követve lásd: Magas rendelkezésre állású többrégiós alkalmazás létrehozása Azure-alkalmazás Szolgáltatásban.
Az architektúrát szemléltető példaként tekintse meg a nagy rendelkezésre állású vállalati üzembe helyezést az App Service Environment használatával.
Biztonsági másolatok
Ha alapszintű vagy magasabb szintet használ, az App Service biztonsági mentési és visszaállítási képességeinek használatával biztonsági másolatot készíthet az App Service-alkalmazásról egy fájlra. Ez a funkció akkor hasznos, ha nehéz újból üzembe helyezni a kódot, vagy ha lemezen tárolja az állapotot. A legtöbb megoldás esetében azonban nem szabad az App Service biztonsági mentéseire támaszkodnia, hanem a cikkben ismertetett egyéb módszereket kell használnia a rugalmassági követelmények támogatására.
Szolgáltatásiszint-szerződés (SLA)
Az Azure-alkalmazás szolgáltatás szolgáltatásiszint-szerződése (SLA) a szolgáltatás várható elérhetőségét ismerteti. Azt is ismerteti, hogy milyen feltételeknek kell teljesülniük ahhoz, hogy elérjék ezt a rendelkezésre állási elvárást. Ezeknek a feltételeknek a megértéséhez fontos, hogy áttekintse az online szolgáltatások szolgáltatásiszint-szerződéseit (SLA).
Zónaredundáns App Service-csomag üzembe helyezésekor az SLA-ban meghatározott üzemidő-százalék nő.