Több-bérlős SaaS az Azure-ban

Microsoft Entra ID
Azure App Service
Azure DNS
Azure Front Door
Azure Kubernetes Service (AKS)

Ha azonosítja a vállalat szoftvermegoldásának egy részét, amelyet más vállalkozások számára is el tud bontani és forgalmazni, az egy teljes új bevételi forrást ad hozzá egy vállalat számára. A megoldás konfigurálása azonban gyakran kihívást jelentő akadályt jelent a bérlők terhelésének figyelembe vételéhez. Ez a megoldás olyan Azure-technológiák csomagját ismerteti, amelyek biztosítják és kiegyensúlyozza a forgalmat.

Architektúra

Diagram showing a multitenant SaaS architecture set up in Azure in two different regions.

Töltse le az architektúra Visio-fájlját.

Workflow

Az Azure-technológiák egy csomagja biztosítja a forgalom biztonságát és terheléselosztását.

  1. A Microsoft Azure Front Door néhány kezdeti feladatot kezel:

    • A kezdeti kérés feldolgozása

    • Terheléselosztás a régiók között

    • SSL(HTTPS) leállítása és kiszervezése

    • Feladatátvétel regionális kimaradás esetén

  2. Az Azure DNS kezeli a DNS-rekordokat, és biztosítja az útválasztást a megfelelő Azure Front Door-végponthoz.

  3. Az architektúra a Microsoft Entra ID azonosítót használja identitásszolgáltatóként a hitelesítéshez.

  4. Miután átirányította a megfelelő régióba, az Application Gateway útvonalakat és terheléselosztásokat vezet, és a kéréseket a megfelelő Azure-alkalmazás szolgáltatáshoz irányítja.

  5. Ebben az architektúrában az App Service használata a következő szolgáltatások előnyben részesített szolgáltatása:

    • Bármely HTTP-alapú alkalmazás.

    • Webes tartalom kiszolgálása.

    • Restful API-k felfedve.

    • Üzleti logika megvalósítása az előtérbeli alkalmazás mögött.

    Beállíthatja, hogy az App Service automatikusan fel- és kiskálázható legyen. Ez az App Service-t alkalmassá teszi a bérlői HTTP-alapú kérések igény szerinti skálázására.

  6. Az adatelérési réteg szolgáltatásai a terhelés alapján egymástól függetlenül skálázhatók. Az adatszolgáltatások adatmodelleket, kapcsolati ügyfeleket és illesztőprogramokat kezelnek. A szolgáltatások konzisztens adatillesztőt is biztosítanak az összes olyan magasabb szintű szolgáltatás számára, amely adatokat kíván felhasználni az alkalmazásban. Ezeket az adatszolgáltatásokat az Azure Kubernetes Service (AKS) használatával helyezheti üzembe és méretezheti. Minden AKS-fürt felelős a réteg kapcsolódó funkcióiért. Az AKS implementálhat egy mikroszolgáltatás-architektúrát, amely tárolók sorozatát tartalmazza, amelyek mindegyike a fürt bizonyos funkcióit foglalja magában. Ez lehetővé teszi a kódon belüli nagyfokú absztrakciót és összekapcsolást. Azt is lehetővé teszi, hogy a fürtök egyenként horizontálisan felskálázhatók, hogy figyelembe vegyék a több bérlő megnövekedett terhelését. Minden fürt vertikálisan felskálázhatja az erőforrásait, ha a fürt terhelése nő. A vertikális felskálázás nem befolyásolja az erőforráscsoport többi fürtjének állapotát, amíg nem tapasztalják ugyanazt a növekedést.

  7. Relációs adatok tárolása és kezelése az alkalmazás-keretrendszeren kívül. Ezzel egyetlen adatbeviteli pontot biztosít mindkét régióhoz. Az Azure SQL Elastic Pools erősségének kihasználásával replikációt, rendelkezésre állást, méretezhetőséget és biztonságot érhet el. Minden bérlőnek egy adatbázist kell létrehoznia egy készletben. Foglalja le a készletben elérhető erőforrásokat az igény szerinti adatbázisokhoz a terhelés és a kérések érkezésekor. Ez optimalizálja a bérlők számára elérhető adatbázis-erőforrásokat a költségvetéshez.

