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á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.