Szerkesztés

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


Az Azure Spring Apps alaparchitektúrája

Azure Application Gateway
Azure Key Vault
Azure Spring Apps
Azure Database for MySQL

Ez a referenciaarchitektúra bemutatja, hogyan futtathat Java Spring Boot-számítási feladatokat az Azure Spring Appsben. A kialakítás zónaredundanciát használ a magas rendelkezésre állás eléréséhez. Implementálja ezt a tervet, hogy megakadályozza az alkalmazás meghibásodását, ha egy zóna összes adatközpontjában kimaradás van.

Ez az architektúra a következőkben nyújt segítséget:

  • Az alkalmazás rendelkezésre állásának növelése egyzónás üzemelő példányon keresztül.
  • Növelje az alkalmazás általános rugalmasságát és szolgáltatásiszint-célkitűzését (SLO).

Ez a megoldás egy alapstratégiát mutat be az Azure Spring Apps üzembe helyezéséhez. Az architektúrára épülő egyéb megoldásokért tekintse meg az Azure Spring Apps üzembe helyezését több régióban és a kezdőzónákkal integrált Azure Spring Appst.

Tipp.

GitHub-embléma Tekintse meg az architektúra néhány tervezési lehetőségeit bemutató példa implementációt . Ezt a megvalósítást tekintheti az első lépésnek az éles környezet felé.

Architektúra

Az alábbi ábra a megközelítés architektúrájának szemlélteti:

Többrégiós Azure Spring Apps-referenciaarchitektúrát bemutató ábra.Töltse le az architektúra Visio-fájlját.

Munkafolyamat

Ez a munkafolyamat az előző diagramnak felel meg:

  1. A felhasználó az alkalmazás HTTP-állomásnevével fér hozzá az alkalmazáshoz, például www.contoso.com. Az Azure DNS a gazdagép nevének kérésének a Azure-alkalmazás átjáró nyilvános végpontra való feloldására szolgál.

  2. Az Application Gateway a kérés vizsgálatára szolgál. Az engedélyezett forgalmat a kiépített Azure Spring Apps-példányban lévő terheléselosztó IP-címére is továbbítja. Az Application Gateway integrálva van az Azure Web Application Firewall szolgáltatással.

  3. A belső terheléselosztó a forgalmat a háttérszolgáltatásokhoz irányítja.

  4. A kérés feldolgozása közben az alkalmazás kommunikál a virtuális hálózaton belüli többi Azure-szolgáltatással. Előfordulhat például, hogy az alkalmazás titkos kulcsokat kap az Azure Key Vaultból, vagy az adatbázisból származó tárolási állapotot.

Összetevők

Az architektúra összetevői a következő Azure-szolgáltatások:

  • Az Azure Spring Apps standard verziója egy mikroszolgáltatásként implementált Java Spring Boot-mintaalkalmazás üzemeltetésére szolgál.

  • Az Application Gateway standard v2-es verziója az alkalmazások felé irányuló forgalom kezelésére szolgál. Az alkalmazás által futtatott régióban helyi fordított proxyként működik.

    Ez a termékváltozat integrált webalkalmazási tűzfallal rendelkezik, amely segít megvédeni a webalkalmazásokat a biztonsági rések és a biztonsági rések ellen. Az Application Gateway webalkalmazási tűzfala nyomon követi az Open Web Application Security Project (OWASP) biztonsági réseit.

  • Az Azure DNS az alkalmazás gazdagépének nevére küldött kérelmek megoldására szolgál. Feloldja ezeket a kéréseket az Application Gateway nyilvános végpontja felé. Az Azure DNS privát zónái a nevesített Azure Private Link-erőforrásokhoz hozzáférő privát végpontokra irányuló kérések megoldására szolgálnak.

  • Az Azure Database for MySQL egy háttérbeli relációs adatbázisban tárolja az állapotot.

  • A Key Vault az alkalmazás titkos kulcsainak és tanúsítványainak tárolására szolgál. Az Azure Spring Appsben futó mikroszolgáltatások az alkalmazás titkos kulcsait használják. Az Azure Spring Apps és az Application Gateway a gazdagépnév megőrzéséhez használja a tanúsítványokat.

Alternatívák

Nem az Azure Database for MySQL az egyetlen lehetőség az adatbázisokhoz. Használhatja a következőt is:

Redundancia

Hozzon létre redundanciát a számítási feladatban, hogy minimálisra csökkentse a meghibásodási pontokat. Ebben az architektúrában az összetevőket egy régión belüli zónákra replikálja. Az architektúrában győződjön meg arról, hogy a beállítás összes összetevőjéhez rendelkezésre állási zónákat használ.

Az Azure-szolgáltatások nem minden régióban támogatottak, és nem minden régió támogatja a zónákat. Mielőtt kijelöl egy régiót, ellenőrizze annak regionális és zónatámogatását.