Összetevők

Az elsődleges összetevők a megoldás architektúrájának javasolt összetevői. Ha valamelyik elsődleges összetevő nem felel meg az architektúrának, tekintse meg az alternatív összetevők listáját.

Elsődleges összetevők

  • Azure Front Door: Regionális terheléselosztó, amely az ügyfélforgalmat a megfelelő régióba irányítja. Regionális hiba esetén a feladatátvételt a második régióba is átadhatja, és az Azure Web Application Firewallon keresztül biztonságossá teheti az internetre irányuló belépési pontot.

  • Microsoft Entra-azonosító: A teljes alkalmazás identitásszolgáltatójaként működik, kényszerítve a hitelesítést és a kérés teljes körű engedélyezését az alkalmazásban.

  • Azure DNS: Egy üzemeltetési szolgáltatás az Azure-ban a tartománynév feloldásához. Több-bérlős megoldásban több ügyfél is hozzáfér a megoldáshoz a saját tartományaikon keresztül. Az Azure DNS használatával konfigurálhatja és feloldhatja az ügyfélkéréseket a megfelelő alkalmazásveremhez.

  • Application Gateway: Az alkalmazás belső forgalmát irányítja és terheléselosztja az ügyfél üzleti igényeinek megfelelő különböző szolgáltatásokhoz. Bár az Azure Front Door kiegyensúlyozza a terhelést a magas szintű régiók között, az Application Gateway az, amely tisztában van a csoporton belüli egyes szolgáltatások terhelésével. Az Azure Front Door és az Application Gateway kombinálva összetett terheléselosztást biztosít egy több-bérlős megoldás minden szintjén. Az Azure-beli terheléselosztási lehetőségekről további információt az Azure terheléselosztási lehetőségeinek áttekintésében talál.

  • App Service: Az Azure első számú szolgáltatása webalkalmazásokhoz és webalapú API-khoz. A biztonság olyan szolgáltatásokkal integrálható, mint a Microsoft Entra ID és az Azure Key Vault. Az automatikus skálázás konfigurálható. Emellett a skálázható erőforrások mennyisége rugalmas a különböző App Service-csomagok között, amelyeken az alkalmazás futtatható. Az App Service integrált DevOps-képességeket is használhat a folyamatos integrációhoz és több környezetbe való üzembe helyezéshez. Ezek és az Azure-platform egyéb támogató funkciói lehetővé teszik a fejlesztők számára, hogy az alkalmazásaik fejlesztésére összpontosítsanak.

  • Azure Kubernetes Service (AKS): A fürtön üzembe helyezett tárolólemezképek példányainak vezénylése. Több ügyfél adatainak kezelése gyakran magában foglalja az összetevők egy csomagjának kezelését:

    • Adatmodellezés

    • Adatforrás-kapcsolatok

    • Kinyerés, átalakítás, betöltés (ETL)

    • Importálási/exportálási tevékenységek

    A sok kisebb összetevő tárolóalapú mikroszolgáltatásként való fejlesztése ideális forgatókönyvet teremt az AKS-fürtön való üzembe helyezéshez. Az automatikus skálázáshoz, a terheléselosztáshoz és a frissíthetőséghez szükséges eszközök a keretrendszerbe vannak beépítve. Az AKS jól integrálható a folyamatos integrációs/folyamatos kézbesítési (CI/CD) stratégiával az elérhető DevOps-funkciók és az Azure Container Registry használatával.

  • Rugalmas Azure SQL-készletek: Megoldást kínál adatbáziskészletek rugalmas kezelésére egy erőforráskészlettel. A szolgáltatás igény szerint lefoglalja az erőforrásokat az adatbázisokhoz. Lehetővé teszi egy több-bérlős SaaS-architektúra fejlesztőjének, hogy szükség esetén adatbázis-erőforrásokat biztosítson az ügyfeleknek. A szolgáltatás emellett csökkenti a költségvetést és a többletterhelést is, ha több SQL Servert tart fenn nagy mennyiségű nem használt számítási erőforrással.

  • Azure Cognitive Search (korábbi nevén Azure Search): Egy olyan szolgáltatás, amely egy hatékony indexelő és lekérdezési motort ad hozzá az alkalmazáshoz. Hozzáférést biztosít az ügyfeleknek az erős lekérdezési funkciókhoz. Emellett az Azure AI-képességeivel bővíthetik és fejleszthetik a lekérdezési funkciókat. Az Azure Cognitive Search bérlőnkénti vagy szolgáltatásonkénti stratégiával számolhat el több-bérlős használatot.

  • Azure Cache for Redis: Szolgáltatásként gyorsítótárazási réteget alkalmaz a megoldásra, amely memóriabeli felügyelt gyorsítótárat biztosít a késés csökkentése és az ügyfelek teljesítményének növelése érdekében. A magas átviteli sebesség lehetővé teszi, hogy nagy mennyiségű kérés kezelje a rendszerhez hozzáférő bérlőket. Rugalmasan skálázhatja fel a szolgáltatást az alkalmazás terhelésének növekedésével. Emellett támogatja a inaktív titkosítást a gyorsítótárazott bérlői adatok védelme és elkülönítése érdekében.

