Javaslatok a redundancia tervezéséhez

Erre az Azure Well-Architected Framework megbízhatósági ellenőrzőlistára vonatkozó javaslatra vonatkozik:

RE:05 Adjon hozzá redundanciát különböző szinteken, különösen a kritikus folyamatokhoz. Alkalmazza a redundanciát a számítási, adat-, hálózati és egyéb infrastruktúraszintekre az azonosított megbízhatósági céloknak megfelelően.

Kapcsolódó útmutatók:Magas rendelkezésre állású többrégiós kialakítás | Rendelkezésre állási zónák és régiók használata

Ez az útmutató ismerteti a redundancia hozzáadására vonatkozó javaslatokat a kritikus folyamatok során különböző számítási feladatok rétegeihez, ami optimalizálja a rugalmasságot. A meghatározott megbízhatósági célok követelményeinek való megfeleléshez alkalmazza a megfelelő redundanciaszinteket a számítási, adat-, hálózatkezelési és egyéb infrastruktúraszintekre. Alkalmazza ezt a redundanciát, hogy a számítási feladatra erős, megbízható alapot biztosítson, amely alapján építhet. Ha infrastruktúra-redundancia nélkül hozza létre a számítási feladatokat, a lehetséges hibák miatt nagy a kockázata a hosszabb állásidőnek.

Definíciók

Időszak Definíció
Redundancia Egy számítási feladat összetevő több azonos példányának implementálása.
Többplatformos adattárolás A különböző tárolási technológiák ugyanazon alkalmazással vagy megoldással történő használatának fogalma az egyes összetevők legjobb képességeinek kihasználásához.
Adatkonzisztencia Egy adott adathalmaz szinkronizálásának vagy szinkronizálásának mértéke több tárolóban van.
Particionálás Az adatok különálló adattárakba való fizikai felosztásának folyamata.
Szilánk Egy horizontális adatbázisparticionálási stratégia, amely több tárolási példányt támogat egy közös sémával. Az adatok nem replikálódnak minden példányban.

Fő tervezési stratégiák

A megbízhatóság kontextusában a redundancia használatával olyan problémákat tartalmazzon, amelyek egyetlen erőforrást érintenek, és győződjön meg arról, hogy ezek a problémák nem befolyásolják a teljes rendszer megbízhatóságát. A kritikus folyamatokról és a megbízhatósági célokról azonosított információk alapján megalapozott döntéseket hozhat az egyes folyamatok redundanciához.

Előfordulhat például, hogy egyszerre több webkiszolgáló-csomópont is fut. Az általuk támogatott folyamat kritikussága megkövetelheti, hogy mindegyik rendelkezik olyan replikákkal, amelyek készen állnak a forgalom elfogadására, ha olyan probléma merül fel, amely a teljes készletet érinti, például regionális kimaradást. Alternatív megoldásként, mivel a nagy léptékű problémák ritkák, és költséges a replikák teljes készletének üzembe helyezése, előfordulhat, hogy korlátozott számú replikát helyez üzembe, így a folyamat csökkentett teljesítményű állapotban működik, amíg meg nem oldja a problémát.

Amikor a teljesítményhatékonyság összefüggésében tervez redundanciát, ossza el a terhelést több redundáns csomópont között, hogy az egyes csomópontok optimálisan teljesíthessenek. A megbízhatóság összefüggésében építsen tartalék kapacitást az egy vagy több csomópontot érintő hibák vagy meghibásodások elnyeléséhez. Győződjön meg arról, hogy a tartalék kapacitás képes az érintett csomópontok helyreállításához szükséges teljes időre elnyelni a hibákat. Ezt a különbséget szem előtt tartva mindkét stratégiának együtt kell működnie. Ha a forgalom két csomópont között oszlik el a teljesítmény szempontjából, és mindkettő 60 százalékos kihasználtságon fut, és egy csomópont meghibásodik, a fennmaradó csomópont túlterheltté válik, mert nem működik 120%-on. Oszd el a terhelést egy másik csomóponttal, hogy a teljesítmény- és megbízhatósági célok teljesüljenek.