A zónaredundáns szolgáltatások automatikusan replikálják vagy elosztják az erőforrásokat a zónák között. A mindig elérhető szolgáltatások minden Azure-régióban elérhetők, és rugalmasak a zónaszintű és régiószintű kimaradásokkal szemben.

Az alábbi táblázat az architektúra szolgáltatásainak rugalmassági típusait mutatja be:

Szolgáltatás Tartósság
Azure DNS Mindig elérhető
Application Gateway Zónaredundáns
Azure Spring Apps Zónaredundáns
Azure Database for MySQL Zónaredundáns
Key Vault Zónaredundáns
Azure Virtual Network Zónaredundáns
Azure-beli privát végpontok Zónaredundáns

Az Azure Spring Apps támogatja a zónaredundanciát. A zónaredundanciával a szolgáltatás összes mögöttes infrastruktúrája több rendelkezésre állási zónában is elérhetővé válik, ami magasabb rendelkezésre állást biztosít az alkalmazás számára. Az alkalmazások horizontálisan skálázhatók kódmódosítások nélkül. Egy nagy teljesítményű hálózat csatlakoztatja az Azure rendelkezésre állási zónáit. A kapcsolat 2 ezredmásodpercnél (ms) kisebb ciklikus késéssel rendelkezik. Az adatterhelésekhez nem kell aszinkron replikációra támaszkodnia, ami gyakran tervezési kihívásokat jelent.

Az Application Gatewayhez több rendelkezésre állási zóna is be van állítva, beleértve az Application Gateway által használt nyilvános IP-címet is. A standard termékváltozattal rendelkező nyilvános IP-címek támogatják a rendelkezésre állási zónákat.

Ez az architektúra az Azure Database for MySQL-t használja a rugalmas kiszolgálótelepítési lehetőséggel a magas rendelkezésre állás automatikus feladatátvétellel való támogatásához. A késési követelményektől függően válassza a zónaredundáns magas rendelkezésre állást vagy az azonos zóna magas rendelkezésre állását. Magas rendelkezésre állású konfiguráció esetén a rugalmas kiszolgálói beállítás automatikusan kiépít és kezel egy készenléti replikát. Ha leállás történik, a véglegesített adatok nem vesznek el.

A Key Vault automatikusan zónaredundáns minden régióban, ahol rendelkezésre állási zónák érhetők el. Az architektúrában használt Key Vault-példány a háttérszolgáltatások titkos kulcsainak tárolására van üzembe helyezve.

Méretezhetőség

A méretezhetőség azt jelzi, hogy a számítási feladat hatékonyan képes megfelelni a felhasználók által támasztott követelményeknek. A többzónás megközelítés jobb a méretezhetőség szempontjából, mint az egyzónás üzemelő példányok, mivel a terhelést elosztja a rendelkezésre állási zónák között.

Ez az architektúra számos olyan összetevőt tartalmaz, amelyek a metrikák alapján automatikusan skálázhatók:

Az adatbázis beállításától függően további késést okozhat, ha szinkronizálnia kell az adatokat a zónák között.

Hálózati biztonság

Az alkalmazás védelme az internetről való jogosulatlan hozzáférés, a magánhálózatok rendszerei, más Azure-szolgáltatások és szorosan összekapcsolt függőségek ellen.

A virtuális hálózat az Azure-beli magánhálózat alapvető építőeleme. Ez az architektúra egy virtuális hálózatot használ az üzembe helyezés régiójához. Helyezze az összetevőket az alhálózatokra, hogy további elkülönítést hozzon létre. Az Azure Spring Appshez dedikált alhálózatra van szükség a szolgáltatás futtatókörnyezetéhez, valamint egy külön alhálózatot a Java Spring Boot-alkalmazásokhoz.

A virtuális hálózatok védelme az Azure DDoS Protection használatával. Kombinálja az elosztott szolgáltatásmegtagadási (DDoS) védelmet az alkalmazástervezés ajánlott eljárásaival, hogy továbbfejlesztett megoldásokat biztosítson a DDoS-támadások elleni védelemhez.

Az architektúra kialakítása számos szolgáltatásként nyújtott platformot (PaaS) tartalmaz, amelyek segítenek feldolgozni egy felhasználói kérést. Helyezzen szigorú hálózati vezérlőket ezekre a szolgáltatásokra, hogy az alkalmazás ne legyen érintett.

Privát kapcsolat

Privát végpontok vagy hálózati integráció használatával biztosíthatja az Azure Spring Appstől a támogató szolgáltatások, például a Key Vault és az Azure Database for MySQL közötti kommunikációt.

Privát végpontok használata a hozzáférés szabályozásához. A hálózati adapterek privát IP-címekkel továbbítják a szolgáltatásokat a virtuális hálózatba. Ez az architektúra olyan Azure-szolgáltatásokat használ, amelyek automatikusan beállítják a privát végpontokat.