Alternatív összetevők

  • Azure-beli virtuálisgép-méretezési csoportok: Lehetővé teszi szolgáltatások üzembe helyezését egy virtuálisgép-környezetbe, amely igény szerint automatikusan méretezhető és növekszik. A virtuálisgép-méretezési csoportok jól integrálhatók a Load Balancerrel vagy az Application Gatewayrel a terhelés automatikus újraegyensúlyozásához a méretezési csoport növekedésével. A virtuálisgép-méretezési csoportok biztosítják a megoldás által igényelt méretezhetőséget. Sok esetben azonban szükségtelen a teljes virtuálisgép-környezet kezelése, és ezt a veremszintet az App Service-be vagy az AKS-be halaszthatjuk.

  • Azure SQL Database: Egyéni dedikált példányként implementálva az Elastic Pools helyett. Az Azure SQL Database használata nagyobb többletterhelést okoz a példány közvetlen kezelése során, és több költséggel jár a lefoglalt erőforrások esetében. Ez elfogadható alternatíva, ha a bérlő dedikált kiszolgálót igényel. Előfordulhat, hogy az ügyfél nagyobb ellenőrzést igényel a példány és a dedikált rendelkezésre álló erőforrások felett. A dedikált SQL Servert igénylő bérlők egy rugalmas készletkonfiguráció bérlőivel együtt létezhetnek. Az SQL-adatbázisok egy rétegét elérhetővé teheti a bérlők számára az SaaS-licencek megvásárlásakor.

  • SQL Server virtuális gépeken: Az SQL-adatbázisok üzembe helyezésének másik lehetősége. Előfordulhat, hogy a bérlő rendelkezik már meglévő informatikai infrastruktúrával és meglévő SQL Serverekkel a helyszínen. Ebben az esetben előfordulhat, hogy a bérlő a jelenlegi licenceit teljes migrálásként vagy hibrid forgatókönyvként szeretné használni. Az SaaS leválasztott jellege lehetővé teszi, hogy az alkalmazás adatrétege konfiguráláson keresztül megcélozza az SQL Database-t.

Forgatókönyv részletei

Ha azonosítja a vállalat szoftvermegoldásának egy részét, amelyet más vállalkozások számára is el tud bontani és forgalmazni, az egy teljes új bevételi forrást ad hozzá egy vállalat számára. A megoldás konfigurálása azonban gyakran kihívást jelentő akadályt jelent a bérlők terhelésének figyelembe vételéhez.