Kompromisszumok:

  • A több számítási feladat redundancia több költséggel jár. Alaposan fontolja meg a redundancia hozzáadását, és rendszeresen tekintse át az architektúrát, hogy biztosítsa a költségek kezelését, különösen akkor, ha túlprojektezést használ. Ha a túlprojektezést rugalmassági stratégiaként használja, egyensúlyba kell kerülnie egy jól definiált skálázási stratégiával a költséghiány minimalizálása érdekében.
  • Nagy mértékű redundancia esetén teljesítménybeli kompromisszumok is lehetnek. Például a rendelkezésre állási zónákban vagy régiókban elterülő erőforrások hatással lehetnek a teljesítményre, mert a forgalmat nagy késésű kapcsolatokon keresztül kell elküldeni a redundáns erőforrások, például webkiszolgálók vagy adatbázispéldányok között.
  • Az ugyanazon számítási feladaton belüli különböző folyamatok eltérő megbízhatósági követelményekkel rendelkezhetnek. A folyamatspecifikus redundanciatervek összetettebbé tehetik a teljes kialakítást.

Redundáns architektúra kialakítása

Redundáns architektúra tervezésekor két megközelítést érdemes figyelembe venni: aktív-aktív vagy aktív-passzív. Az infrastruktúra-összetevők által támogatott felhasználói folyamat és rendszerfolyamat kritikusságától függően válassza ki a megközelítést. A megbízhatóság szempontjából a többrégiós aktív-aktív kialakítás segít a lehető legmagasabb szintű megbízhatóság elérésében, de lényegesen drágább, mint az aktív-passzív kialakítás. A megfelelő földrajzi régiók kiválasztása lesz a következő kritikus döntés. Ezeket a tervezési megközelítéseket egyetlen régióhoz is használhatja a rendelkezésre állási zónák használatával. További információ: Javaslatok magas rendelkezésre állású többrégiós tervezéshez.

Üzembehelyezési bélyegek és méretezési egységek

Függetlenül attól, hogy aktív-aktív vagy aktív-passzív modellben telepít, kövesse az Üzembe helyezési bélyegek tervezési mintát , hogy a számítási feladat ismételhető, skálázható módon legyen üzembe helyezve. Az üzembe helyezési bélyegek azoknak az erőforrásoknak a csoportosítását képezik, amelyek szükségesek ahhoz, hogy a számítási feladatokat az ügyfelek egy adott részhalmaza számára kézbesítse. Az alkészlet lehet például egy regionális részhalmaz vagy egy olyan részhalmaz, amely ugyanazokat az adatvédelmi követelményeket támasztja, mint a számítási feladat. Az egyes bélyegeket skálázási egységnek tekintheti, amelyet duplikálhat a számítási feladatok horizontális skálázásához vagy kék-zöld környezetek végrehajtásához. Tervezze meg számítási feladatát üzembehelyezési bélyegzőkkel, hogy optimalizálja az aktív-aktív vagy aktív-passzív implementációt a rugalmasság és a felügyeleti terhek érdekében. A többrégiós felskálázás megtervezése szintén fontos a régióban esetlegesen ideiglenes erőforrás-kapacitásra vonatkozó korlátozások leküzdéséhez.

Rendelkezésre állási zónák az Azure-régiókban

Akár aktív-aktív, akár aktív-passzív kialakítást helyez üzembe, használja ki az aktív régiók rendelkezésre állási zónáinak előnyeit a rugalmasság teljes optimalizálásához. Számos Azure-régió több rendelkezésre állási zónát is biztosít, amelyek egy régión belüli adatközpontok különálló csoportjai. Az Azure-szolgáltatástól függően kihasználhatja a rendelkezésre állási zónák előnyeit, ha a számítási feladat elemeit redundánsan helyezi üzembe a zónák között, vagy elemeket rögzít adott zónákba. További információ: Rendelkezésreállási zónák és régiók használatára vonatkozó javaslatok.