Az Azure Spring Apps üzembe helyezése a hálózatba a virtuális hálózati injektálási folyamaton keresztül. Az alkalmazás a privát IP-cím elérésével érhető el.

Az adatbázis egy hasonló modellt követ. Az Azure Database for MySQL rugalmas kiszolgálótelepítési módja támogatja a virtuális hálózati integrációt egy dedikált alhálózaton keresztül.

Más szolgáltatások, például a Key Vault, privát kapcsolaton keresztül csatlakoznak a virtuális hálózathoz. Privát kapcsolat esetén engedélyeznie kell egy privát végpontot a nyilvános hálózati hozzáférés letiltásához. További információ: Key Vault integrálása a Private Linkkel.

A privát végpontok nem igényelnek dedikált alhálózatot, de ajánlott külön alhálózatba helyezni őket. A privát végpontokhoz tartozó privát IP-címek az alhálózathoz vannak rendelve.

A privát végpont és a hálózatba integrált kapcsolatok azure DNS privát zónát használnak.

A forgalom vezérlői

Ezzel az architektúrával a bejövő kérések csak az Application Gateway által közzétett nyilvános végponton keresztül engedélyezettek. A forgalmat továbbra is ellenőrizni kell a biztonsági rések és a biztonsági rések blokkolásához. Az Application Gateway webalkalmazási tűzfala nyomon követi az OWASP biztonsági réseit. A bejövő forgalmat a konfigurált szabályok alapján vizsgáljuk meg egy követendő művelettel.

Az Azure Spring Apps-példány rendelkezik egy belső terheléselosztóval, amely a forgalmat a háttérszolgáltatásokhoz irányítja és osztja el. A terheléselosztó úgy van konfigurálva, hogy csak az Application Gatewayről fogadjon forgalmat.

Előfordulhat, hogy az alkalmazásnak más végpontokkal kell csatlakoznia a nyilvános interneten keresztül. A folyamat korlátozásához érdemes lehet az Azure Firewallt a kimenő útvonalon elhelyezni.

Fordított proxy beállítása

Ez a megoldás az Application Gatewayt használja fordított proxyként. Az Azure Spring Apps előtt azonban különböző fordított proxykat használhat. Kombinálhatja az Application Gatewayt az Azure Front Doorral, vagy használhatja az Azure Front Doort az Application Gateway helyett.

A fordított proxy forgatókönyveiről, beállításukról és biztonsági szempontjaikról az Azure Spring Apps fordított proxyn keresztüli közzétételét ismertető cikkben olvashat.

Identitás- és hozzáférés-kezelés

A hálózati vezérlők használata mellett erősítse meg a biztonsági helyzetet az identitás szegélyként való használatával.

Az alkalmazásnak hitelesítenie kell magát, amikor csatlakozik a háttérszolgáltatásokhoz, például ha az alkalmazás titkos kulcsokat kér le a Key Vaultból. Az alkalmazásban az ajánlott módszer a Microsoft Entra által felügyelt identitások engedélyezése az Azure-erőforrásokhoz. Ez a konfigurációs módszer identitást rendel az alkalmazáshoz, hogy megszerezhesse a Microsoft Entra-azonosító jogkivonatait, ami csökkenti a hitelesítő adatok kezelésének többletterhelését.

Ez az architektúra rendszer által hozzárendelt felügyelt identitásokat használ több interakcióhoz.

A háttérszolgáltatásoknak lehetővé kell tenni a felügyelt identitáshoz lefoglalt szolgáltatásnév elérését. A szolgáltatásnak minimális hozzáférési szabályzatokat kell meghatároznia bizonyos műveletekhez. Ebben az architektúrában a Key Vault segítségével az alkalmazás hozzáférhet a titkos kódokhoz, tanúsítványokhoz és kulcsokhoz.

Titkos kódok kezelése

Ez az architektúra egyetlen kulcstartóban tárolja az alkalmazás titkos kulcsait és tanúsítványait. Az alkalmazás titkos kódjai és a gazdagépnév megőrzésére szolgáló tanúsítványok különböző szempontok, ezért érdemes ezeket az elemeket külön kulcstartókban tárolni. Ez az alternatív megközelítés egy másik kulcstartót ad hozzá az architektúrához.

Figyelés

Az Azure Monitor monitorozási megoldás a felhőből és a helyszíni környezetekből származó monitorozási adatok gyűjtésére, elemzésére és megválaszolására.

Adjon hozzá rendszerezést az alkalmazáshoz a naplók és metrikák kódszinten való kibocsátásához. Fontolja meg az elosztott nyomkövetés engedélyezését az Azure Spring Apps-példányon belüli szolgáltatások közötti megfigyelhetőség biztosításához. A naplók és metrikák adatainak gyűjtéséhez használjon egy alkalmazásteljesítmény-kezelési (APM) eszközt. Az Azure Monitorhoz készült Alkalmazás Elemzések Java-ügynök jó választás az APM-eszközhöz.