Az Azure számos szolgáltatást kínál egy olyan szoftvermegoldás kezeléséhez, amely:

  • Rugalmasan karbantartja az összes ügyfél adatbázisait.

  • Skálázza a megoldás üzleti és logikai szintjét, hogy megakadályozza a számítási réteg szűk keresztmetszeteit.

  • Integrálja a rendelkezésre állást és a regionális feladatátvételt.

  • Teljes körű biztonságot nyújt a megoldás minden szintjén.

Lehetséges használati esetek

Ezek a használati esetek olyan tervezési mintákkal rendelkeznek, amelyek az Azure-ban üzemeltetett több-bérlős SaaS-megoldás előnyeit élvezhetik:

  • Olyan ügyfélkapcsolat-kezelési (CRM) megoldást fejleszthet, amelyet az ügyfelek forgalmazhatnak és értékesíthetnek az ügyfeleknek.

  • Implementáljon egy tartalomkezelő rendszert (CMS) és szállítsa azt több felhasználónak ezzel az architektúrával.

Considerations

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.

Több-bérlős

Ebben a megoldásban a több-bérlős megoldás a legfontosabb szempont. A megoldás egyszerre több ügyfelet is kezel. Emellett elegendő erőforrást foglal le az összes ügyfélkérés hatékony feldolgozásához. A kérések feldolgozása során a megoldás biztosítja a globális végpontok forgalmát, és elkülöníti az ügyféladatokat a behatolások és keresztszennyeződések megelőzése érdekében. Helyezzen üzembe ügyfeleket egy regionális erőforráscsoport párban az elsődleges helyük alapján. Ezzel optimalizálja a regionális rendelkezésre állást.

Számos ügyfelet üzembe helyezhet egyetlen számítási csoportban, mivel a rendszer elkülöníti a kéréseket a hitelesítés és az ügyfélkulcsok alapján, ami megkülönbözteti a kéréseket ezen egyedi azonosítók alapján. A rendszer a kulcsokkal külön titkosítja az összes ügyfélkérést, hogy egyetlen ügyfél sem tudja visszafejteni más ügyfél adatait. Ha több ügyfelet kezel egyetlen számítási veremen, optimalizálhatja az erőforrás-lefoglalást, hogy az ügyfeleknek a költségigényüknek megfelelő válaszidőt biztosítsanak.

Az ügyfél-adatbázisokat a számítási veremen kívül is hasonlóan kezelheti, mivel az ügyfélkérések bármelyik regionális veremből érkezhetnek. Számos ügyféladatbázis létezhet ugyanazon a rugalmas készleten, elkülönítve és transzparens adattitkosítással (TDE) védve. Az egyes adatbázisokat úgy konfigurálhatja, hogy egy ügyfél által felügyelt kulccsal titkosítják az adatokat, és pontosan időben visszafejtik az adatokat (JIT). A JIT visszafejtése védelmet nyújt az ügyféladatoknak mind a fejlesztő, mind a többi ügyfél számára. A rendszer a rugalmas készletet használja, hogy igény szerinti erőforrásokat biztosítson a hozzá rendelt ügyfeleknek, miközben alacsonyak maradnak a költségek. Az ügyféladatok biztonsági mentéséhez és feladatátvételéhez replikációs szabályzatokat rendelhet minden rugalmas készlethez. Több rugalmas készlet online állapotba helyezése, miközben több ügyfelet hoz be a rendszerbe.

További információ a több-bérlős megoldásokról: Több-bérlős megoldások tervezése az Azure-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."

Méretezhetőség és rendelkezésre állás

Ez a megoldás úgy lett kialakítva, hogy nagy számú bérlőt számoljon el az SaaS használatával. Kihasználja a nagy számú méretezhető összetevőt és szolgáltatást, hogy a terhelés alapján növekedjen. Ez az architektúra nem olyan megoldásokhoz készült, amelyek néhány bérlőt vagy kis mennyiségű kérést és adatot szolgálnak ki. Ez kihathat egy olyan megoldás költségvetésére, amely egyetlen ügyfelet vagy kisebb terhelést céloz meg. Emellett szükségtelen a többrégiós többletterhelés, ahol a magas globális rendelkezésre állás nem követelmény, mert szükségtelen bonyolultságot és költséget ad hozzá.

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 rendszer az alkalmazás minden szintjén a végpontok közötti biztonságot kezeli:

  • Az Azure Front Door beépített HTTPS-támogatást biztosít a tartományaihoz. Ez azt jelenti, hogy a rendszer titkosítja az SaaS-alkalmazás felé irányuló összes forgalmat. Az Azure Front Door emellett implementálja az Azure Web Application Firewallot is, amely megvédi az SaaS-vermet a peremhálózati támadásoktól, mielőtt a rendszer átirányítja a kéréseket az alkalmazásnak.

  • Minden egyes régióban található alkalmazásverem egy Azure-beli virtuális hálózaton belül található. A rendszer korlátozza a virtuális hálózatba irányuló forgalmat, és fogadja el az Azure Front Doortól érkező kéréseket, így védi az összes alkalmazásszolgáltatást a külső forgalomtól. A biztonságos tűzfalon belül az Application Gateway leállíthatja az SSL-t, és teljesítménybeli terheléselosztást és útválasztást biztosíthat az alkalmazásban.

  • Az Azure Key Vault használatával biztonságosan kezelheti az összes hitelesítő adatot, titkos kulcsot és kapcsolati sztring. Ha titkos kulcsként kezeli ezeket a bizalmas adatokat, a fejlesztők az üzembe helyezéskor hitelesítő adatokat szúrhatnak be az alkalmazásba. Ezzel gondoskodik arról, hogy a kód ne legyen bizalmas információkkal szennyezett. A titkos kulcsok használata védelmet nyújt az ügyféladatoknak azáltal, hogy biztosítja, hogy a kód- vagy emberközi támadás nem fér hozzá a bérlői adatbázisokhoz.

  • Ebben a forgatókönyvben több bérlő adatai létezhetnek egymás mellett ugyanazon az adatbázis-kiszolgálón, ha nem ugyanazon az adatbázison. A TDE és a JIT visszafejtése védi az adatbázis adatait. A rendszer titkosítja az adatbázis összes inaktív adatát, és csak akkor fejti vissza, ha a bérlő kéri. Az ügyfelek saját kulcsokat adhatnak meg, és az összes ügyfélkulcsot az Azure Key Vaultban tárolhatja több bérlő titkosításának kezeléséhez. Védi az ügyféladatok teljes körű védelmét, megakadályozza, hogy a fejlesztő hozzáférhessen az ügyféladatokhoz, elkülönítse az adatokat a bérlők között, és segít megfelelni a biztonsági és adatmegfelelőségi követelményeknek.

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.

Azure-alkalmazás szolgáltatás számos tarifacsomagot biztosít a várt számítási erőforrások alapján. A több-bérlős SaaS esetében a magas rendelkezésre állás és a vertikális felskálázási képességek kulcsfontosságú összetevők a szolgáltatáscsomag kiválasztásában. Ha sok bérlőt szeretne üzemeltetni, a magas forgalomhoz szükséges számítási erőforrások biztosításához szükség lehet egy prémium vagy izolált szint kiválasztására. A standard, prémium és izolált szintek mind dedikált virtuálisgép-példányok. Az egységenkénti költséget az adott szint virtuális gépeinek számával számíthatja ki. További információkért tekintse meg az App Service díjszabási csomagjainak áttekintését.

Az Azure Kubernetes Service költséghatékony tárolószolgáltatást biztosít. Az AKS-csomópontok díjai csak használatkor merülnek fel, ezért csak az alábbiakért kell fizetnie:

  • A virtuális gépek

  • Felhasznált tároló- és hálózati erőforrások

  • A használathoz közvetlenül kapcsolódó skálázási költség

Az AKS adatréteg-szolgáltatásként való használata ideális, ha csökkenteni szeretné a költségeket. Az AKS-példányok egy rétegének díjszabására vonatkozó becslésért látogasson el a Kubernetes szolgáltatáskalkulátorára.