Infrastruktúra-rétegre vonatkozó útmutató

Számítási erőforrások

  • Válassza ki a számítási feladathoz megfelelő számítási szolgáltatást . A tervezett számítási feladat típusától függően számos lehetőség közül választhat. Vizsgálja meg az elérhető szolgáltatásokat, és ismerje meg, hogy mely számítási feladatok működnek a legjobban egy adott számítási szolgáltatáson. Az SAP számítási feladatok például általában a szolgáltatásként nyújtott infrastruktúra (IaaS) számítási szolgáltatásaihoz ideálisak. Tárolóalapú alkalmazások esetében határozza meg azokat a funkciókat, amelyeket szabályoznia kell annak megállapításához, hogy Azure Kubernetes Service (AKS) vagy szolgáltatásként nyújtott platformot (PaaS) kell-e használnia. A felhőplatform teljes mértékben felügyel egy PaaS-szolgáltatást.

  • Ha a követelmények ezt lehetővé teszik, használja a PaaS számítási beállításait. Az Azure teljes mértékben felügyeli a PaaS-szolgáltatásokat, ami csökkenti a felügyeleti terheket, és a redundancia dokumentált szintje be van építve.

  • Ha virtuális gépeket (virtuális gépeket) kell üzembe helyeznie, használja az Azure Virtual Machine Scale Sets. A Virtual Machine Scale Sets automatikusan egyenletesen eloszthatja a számítást a rendelkezésre állási zónák között.

  • Tartsa távol a számítási réteget minden állapottól , mert a kéréseket kiszolgáló egyes csomópontok bármikor törölhetők, meghibásodhatnak vagy lecserélhetők.

  • Ha lehetséges, használja a zónaredundáns szolgáltatásokat, hogy nagyobb rugalmasságot biztosítson a működési terhek növelése nélkül.

  • A kritikus erőforrások túlméretezése a redundáns példányok hibáinak mérséklése érdekében még az automatikus skálázási műveletek megkezdése előtt is, így a rendszer továbbra is működni fog egy összetevő hibája után. Számítsa ki a hiba elfogadható hatását, ha a redundanciatervbe beépíti a túlprojektezést. A redundancia-döntéshozatali folyamathoz hasonlóan a megbízhatósági célok és a pénzügyi kompromisszumokkal kapcsolatos döntések határozzák meg, hogy mennyi tartalék kapacitást ad hozzá a túlépítéssel. A túlméretezés kifejezetten a horizontális felskálázást jelenti, ami azt jelenti, hogy egy adott számítási erőforrástípushoz további példányokat ad hozzá, nem pedig egyetlen példány számítási képességeinek növelését. Ha például egy virtuális gépet alacsonyabb szintű termékváltozatról magasabb szintű termékváltozatra módosít.

  • Az IaaS-szolgáltatásokat manuálisan vagy automatizálással helyezheti üzembe minden olyan rendelkezésre állási zónában vagy régióban, amelyben a megoldást implementálni szeretné. Egyes PaaS-szolgáltatások beépített képességekkel rendelkeznek, amelyek automatikusan replikálódnak a rendelkezésre állási zónák és régiók között.

Adatforrások

  • Határozza meg, hogy szükség van-e szinkron vagy aszinkron adatreplikálásra a számítási feladat működéséhez. A meghatározáshoz tekintse meg a rendelkezésre állási zónák és régiók használatára vonatkozó javaslatokat.

  • Vegye figyelembe az adatok növekedési arányát. A kapacitástervezéshez tervezze meg az adatnövekedést, az adatmegőrzést és az archiválást, hogy a megbízhatósági követelmények teljesüljenek a megoldásban lévő adatok mennyiségének növekedésével.  

  • A szolgáltatás által támogatott földrajzilag elosztott adatok a földrajzilag honosított hibák hatásának minimalizálása érdekében.

  • Adatok replikálása földrajzi régiók között, hogy rugalmasságot biztosítson a regionális kimaradásokkal és a katasztrofális hibákkal szemben.

  • Automatizálja a feladatátvételt egy adatbázispéldány meghibásodása után. Az automatizált feladatátvételt több Azure PaaS-adatszolgáltatásban is konfigurálhatja. Nem szükséges automatizált feladatátvétel a többrégiós írást támogató adattárakhoz, például az Azure Cosmos DB-hez. További információ: Javaslatok vészhelyreállítási stratégia kialakításához.

  • Használja a legjobb adattárat az adataihoz. Használja a többplatformos adatmegőrzést vagy az adattártechnológiák kombinációját használó megoldásokat. Az adatok nem csak a megőrzött alkalmazásadatokat tartalmazzák. Ide tartoznak az alkalmazásnaplók, események, üzenetek és a gyorsítótárak is.

  • Vegye figyelembe az adatkonzisztencia követelményeit, és használja a végleges konzisztenciát , amikor a követelmények lehetővé teszik. Az adatok elosztásakor a megfelelő koordinációval kényszerítse ki az erős konzisztenciára vonatkozó garanciákat. A koordináció csökkentheti az átviteli sebességet, és szorosan összekapcsolhatja a rendszereket, ami törékenyebbé teheti őket. Ha például egy művelet két adatbázist frissít, ahelyett, hogy egyetlen tranzakciós hatókörbe helyezné, akkor jobb, ha a rendszer képes a végleges konzisztenciára.

  • Rendelkezésre állási adatok particionálása. Az adatbázis-particionálás javítja a méretezhetőséget, és javíthatja a rendelkezésre állást is. Ha az egyik szegmens leáll, a többi szegmens továbbra is elérhető. Egy szegmens meghibásodása csak az összes tranzakció egy részét szakítja meg.

  • Ha a horizontális skálázás nem lehetőség, a Parancs- és lekérdezési felelősség elkülönítése (CQRS) mintával elkülönítheti az írási és írásvédett adatmodelleket. Redundánsabb írásvédett adatbázispéldányok hozzáadása a nagyobb rugalmasság érdekében.  

  • Megismerheti a használt állapotalapú platformszolgáltatások beépített replikációs és redundancia-képességeit. Az állapotalapú adatszolgáltatások konkrét redundanciaképességéről a Kapcsolódó hivatkozások című témakörben olvashat.

Hálózatkezelés

  • Megbízható és méretezhető hálózati topológia kiválasztása. Küllős vagy Azure-Virtual WAN modell használatával logikai mintákba rendezheti a felhőinfrastruktúrát, így egyszerűbbé teheti a redundancia kialakítását és skálázását.

  • Válassza ki a megfelelő hálózati szolgáltatást a kérések régiókon belüli vagy régiók közötti elosztásához és átirányításához. Ha lehetséges, használjon globális vagy zónaredundáns terheléselosztási szolgáltatásokat a megbízhatósági célok eléréséhez.

  • Győződjön meg arról, hogy elegendő IP-címtartományt foglalt le a virtuális hálózatokon és alhálózatokon a tervezett használat figyelembevétele érdekében, beleértve a vertikális felskálázási követelményeket is.

  • Győződjön meg arról, hogy az alkalmazás méretezhető a kiválasztott alkalmazásüzemeltési platform portkorlátja alatt. Ha egy alkalmazás több kimenő TCP- vagy UDP-kapcsolatot kezdeményez, az kimerítheti az összes elérhető portot, és gyenge alkalmazásteljesítményt okozhat.

  • Válassza az SKU-kat, és konfiguráljon olyan hálózati szolgáltatásokat, amelyek megfelelnek a sávszélességre és a rendelkezésre állásra vonatkozó követelményeknek. A VPN-átjáró átviteli sebessége a termékváltozattól függően változik. A zónaredundancia támogatása csak bizonyos terheléselosztó termékváltozatokhoz érhető el.

  • Győződjön meg arról, hogy a DNS kezelésére szolgáló terv a rugalmasságra összpontosít, és támogatja a redundáns infrastruktúrát.

Azure-beli segítségnyújtás

Az Azure platform segítségével optimalizálhatja a számítási feladatok rugalmasságát, és redundanciát adhat hozzá az alábbiak szerint:

  • Beépített redundancia biztosítása számos PaaS- és szolgáltatott szoftveres (SaaS-) megoldással, amelyek némelyike konfigurálható.

  • Lehetővé teszi a régión belüli redundancia tervezését és megvalósítását a rendelkezésre állási zónák és a régiók közötti redundancia használatával.

  • Replikabarát terheléselosztási szolgáltatásokat kínál, például Azure Application Gateway, Azure Front Door és Azure Load Balancer.

  • Könnyen implementálható georeplikációs megoldásokat kínál, például aktív georeplikációt Azure SQL Database-hez. Globális terjesztés és transzparens replikáció megvalósítása az Azure Cosmos DB használatával. Az Azure Cosmos DB két lehetőséget kínál az ütköző írások kezelésére. Válassza ki a számítási feladathoz leginkább megfelelő lehetőséget.

  • Időponthoz kötött visszaállítási képességek biztosítása számos PaaS-adatszolgáltatáshoz.

  • A portfogyás mérséklése az Azure NAT Gatewayen vagy Azure Firewall keresztül.

DNS-specifikus Azure-beli facilitálás

  • Belső névfeloldási forgatókönyvek esetén használja az Azure DNS privát zónáit, amelyek beépített zónaredundanciával és georedundanciával rendelkeznek. További információ: Az Azure DNS privát zónák rugalmassága.

  • Külső névfeloldási forgatókönyvek esetén használja az Azure DNS nyilvános zónáit, amelyek beépített zónaredundanciával és georedundanciával rendelkeznek.

  • A nyilvános és privát Azure DNS-szolgáltatások olyan globális szolgáltatások, amelyek rugalmasak a regionális kimaradásokkal szemben, mivel a zónaadatok globálisan elérhetők.

  • A helyszíni és a felhőkörnyezetek közötti hibrid névfeloldási forgatókönyvekhez használja az Azure DNS Private Resolvert. Ez a szolgáltatás támogatja a zónaredundanciát, ha a számítási feladat olyan régióban található, amely támogatja a rendelkezésre állási zónákat. A zónaszintű szolgáltatáskimaradás nem igényel beavatkozást a zóna helyreállítása során. A szolgáltatás automatikusan öngyógyítja és kiegyensúlyozódik, hogy kihasználhassa az egészséges zónát. További információ: Rugalmasság az Azure DNS Private Resolverben.

  • Az egyetlen meghibásodási pont kiküszöbölése és a régiók közötti rugalmasabb hibrid névfeloldás érdekében helyezzen üzembe két vagy több Azure DNS privát feloldót különböző régiókban. A DNS-feladatátvétel feltételes továbbítás esetén egy feloldó elsődleges DNS-kiszolgálóként való hozzárendelésével érhető el. Rendelje hozzá a másik feloldót egy másik régióban másodlagos DNS-kiszolgálóként. További információ: DNS-feladatátvétel beállítása privát feloldók használatával.

Példa

Példa többrégiós redundáns üzembe helyezésre: Alapkonfiguráció magas rendelkezésre állású zónaredundáns webalkalmazás.

Az alábbi ábrán egy másik példa látható:

A referenciaimplementáció architektúráját bemutató ábra.

A redundanciával kapcsolatos további információkért tekintse meg az alábbi forrásanyagokat:

Megbízhatósági ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.