A platformdiagnosztika segítségével naplókat és metrikákat kérhet le az összes Azure-szolgáltatásból, például az Azure Database for MySQL-ből. Az összes adat integrálása az Azure Monitor-naplókkal, hogy teljes körű betekintést nyújtson az alkalmazásba és a platformszolgáltatásokba.

Az Azure Log Analytics-munkaterület a monitorozási adatgyűjtő, amely naplókat és metrikákat gyűjt az Azure-erőforrásokból és az Alkalmazás Elemzések. Ez a naplózási megoldás láthatóságot biztosít, amely segít az automatizálási folyamatoknak az összetevők valós idejű méretezésében. A naplóadatok elemzése az alkalmazáskódban is feltárhatja azokat a hatékonysági hiányosságokat, amelyeket a költségek és a teljesítmény javítása érdekében kezelhet.

A Spring App-specifikus monitorozási útmutatóért tekintse meg az alkalmazások végpontok közötti monitorozását és a Dynatrace Java OneAgenttel való monitorozását.

Automatikus üzembe helyezés

A lehető legnagyobb mértékben automatizálja az infrastruktúra üzembe helyezését és az alkalmazáskód üzembe helyezését.

Az infrastruktúra üzembe helyezésének automatizálása garantálja, hogy az infrastruktúra konfigurációja azonos legyen, ami segít elkerülni a konfigurációs eltérést, ami potenciálisan a környezetek között is lehetséges. Az infrastruktúra-automatizálással is tesztelheti a feladatátvételi műveleteket.

Az alkalmazásokhoz kék-zöld vagy kanári üzembe helyezési stratégiát használhat.

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.

Az alábbi szempontok útmutatást nyújtanak az Azure Well-Architected Framework pilléreinek implementálásához az architektúra kontextusában.

Megbízhatóság

A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információ: A megbízhatósági pillér áttekintése.

Hajtsa végre a következő javaslatokat egy megbízhatóbb alkalmazás létrehozásához:

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

A következő javaslatok implementálása egy biztonságosabb alkalmazás létrehozásához:

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.

Ennél az architektúránál magasabb költségekre számíthat, mivel több zónában helyez üzembe összetevőket. Az Azure Spring Apps egy példánya helyett két vagy akár három példányt is futtat. A zónaredundancia szolgáltatáson való engedélyezésének azonban nincs többletköltsége. További információkért tekintse meg az Azure Spring Apps díjszabását.

Vegye figyelembe a következő megvalósítási lehetőségeket a költségek kezeléséhez:

  • Különböző alkalmazásokat és alkalmazástípusokat helyezhet üzembe az Azure Spring Apps egyetlen példányán. Több alkalmazás üzembe helyezésekor a mögöttes infrastruktúra költsége megoszlik az alkalmazások között.

  • Az Azure Spring Apps támogatja a metrikák vagy ütemezések által aktivált alkalmazások automatikus skálázását, ami javíthatja a kihasználtságot és a költséghatékonyságot.

  • Az Azure Monitor alkalmazás Elemzések használatával csökkentheti az üzemeltetési költségeket. A folyamatos monitorozás segíthet a problémák gyorsabb megoldásában, valamint a költségek és a teljesítmény javításában.

  • A követelményeknek megfelelően válassza ki a legjobb tarifacsomagot:

  • Az alkalmazások automatikus skálázása igény szerint fel- és leskálázható.

Az architektúra szolgáltatásainak becsült költségeiért tekintse meg az Azure díjkalkulátorát. Ez a becslés ésszerű alapértelmezett értékeket használ egy kis léptékű alkalmazáshoz. A becslést az alkalmazás várt átviteli sebesség értékei alapján frissítheti.

Működés eredményessége

Az üzemeltetési kiválóság azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: A működési kiválósági pillér áttekintése.

A korábban ismertetett monitorozási útmutató mellett hajtsa végre az alábbi javaslatokat az alkalmazás üzembe helyezéséhez és figyeléséhez.

Teljesítmény hatékonysága

A teljesítménybeli hatékonyság lehetővé teszi, hogy a számítási feladatok hatékonyan méretezhetők legyenek a felhasználók igényei szerint. További információ: A teljesítményhatékonysági pillér áttekintése.

A hatékonyabb alkalmazás létrehozásához hajtsa végre az alábbi javaslatokat:

A forgatókönyv üzembe helyezése

Az architektúra üzembe helyezéséhez kövesse az Azure Spring Apps többzónás referenciaarchitektúrájának részletes utasításait. Az üzembe helyezés Terraform-sablonokat használ.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések