Szerkesztés

Megosztás a következőn keresztül:


Megbízható webalkalmazás-minta a .NET-hez – A megvalósítás megtervezése

Azure App Service
Azure Front Door
Azure Cache for Redis
.

Ez a cikk bemutatja, hogyan alkalmazhatja a Reliable Web App mintát. A Reliable Web App minta olyan alapelvek és megvalósítási technikák készlete, amelyek meghatározzák, hogyan kell módosítani a webalkalmazásokat (replatform) a felhőbe való migráláskor. A felhőben való sikerességhez szükséges minimális kódfrissítésekre összpontosít.

Az útmutató alkalmazásának megkönnyítése érdekében az üzembe helyezhető Reliable Web App-minta egy referenciaalkalmazással rendelkezik.

A referencia-megvalósítás architektúráját bemutató ábra.A referencia-megvalósítás architektúrája. Töltse le az architektúra Visio-fájlját .

Az alábbi útmutató végig példaként használja a referencia-megvalósítást. A Reliable Web App minta implementálásának megtervezéséhez kövesse az alábbi lépéseket:

Üzleti célok meghatározása

A felhőalapú számítástechnikára való áttérés első lépése az üzleti célkitűzések megfogalmazása. A Reliable Web App minta hangsúlyozza annak fontosságát, hogy a webalkalmazás azonnali és jövőbeli célkitűzéseit is meghatározzuk. Ezek a célkitűzések befolyásolják a felhőszolgáltatások kiválasztását és a webalkalmazás architektúráját a felhőben.

Példa: A fiktív Relecloud vállalat jegyeket ad el a helyszíni webalkalmazásán keresztül. A Relecloud pozitív értékesítési előrejelzéssel rendelkezik, és növekvő keresletet vár a jegykezelő webalkalmazása iránt. Ennek az igénynek a kielégítése érdekében meghatározták a webalkalmazás céljait:

  • Alacsony költségű, nagy értékű kódmódosítások alkalmazása
  • 99,9%-os szolgáltatásiszint-célkitűzés (SLO) elérése
  • DevOps-eljárások bevezetése
  • Költségoptimalizált környezetek létrehozása
  • A megbízhatóság és a biztonság javítása

A Relecloud helyszíni infrastruktúrája nem volt költséghatékony megoldás e célok eléréséhez. Ezért úgy döntöttek, hogy a webalkalmazás azure-ba való migrálása a legköltséghatékonyabb módja annak, hogy elérjék közvetlen és jövőbeli célkitűzéseiket.

A megfelelő felügyelt szolgáltatások kiválasztása

Amikor egy webalkalmazást a felhőbe helyez át, olyan Azure-szolgáltatásokat kell választania, amelyek megfelelnek az üzleti követelményeknek, és megfelelnek a helyszíni webalkalmazás aktuális funkcióinak. Az igazítás segít minimalizálni a replatformálási munkát. Használjon például olyan szolgáltatásokat, amelyekkel megtarthatja ugyanazt az adatbázismotort, és támogathatja a meglévő köztes szoftvereket és keretrendszereket. Az alábbi szakaszok útmutatást nyújtanak a webalkalmazáshoz megfelelő Azure-szolgáltatások kiválasztásához.

Példa: A felhőbe való áttérés előtt a Relecloud jegykezelő webalkalmazása egy helyszíni, monolitikus ASP.NET alkalmazás volt. Két virtuális gépen futott, és microsoft SQL Server-adatbázissal rendelkezik. A webalkalmazás a méretezhetőség és a funkciók üzembe helyezése terén gyakran jelentkező kihívásoktól szenvedett. Ez a kiindulási pont, az üzleti célok és az SLO hajtotta a szolgáltatásválasztást.

Alkalmazásplatform

Válassza ki a webalkalmazás legjobb alkalmazás-üzemeltetési platformját. Az Azure számos különböző számítási lehetőséggel rendelkezik, hogy megfeleljen a webalkalmazások követelményeinek. A szűkítési lehetőségekről az Azure számítási döntési fájában talál segítséget.

Példa: A Relecloud az alábbi okokból választotta a Azure-alkalmazás Szolgáltatást alkalmazásplatformként:

  • Magas szolgáltatásiszint-szerződés (SLA): Magas SLA-val rendelkezik, amely megfelel az üzemi környezet 99,9%-os SLO-jának.

  • Csökkentett felügyeleti terhelés: Ez egy teljes mértékben felügyelt megoldás, amely kezeli a skálázást, az állapotellenőrzéseket és a terheléselosztást.

  • .NET-támogatás: Támogatja az alkalmazás által írt .NET-verziót.

  • Tárolóizációs képesség: A webalkalmazás tárolóméretezés nélkül is konvergálhat a felhőben, de az alkalmazásplatform az Azure-szolgáltatások módosítása nélkül is támogatja a tárolók használatát

  • Automatikus skálázás: A webalkalmazás automatikusan fel- és leskálázható, be- és kiskálázható a felhasználói forgalom és a beállítások alapján.

