A szolgáltatott szoftver (SaaS) egy összetett témakör, számos szempontot figyelembe véve. A független szoftvergyártóknak (ISV-knek), akik SaaS-megoldásaikat az Azure-ra építik, meg kell oldaniuk a problémákat, és döntéseket kell hozniuk, például:
- Melyik bérlői modellt érdemes használni?
- Hogyan több-bérlős architektúrában használható identitásmegoldást állít be?
- Hogyan kezelni az új ügyfelek előkészítését?
Ez az architektúra ezeknek a kérdéseknek a megválaszolására szolgál, és kiindulási helyet biztosít az SaaS világába. Ez az architektúra a forgatókönyvek széles köréhez igazítható.
Lehetséges használati esetek
Az alábbiakban néhány példát láthat arra, hogy milyen esetekben használhatja ezt az architektúrát:
- Meglévő alkalmazás modernizálása a teljes több-bérlősség támogatásához egy SaaS-alapú üzleti modellre való váltás részeként.
- Egy teljesen új SaaS-ajánlat fejlesztése.
- SaaS-ajánlat migrálása egy másik felhőszolgáltatásból az Azure-ba.
Architektúra
Töltse le az architektúra PowerPoint-fájlját.
Terminológia
Az alábbi táblázat a cikkben szereplő kifejezéseket ismerteti.
Időszak | Leírás | Példa |
---|---|---|
SaaS-szállító vagy ISV | Az SaaS-alkalmazás és -kód tulajdonosa és az SaaS-terméket értékesítő entitás. | Contoso Inc, értékesítési SaaS alkalmazás: Contoso Tickets. |
Bérlő | Az SaaS-alkalmazás megvásárolt példánya az SaaS Vendortól. | Negyedik kávézó. |
SaaS-ügyfél rendszergazdája | Kapcsolatok, akik megvásárolják vagy felügyelik az alkalmazásbérlőket. | Joe, a Negyedik Kávézó tulajdonosa. |
SaaS-ügyfélfelhasználó | Kapcsolatok, akik felügyelet nélkül használnak alkalmazásbérlelőt, és általában ugyanahhoz a vállalathoz vagy csoporthoz tartoznak, mint az SaaS-ügyfél rendszergazdája. | Jill, a Fourth Coffee Shop eseménymenedzsere és Susan, a Fourth Coffee Shop ügyfele. |
Végfelhasználó | SaaS-ügyfél-rendszergazda, SaaS-ügyfélfelhasználó vagy bármilyen más bevezetett felhasználótípus. Ez egy általános kifejezés az alkalmazásba bejelentkező felhasználók leírására. | Joe, Jill és Susan mind végfelhasználók (az ISV szempontjából). |
Előtérbeli alkalmazás | Bármilyen előtér-alkalmazás. | Az Előkészítés és a Felügyeleti alkalmazás és az SaaS alkalmazás egyaránt előtérbeli alkalmazás. |
Munkafolyamat
Az SaaS-ügyfél rendszergazdája az Előkészítés és rendszergazda alkalmazáson található webhelyre navigál.
Az SaaS-ügyfél rendszergazdája a felhasználói bejelentkezési munkafolyamat használatával jelentkezik be .
Az SaaS-ügyfél rendszergazdája befejezi az előkészítési folyamatot.
Az SaaS-ügyfél rendszergazdája az Előkészítés > felügyeleti alkalmazás bérlői rendszergazdai területére lép, és hozzáad egy SaaS-ügyfélfelhasználót az újonnan létrehozott bérlőhöz.
Az SaaS-ügyfélfelhasználó az SaaS-alkalmazásalkalmazáshoz navigál, és az SaaS-alkalmazást használja.
Felhasználói bejelentkezés
A felhasználói bejelentkezési munkafolyamat a következő lépésekből áll:
A végfelhasználó egy előtérbeli alkalmazáshoz navigál, és kiválaszt egy Bejelentkezési gombot.
Az előtérbeli alkalmazás átirányítja a végfelhasználót az identitásszolgáltató által üzemeltetett bejelentkezési lapra.
A végfelhasználó megadja a fiókadatokat, és elküldi a bejelentkezési űrlapot az identitásszolgáltatónak.
Az identitásszolgáltatópost kérést küld a végfelhasználó e-mail-címével és objektumazonosítójával az engedélyeik és szerepköreik lekéréséhez.
Az Engedélyadat API megkeresi a végfelhasználó adatait az Engedélyadattárban , és visszaadja az adott végfelhasználóhoz rendelt engedélyek és szerepkörök listáját.
Az identitásszolgáltató egyéni jogcímként adja hozzá az engedélyeket és a szerepköröket az azonosító jogkivonathoz, amely egy JSON webes jogkivonat (JWT).
Az identitásszolgáltató egy azonosító jogkivonatot ad vissza a végfelhasználónak , és átirányítást kezdeményez az előtérbeli alkalmazásba.
A rendszer átirányítja a végfelhasználót az előtérbeli alkalmazás bejelentkezési végpontjára, és megjeleníti az azonosító jogkivonatot.
Az előtérbeli alkalmazás ellenőrzi a bemutatott azonosító jogkivonatát.
Az előtérbeli alkalmazás egy sikeres bejelentkezési lapot ad vissza, és a végfelhasználó be van jelentkezve.
A bejelentkezési folyamat működésével kapcsolatos további információkért lásd az OpenID Csatlakozás protokollt.
Új bérlő előkészítése
A bérlő előkészítési munkafolyamata a következő lépésekből áll:
Az SaaS-ügyfél rendszergazdája navigál az Előkészítés és rendszergazda alkalmazáshoz , és kitölt egy regisztrációs űrlapot.
Az Előkészítés > rendszergazdai alkalmazás post kérést küld a Bérlőadatok API-nak egy új bérlő létrehozásához.
A Bérlői adat API létrehoz egy új bérlőt a bérlői adattárban.
A Bérlői adat API POST kérést küld az Engedélyadat API-nak , hogy az SaaS-ügyfél rendszergazdai engedélyeit az újonnan létrehozott bérlőnek adja.
Az Engedélyadat API új engedélyrekordot hoz létre az Engedélyadattárban.
Az Engedélyadat API sikeresen visszaáll.
A Bérlői adatok API sikeresen visszatér.
Az Előkészítés és rendszergazda alkalmazás post kérést küld az e-mail-értesítési szolgáltatónak , hogy küldjön egy "bérlő által létrehozott" e-mailt az SaaS-ügyfél rendszergazdájának.
Az e-mail-értesítés szolgáltatója elküldi az e-mailt.
Az e-mail-értesítés szolgáltatója sikeresen visszatér.
Az előkészítési és rendszergazdai alkalmazás kérést küld az identitásszolgáltatónak az SaaS-ügyfél-rendszergazda azonosító jogkivonatának frissítésére, hogy az tartalmazzon egy JWT-jogcímet az újonnan létrehozott bérlőhöz.
Az identitásszolgáltatópost kérést küld az SaaS-ügyfél rendszergazdájának e-mail-címével és objektumazonosítójával, hogy lekérje az engedélyeiket és a szerepköreiket.
Az Engedélyadat API megkeresi az SaaS-ügyfél rendszergazdájának adatait az Engedélyadattárban , és visszaadja az SaaS-ügyfél rendszergazdájához rendelt engedélyek és szerepkörök listáját.
Az identitásszolgáltató egyéni jogcímként adja hozzá az engedélyeket és a szerepköröket az azonosító jogkivonatához.
Az identitásszolgáltató visszaadja az azonosító jogkivonatot az Előkészítés & Rendszergazda alkalmazásnak.
Az Előkészítés és rendszergazda alkalmazás egy sikeres üzenetet és egy új azonosító jogkivonatot ad vissza az SaaS-ügyfél Rendszergazda.
Felhasználó hozzáadása bérlőhöz
A felhasználó bérlői munkafolyamathoz való hozzáadása a következő lépésekből áll:
Az SaaS-ügyfél rendszergazdája kéri, hogy tekintse meg a bérlői felügyeleti terület bérlőinek listáját az Előkészítés és rendszergazda alkalmazáson belül.
Az Előkészítés és rendszergazda alkalmazás get kérést küld a Bérlői adatok API-nak , hogy lekérje az SaaS-ügyfél rendszergazdájának bérlői listáját.
A Bérlői adatok API GET kérést küld az Engedélyadat API-nak , hogy lekérje azon bérlők listáját, amelyek megtekintéséhez az SaaS-ügyfél rendszergazdája rendelkezik hozzáféréssel.
Az Engedélyadat API a bérlői engedélyek listáját adja vissza.
A Bérlői adatok API megkeresi a bérlői adatokat a bérlői adattárban, és visszaadja a bérlői adatok listáját a kapott bérlői engedélyek listája alapján.
Az Előkészítés és rendszergazda alkalmazás visszaadja a bérlői adatok listáját az SaaS-ügyfél rendszergazdájának.
Az SaaS-ügyfél rendszergazdája kiválaszt egy bérlőt a listából egy SaaS-ügyfélfelhasználó hozzáadásához, és megadja az SaaS-ügyfélfelhasználó e-mail-címét.
Az Előkészítés és rendszergazda alkalmazás POST kérést ad ki a bérlői adat API-nak , hogy engedélyt adjon az SaaS-ügyfél felhasználójának a megadott bérlőn.
A Bérlői adatok API ellenőrzi, hogy az SaaS-ügyfél rendszergazdájának érvényes JWT-jogcíme van-e a megadott bérlőre, és rendelkezik-e a felhasználó írási engedélyével.
A Bérlői adat API POST kérést küld az Engedélyadat API-nak , amely engedélyt ad a megadott bérlő SaaS-ügyfélfelhasználójának .
Az Engedélyadat API get kérést küld az identitásszolgáltatónak , hogy keresse meg az SaaS-ügyfél felhasználót a megadott e-mail-címen.
Az identitásszolgáltató visszaadja az SaaS-ügyfél felhasználójának objektumazonosítóját.
Az Engedélyadat API egy engedélyrekordot ad hozzá a megadott bérlő SaaS-ügyfélfelhasználójának engedélyadat-tárolójában az objektumazonosítójuk használatával.
Az Engedélyadat API sikeresen visszaáll.
A Bérlői adatok API sikeresen visszatér.
Az előkészítési és rendszergazdai alkalmazás sikeresen visszatér.
Összetevők
Ez az architektúra a következő Azure-szolgáltatásokat használja:
Az App Service lehetővé teszi webalkalmazások és API-alkalmazások készítését és üzemeltetését a választott programozási nyelven, infrastruktúra kezelése nélkül.
Az Azure Active Directory B2C egyszerűen lehetővé teszi a végfelhasználói alkalmazások identitás- és hozzáférés-kezelését.
Az Azure SQL Database egy általános célú relációs adatbázis által felügyelt szolgáltatás, amely támogatja a relációs adatokat, a térbeli adatokat, a JSON-t és az XML-t.
Az Azure Logic Apps lehetővé teszi, hogy egy egyszerű grafikus felhasználói felületi eszközzel gyorsan hatékony integrációkat hozzon létre.
Alternatívák
Az alternatív lehetőségek hatékonysága nagyban függ attól a bérlői modelltől , amelyet az SaaS-alkalmazás támogatni kíván. Az alábbiakban néhány olyan alternatív módszert mutatunk be, amelyeket a megoldás megvalósításakor követhet:
A jelenlegi megoldás az Azure Active Directory B2C-t használja identitásszolgáltatóként. Ehelyett más identitásszolgáltatókat is használhat, például a Microsoft Entra-azonosítót.
A szigorúbb biztonsági és megfelelőségi követelmények érdekében dönthet úgy, hogy privát hálózatkezelést valósít meg a szolgáltatásközi kommunikációhoz.
A szolgáltatások közötti REST-hívások használata helyett egy eseményvezérelt architektúrastílust implementálhat a szolgáltatások közötti üzenetküldéshez.
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ása érdekében követhető vezérelvek készlete. További információ: Microsoft Azure Well-Architected Framework.
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.
Ez a megoldás az identitásra, mint biztonsági paradigmára támaszkodik. A webalkalmazások és API-k hitelesítését és engedélyezését a Microsoft Identitásplatform szabályozza, amely a felhasználói azonosító jogkivonatok (JWT-k) kiállításáért és ellenőrzéséért felelős.
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.
A megoldás összetevői bizonyos költségekkel járnak a működésükhöz, de a költségek a legtöbb webalkalmazás és SaaS-megoldás esetében szerények. A költségeket a következő erőforrás-beállítások kezelésével is szabályozhatja:
Az alkalmazást futtató App Service-csomagot skálázhatja úgy, hogy megfeleljen a szükséges átviteli sebességnek. Emellett az egyes alkalmazásokat külön csomagban is futtathatja, ha nagyobb átviteli sebességet igényel, de ennek eredményeként magasabb költséggel jár. További információ: Azure-alkalmazás szolgáltatáscsomag áttekintése.
Az Azure AD B2C két termékváltozatot biztosít: Prémium P1 és Prémium P2. Mindkét termékváltozat ingyenes juttatást tartalmaz a havi aktív felhasználók (MAU-k) számára, de ki kell értékelnie, hogy az egyes termékváltozatok mely funkciókat biztosítják annak meghatározásához, hogy melyik szükséges a használati esethez. További információ: Microsoft Entra Külső ID díjszabás.
Az Azure SQL számos vásárlási modellel rendelkezik a használati esetek széles skálázásához, beleértve az automatikus skálázás lehetőségét is. A megfelelő méret érdekében ki kell értékelnie a használatot a saját adatbázisában. További információ: Az Azure SQL Database virtuális mag- és DTU-alapú vásárlási modelljeinek összehasonlítása.
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.
Ennek az architektúrának képesnek kell lennie a skálázásra, hogy könnyen megfeleljen a legtöbb közepes és közepes méretű számítási feladatnak. Mivel az architektúra többnyire az Azure platformszolgáltatásait (PaaS) használja, számos lehetősége van a megoldás skálájának a követelmények és a terhelés alapján történő módosítására.
A forgatókönyv üzembe helyezése
Ha telepíteni szeretné ezt a forgatókönyvet, tekintse meg az Azure SaaS Dev Kitet a GitHubon. Ez az architektúra üzembe helyezhető referencia-implementációja.
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ő:
- Landon Pierce | Ügyfélmérnök
Egyéb közreműködők:
- Chris Ayers | Vezető ügyfélmérnök
- John Downs | Vezető ügyfélmérnök
- LaBrina Loving | Vezető SVC mérnöki vezető
- Gary Moore | Programozó/író
- Nick Pinheiro | Vezető tanácsadó
- William Salazar | Vezető ügyfélmérnök
- Ali Sanjabi | Vezető ügyfélmérnök
- Arsen Vladimirskiy | Vezető ügyfélmérnök
- Jason Young | Vezető SVC mérnöki vezető
Következő lépések
Íme néhány további ajánlott erőforrás saaS-alkalmazás Azure-beli létrehozásához:
- Több-bérlős megoldások tervezése az Azure-ban – Az ajánlott eljárásokat ismerteti.
- IsV-szempontok az Azure-beli célzónákhoz
- Microsoft Azure Well-Architected Framework
- Wing Tippek Tickets SaaS alkalmazás – Az adatbázisréteg különböző bérlői modelljei közötti kompromisszumok részleteit tartalmazza.
Kapcsolódó erőforrások
- Több-bérlős megoldáshoz megfontolandó bérlői modellek
- Architekturális megközelítések a több-bérlős megoldásokban történő számításhoz
- A tárolás és az adatok architekturális megközelítései több-bérlős megoldásokban
- Azure-alkalmazás szolgáltatással és Azure Functions-funkciókkal kapcsolatos szempontok több-bérlős használatra
- Több-bérlős SaaS az Azure-ban
- Felhőtervezési minták