Az Azure SQL Elastic Pool díjszabása tervezés szerint rendkívül költséghatékony egy több-bérlős forgatókönyvben. A rugalmas készlet bérlői adatbázisai megosztják az elérhető erőforrásokat. Mivel a bérlők közötti kereslet idővel eltolódik, az erőforrások is el fognak változni. Az Azure SQL Elastic Pool biztosítja a maximálisan elérhető erőforrásokat az igényes adatbázisokhoz anélkül, hogy az összes adatbázis erőforrás-többletterhelése kellene. A szolgáltatás alacsonyan tartja a költségeket az SaaS fejlesztője és a bérlők számára. Az Azure SQL Database díjszabási kalkulátorával kiárazhatja a bérlők és adataik kiszolgálásához szükséges erőforrások szintjét és mennyiségét.

  • A virtuális mag (vCore) díjszabási modelljének használata nagyobb rugalmasságot biztosít a skálázásban a szükséges erőforrások kielégítése érdekében. Emellett kihasználhatja az Azure Hybrid Benefit előnyeit is. A meglévő SQL Server-licencek kedvezményt biztosítanak a felhőben lévő virtuális magos SQL-erőforrások számára. Ezért egy olyan esetben, amikor a helyszíni kiszolgálók már részei a fejlesztői infrastruktúrának, még jobban kezelheti a költségeket ezekkel a kedvezményekkel. A lehetséges megtakarításokat az Azure Hybrid Benefit megtakarítási kalkulátorával becsülheti meg.

  • Az SQL Server-erőforrások költségeit fenntartott Azure SQL Database-kapacitás vásárlásával is megtakaríthatja. A fenntartott kapacitás vásárlása hosszú távú SQL Database-használatot jelent. A kifejezés általában 1–3 év között van. Cserébe kedvezményeket kap a foglalásban lévő erőforrások számítási költségeire vonatkozóan. Egy évre például 32 általános célú virtuális magot foglalhat le, ami csökkenti az adott évre vonatkozó 32 virtuális mag költségét. Ha több bérlő vásárol licencet egy SaaS-hez, az erős jelzés, hogy a fenntartott kapacitás használata megfelel a megoldásnak, és ideális költségmegtakarítást jelent ebben a számítási feladatban.

Az Azure Cache for Redis díjszabási oldalán találja az Azure Cache for Redis díjszabási struktúráját. Igény szerint bármikor módosíthatja a gyorsítótárszintet az alapszintű, a standard és a prémium szintű szint között. Magasabb díjszabást fog látni a nagyobb gyorsítótárkorlátok és további funkciók, például a replikáció és a vészhelyreállítás tekintetében. Az Azure Cache for Redis fenntartott kapacitásárakat is kínál a hosszú távú használati kötelezettségvállalásokhoz.

Az Azure Front Door díjszabása a szolgáltatáson belüli és kimenő adatátvitel mennyiségétől függ. Kimenő adatok esetén a díjszabás zónáktól függően eltérő. A különböző régiók eltérő költségekkel járnak. Ha árkülönbséggel találkozik, külön becsülje meg a költséget. Az ár tartalmaz néhány útválasztási és tartománykapacitást, de a rendszer a kezdeti korlátokon túllépve költségekkel jár. Az Azure Web Application Firewall szabályzatonként vagy szabályonként kis többletköltséggel jár. Az Azure Front Door díjszabásának részleteit az Azure Front Door díjszabási oldalán találja.

Az Azure Cognitive Search díjszabása egy teljes rétegzett rendszer. A fejlesztéshez és teszteléshez ingyenes szint áll rendelkezésre. Ezt követően az egyes szintek óránkénti költséggel járnak az egyes lefoglalt Cognitive Search-példányok esetében. A szintek növekedésével a teljes tárterület, az indexek száma és a vertikális felskálázási korlátok is növekednek. Az Azure Cognitive Search szolgáltatásként biztosítja a rendszerkép-kinyerési szolgáltatást az összes fizetős réteghez azonos sebességgel.

Következő lépések