Identitáskezelés

Válassza ki a webalkalmazás legjobb identitáskezelési megoldását. További információ: identitáskezelési megoldások és hitelesítési módszerek összehasonlítása.

Példa: A Relecloud a Következő okokból választotta a Microsoft Entra-azonosítót :

  • Hitelesítés és engedélyezés: Az alkalmazásnak hitelesítenie és engedélyeznie kell a call center alkalmazottait.

  • Méretezhető: Méretezhető a nagyobb forgatókönyvek támogatásához.

  • Felhasználóidentitás-vezérlés: A call center alkalmazottai használhatják meglévő vállalati identitásaikat.

  • Engedélyezési protokoll támogatása: Támogatja az OAuth 2.0-t a felügyelt identitásokhoz.

Adatbázis

Válassza ki a webalkalmazás számára legmegfelelőbb adatbázist. A lehetőségek szűkítésével kapcsolatos segítségért tekintse meg az Azure-adattár döntési fáját.

Példa: A webalkalmazás a helyszíni SQL Servert használta, a Relecloud pedig a meglévő adatbázissémát, a tárolt eljárásokat és a függvényeket akarta használni. Az Azure-ban számos SQL-termék érhető el, de a Relecloud az Azure SQL Database-t választotta a következő okok miatt:

  • Megbízhatóság: Az általános célú szint magas SLA-t és többrégiós redundanciát biztosít. Támogatja a magas felhasználói terhelést.

  • Csökkentett felügyeleti terhelés: Felügyelt SQL-adatbázispéldányt biztosít.

  • Migrálás támogatása: Támogatja a helyszíni SQL Serverről történő adatbázis-migrálást.

  • Konzisztencia a helyszíni konfigurációkkal: Támogatja a meglévő tárolt eljárásokat, függvényeket és nézeteket.

  • Rugalmasság: Támogatja a biztonsági mentéseket és az időponthoz kötött visszaállítást.

  • Szakértelem és minimális átdolgozás: Az SQL Database kihasználja a belső szakértelem előnyeit, és minimális munkát igényel a bevezetéshez.

Alkalmazásteljesítmény monitorozása

Válasszon egy alkalmazásteljesítmény-monitorozást a webalkalmazáshoz. Az alkalmazás Elemzések az Azure-natív alkalmazásteljesítmény-kezelési (APM) megoldás. Ez az Azure monitorozási megoldásának, az Azure Monitornak a funkciója.

Példa: A Relecloud a következő okokból választotta az Application Elemzések használatát:

  • Integráció az Azure Monitorral: Ez biztosítja a legjobb integrációt az Azure Monitorral.

  • Anomáliadetektálás: Automatikusan észleli a teljesítmény rendellenességeit.

  • Hibaelhárítás: Segít diagnosztizálni a futó alkalmazásban fellépő problémákat.

  • Monitorozás: Információkat gyűjt arról, hogy a felhasználók hogyan használják az alkalmazást, és lehetővé teszi az egyéni események egyszerű nyomon követését.

  • Láthatósági rés: A helyszíni megoldás nem rendelkezik alkalmazásteljesítmény-monitorozási megoldásokkal. Az alkalmazás Elemzések egyszerű integrációt biztosít az alkalmazásplatformmal és a kóddal.

Gyorsítótár

Adja meg, hogy gyorsítótárat szeretne-e hozzáadni a webalkalmazás architektúrájához. Az Azure Cache for Redis az Azure elsődleges gyorsítótár-megoldása. Ez egy redis szoftveren alapuló felügyelt memóriabeli adattár.

Példa: A Relecloud webalkalmazás-terhelése erősen el van téve a koncertek és a helyszín részleteinek megtekintése felé. Az Azure Cache for Redist a következő okokból adta hozzá:

  • Csökkentett felügyeleti terhelés: Ez egy teljes mértékben felügyelt szolgáltatás.

  • Sebesség és hangerő: Nagy adatforgalmi sebességgel és alacsony késéssel rendelkezik a gyakran használt, lassú adatváltozáshoz.

  • Változatos támogatottság: Egységes gyorsítótárhely a webalkalmazás minden példányához.

  • Külső adattár: A helyszíni alkalmazáskiszolgálók virtuálisgép-helyi gyorsítótárazást hajtottak végre. Ez a beállítás nem hasznosított magas gyakoriságú adatokat, és nem tudta érvényteleníteni az adatokat.

  • Nem rúd munkamenetek: A munkamenet állapotának külsővé tétele támogatja a nem rúzsos munkameneteket.

Terheléselosztóval

Válassza ki a webalkalmazás legjobb terheléselosztóját. Az Azure számos terheléselosztóval rendelkezik. A lehetőségek szűkítésével kapcsolatos segítségért tekintse meg az alkalmazás legjobb terheléselosztójának kiválasztását.

Példa: A Relecloudnak szüksége volt egy 7. rétegbeli terheléselosztóra, amely több régióba irányíthatja a forgalmat. A Relecloudnak többrégiós webalkalmazásra volt szüksége, hogy megfeleljen a 99,9%-os SLO-nak. A Relecloud a következő okokból választotta az Azure Front Doort :

  • Globális terheléselosztás: Ez egy 7. rétegbeli terheléselosztó, amely több régióba irányíthatja a forgalmat.

  • Webalkalmazási tűzfal: Natív módon integrálható az Azure Web Application Firewall szolgáltatással.

  • Útválasztási rugalmasság: Lehetővé teszi, hogy az alkalmazás csapata konfigurálja a bejövő forgalmat, hogy támogassa az alkalmazás jövőbeni változásait.

  • Forgalomgyorsítás: Bármely küldés használatával eléri a legközelebbi Azure jelenléti pontot, és megkeresi a webalkalmazáshoz vezető leggyorsabb útvonalat.

  • Egyéni tartományok: Rugalmas tartományérvényesítéssel támogatja az egyéni tartományneveket.

  • Állapotadat-mintavételek: Az alkalmazásnak intelligens állapotadat-mintavételre van szüksége. Az Azure Front Door a mintavétel válaszaival határozza meg az ügyfélkérések útválasztásának legjobb forrását.

  • Monitorozási támogatás: Támogatja a beépített jelentéseket egy minden az egyben irányítópulttal a Front Doorhoz és a biztonsági mintákhoz. Konfigurálhatja az Azure Monitorral integrálható riasztásokat. Lehetővé teszi, hogy az alkalmazás naplózza az egyes kéréseket és a sikertelen állapotmintákat.

  • DDoS-védelem: Beépített 3-4-es DDoS-védelemmel rendelkezik.

  • Tartalomkézbesítési hálózat: A Relecloudot tartalomkézbesítési hálózat használatára használja. A tartalomkézbesítési hálózat gyorsítást biztosít a webhely számára.

Webalkalmazási tűzfal

Válasszon egy webalkalmazási tűzfalat a webalkalmazás webes támadások elleni védelméhez. Az Azure Web Application Firewall az Azure webalkalmazási tűzfala (WAF), amely központi védelmet nyújt a gyakori webes biztonsági rések és biztonsági rések ellen.

Példa: A Relecloudnak szüksége volt a webalkalmazás webes támadások elleni védelmére. Az Azure Web Application Firewallot a következő okokból használták:

  • Globális védelem: Továbbfejlesztett globális webalkalmazás-védelmet biztosít a teljesítmény feláldozása nélkül.

  • Botnet-védelem: A csapat figyelheti és konfigurálhatja a botnetek biztonsági problémáit.

  • Paritás a helyszíni környezettel: A helyszíni megoldás egy informatikai felügyelet alatt álló webalkalmazási tűzfal mögött futott.

  • Egyszerű használat: A webalkalmazási tűzfal integrálható az Azure Front Door szolgáltatással.

Konfigurációs tároló

Adja meg, hogy hozzáadja-e az alkalmazáskonfigurációs tárolót a webalkalmazáshoz. Azure-alkalmazás Konfiguráció egy szolgáltatás, amely központilag kezeli az alkalmazásbeállításokat és a funkciójelzőket. Tekintse át az alkalmazáskonfiguráció ajánlott eljárásait annak eldöntéséhez, hogy ez a szolgáltatás megfelel-e az alkalmazásnak.

Példa: A Relecloud a fájlalapú konfigurációt egy központi konfigurációs tárolóra akarta cserélni, amely integrálható az alkalmazásplatformmal és a kóddal. Az alábbi okokból tették hozzá az alkalmazáskonfigurációt az architektúrához:

  • Rugalmasság: Támogatja a funkciójelzőket. A funkciójelzők lehetővé teszik a felhasználók számára, hogy az alkalmazás ismételt üzembe helyezése nélkül engedélyezzenek előzetes verziójú funkciókat egy éles környezetben.

  • Támogatja a Git-folyamatot: A konfigurációs adatok igazságforrásának Git-adattárnak kell lennie. A központi konfigurációs tároló adatainak frissítéséhez szükséges folyamat.

  • Támogatja a felügyelt identitásokat: Támogatja a felügyelt identitásokat a konfigurációs tárhoz való csatlakozás egyszerűsítése és biztonságossá tétele érdekében.

Titkos kódok kezelője

Ha titkos kulcsokkal rendelkezik az Azure-ban, használja az Azure Key Vaultot . A Key Vaultot a ConfigurationBuilder objektummal is beépítheti a .NET-alkalmazásokba.

Példa: A Relecloud helyszíni webalkalmazása kódkonfigurációs fájlokban tárolt titkos kulcsokat, de jobb biztonsági gyakorlat a titkos kódok külsősítésére. Bár a felügyelt identitások az Azure-erőforrásokhoz való csatlakozás előnyben részesített megoldásai, a Relecloud alkalmazáskulcsokkal rendelkezett, amelyeket kezelniük kellett. A Relecloud a Következő okokból használta a Key Vaultot:

  • Titkosítás: Támogatja a inaktív és az átvitel közbeni titkosítást.

  • Felügyelt identitások: Az alkalmazásszolgáltatások felügyelt identitásokkal férhetnek hozzá a titkos tárhoz.

  • Monitorozás és naplózás: Megkönnyíti a naplózási hozzáférést, és riasztásokat hoz létre a tárolt titkos kódok módosításakor.

  • Integráció: Natív integrációt biztosít az Azure-konfigurációs áruházzal (App Configuration) és a web hosting platformmal (App Service).

Tárolási megoldás

Válassza ki a webalkalmazás legjobb tárolási megoldását. További információ: A tárolási beállítások áttekintése.

Példa: A helyszíni webalkalmazás lemeztárolóval rendelkezik az egyes webkiszolgálókhoz, de a csapat egy külső adattárolási megoldást akart használni. A Relecloud a következő okokból választotta az Azure Blob Storage-t :

  • Biztonságos hozzáférés: A webalkalmazás megszüntetheti a nyilvános interneten névtelen hozzáféréssel elérhető tárolók elérésének végpontjait.

  • Titkosítás: Inaktív és átvitel alatt lévő adatokat titkosít.

  • Rugalmasság: Támogatja a zónaredundáns tárolást (ZRS). A zónaredundáns tárolás szinkronizálva replikálja az adatokat az elsődleges régió három Azure rendelkezésre állási zónájában. Minden rendelkezésre állási zóna külön fizikai helyen található, amely független tápellátással, hűtéssel és hálózatkezeléssel rendelkezik. Ennek a konfigurációnak ellenállóvá kell tennie a jegyrendszerképeket a veszteséggel szemben.

Végpontbiztonság

Válassza ki, hogy csak privát hozzáférést engedélyez-e az Azure-szolgáltatásokhoz. Az Azure Private Link hozzáférést biztosít a szolgáltatásként nyújtott platformmegoldásokhoz a virtuális hálózaton található privát végponton keresztül. A virtuális hálózat és a szolgáltatás közötti forgalom a Microsoft gerinchálózatán halad át.

Példa: A Relecloud a Private Linket a következő okokból használta:

  • Továbbfejlesztett biztonsági kommunikáció: Lehetővé teszi az alkalmazás számára a szolgáltatások privát elérését az Azure platformon, és csökkenti az adattárak hálózati lábnyomát az adatszivárgás elleni védelem érdekében.

  • Minimális erőfeszítés: A privát végpontok támogatják a webalkalmazás által használt webalkalmazás-platformot és adatbázisplatformot. Mindkét platform a meglévő helyszíni konfigurációkat tükrözi minimális módosítás céljából.

Hálózati biztonság

Válassza ki, hogy hálózati biztonsági szolgáltatásokat szeretne-e hozzáadni a virtuális hálózatokhoz. Az Azure Firewall állapotalapú, hálózati tűzfal, amely a hálózati forgalmat vizsgálja. Az Azure Bastion lehetővé teszi, hogy biztonságosan csatlakozzon a virtuális gépekhez RDP/SSH-portok felfedése nélkül.

Példa: A Relecloud egy küllős hálózati topológiát fogadott el, és megosztott hálózati biztonsági szolgáltatásokat szeretett volna a központban elhelyezni. Az Azure Firewall a küllőkről érkező összes kimenő forgalom vizsgálatával javítja a biztonságot a hálózati biztonság növelése érdekében. A Relecloudnak szüksége volt az Azure Bastionra a DevOps-alhálózatban található ugró gazdagép biztonságos üzembe helyezéséhez.

A megfelelő architektúra kiválasztása

Miután meghatározta a webalkalmazás számára elérhető eszközöket , és kiválasztotta a legjobb felhőszolgáltatásokat, meg kell határoznia a webalkalmazás legjobb architektúráját. Az architektúrának támogatnia kell az üzleti követelményeket, a műszaki követelményeket és az SLO-t.

Architektúra-redundancia kiválasztása

Az üzleti célok határozzák meg, hogy milyen szintű infrastruktúrára és adatredundanciára van szüksége a webalkalmazásnak. A webalkalmazás SLO jó alapkonfigurációt biztosít a redundanciakövetelmények megértéséhez. Számítsa ki az összetett SLA-t a kritikus rendelkezésre állási útvonalon lévő összes függőséghez. A függőségeknek tartalmazniuk kell az Azure-szolgáltatásokat és a nem Microsoft-megoldásokat.

Rendeljen hozzá egy rendelkezésre állási becslést az egyes függőségekhez. A szolgáltatásiszint-szerződések (SLA-k) jó kiindulópontot biztosítanak, de az SLA-k nem veszik figyelembe a kódokat, az üzembehelyezési stratégiákat és az architektúrakapcsolati döntéseket.

Példa: A Relecloud a rendelkezésre állás kritikus útvonalán azonosította a szolgáltatásokat. Az Azure SLA-kat használták a rendelkezésre állási becslésekhez. Az összetett SLA-számítás alapján a Relecloudnak többrégiós architektúrára volt szüksége, hogy megfeleljen a 99,9%-os SLO-nak.

Hálózati topológia kiválasztása

Válassza ki a webes és hálózati követelményeknek megfelelő hálózati topológiát. A küllős hálózati topológia az Azure standard konfigurációja. Költség-, felügyeleti és biztonsági előnyöket biztosít. Emellett támogatja a helyszíni hálózatok hibrid csatlakozási lehetőségeit is.

Példa: A Relecloud egy küllős hálózati topológiát választott a többrégiós üzembe helyezés biztonságának növelése érdekében csökkentett költséggel és felügyeleti többletterheléssel.

Adatredundancia kiválasztása

Az adatok megbízhatóságának biztosítása az Azure régióiban és rendelkezésre állási zónáiban való elosztásával; minél nagyobb a földrajzi elkülönítésük, annál nagyobb a megbízhatóság.

  • Helyreállítási pont célkitűzésének (RPO) beállítása. Az RPO határozza meg a maximálisan tolerálható adatvesztést egy kimaradás során, amely meghatározza, hogy milyen gyakran kell az adatoknak replikálnia. Az egyórás RPO például azt jelenti, hogy legfeljebb egy óranyi adatvesztést fogad el.

  • Adatreplikálás implementálása. Az adatreplikálás összehangolása az architektúrával és az RPO-val. Az Azure általában támogatja a szinkron replikációt a rendelkezésre állási zónákon belül. Több zóna használata a megbízhatóság egyszerű növeléséhez. Aktív-passzív beállításban lévő többrégiós webalkalmazások esetében replikálja az adatokat a passzív régióba a webalkalmazás RPO-jának megfelelően, biztosítva, hogy a replikáció gyakorisága meghaladja az RPO-t. Az aktív-aktív konfigurációk közel valós idejű adatszinkronizálást igényelnek a régiók között, ami kódmódosítást igényelhet.

  • Feladatátvételi terv létrehozása. Feladatátvételi (vészhelyreállítási) terv kidolgozása, amely felvázolja a leállásokra adott válaszstratégiákat, amelyeket az állásidő vagy a funkcióvesztés határoz meg. Adja meg a helyreállítási idő célkitűzéseit (RTO) a maximális elfogadható állásidőhöz. Győződjön meg arról, hogy a feladatátvételi folyamat gyorsabb, mint az RTO. Döntsön az automatikus vagy manuális feladatátvételi mechanizmusokról a konzisztencia és az ellenőrzés érdekében, és részletezi a normál üzemeltetési folyamathoz való visszatérést. Tesztelje a feladatátvételi tervet a hatékonyság érdekében.

Következő lépés

Ez a cikk bemutatta, hogyan tervezheti meg a Reliable Web App minta implementálását. A következő lépés a Reliable Web App minta implementálási technikáinak alkalmazása.