Starter webalkalmazás SaaS-fejlesztéshez

Azure App Service
Microsoft Entra Külső ID
Azure SQL Database
Azure Logic Apps
Azure Resource Manager

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

Architektúradiagram, amely a vezérlősíkot, az identitás-keretrendszert és a végfelhasználó S a S alkalmazást jeleníti meg.

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

  1. Az SaaS-ügyfél rendszergazdája az Előkészítés és rendszergazda alkalmazáson található webhelyre navigál.

  2. Az SaaS-ügyfél rendszergazdája a felhasználói bejelentkezési munkafolyamat használatával jelentkezik be .

  3. Az SaaS-ügyfél rendszergazdája befejezi az előkészítési folyamatot.

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

  5. 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 felhasználó bejelentkezési folyamatát bemutató szekvenciadiagram.

  1. A végfelhasználó egy előtérbeli alkalmazáshoz navigál, és kiválaszt egy Bejelentkezési gombot.

  2. Az előtérbeli alkalmazás átirányítja a végfelhasználót az identitásszolgáltató által üzemeltetett bejelentkezési lapra.

  3. A végfelhasználó megadja a fiókadatokat, és elküldi a bejelentkezési űrlapot az identitásszolgáltatónak.

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

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

  6. 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).

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

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

  9. Az előtérbeli alkalmazás ellenőrzi a bemutatott azonosító jogkivonatát.

  10. 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:

A bérlői előkészítés folyamatát bemutató szekvenciadiagram.

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

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

  3. A Bérlői adat API létrehoz egy új bérlőt a bérlői adattárban.

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

  5. Az Engedélyadat API új engedélyrekordot hoz létre az Engedélyadattárban.

  6. Az Engedélyadat API sikeresen visszaáll.

  7. A Bérlői adatok API sikeresen visszatér.

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

  9. Az e-mail-értesítés szolgáltatója elküldi az e-mailt.

  10. Az e-mail-értesítés szolgáltatója sikeresen visszatér.

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

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

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

  14. Az identitásszolgáltató egyéni jogcímként adja hozzá az engedélyeket és a szerepköröket az azonosító jogkivonatához.

  15. Az identitásszolgáltató visszaadja az azonosító jogkivonatot az Előkészítés & Rendszergazda alkalmazásnak.

  16. 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:

Egy új felhasználó bérlőhöz való hozzáadását ábrázoló szekvenciadiagram.

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

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

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

  4. Az Engedélyadat API a bérlői engedélyek listáját adja vissza.

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

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

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

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

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

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

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

  12. Az identitásszolgáltató visszaadja az SaaS-ügyfél felhasználójának objektumazonosítóját.

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

  14. Az Engedélyadat API sikeresen visszaáll.

  15. A Bérlői adatok API sikeresen visszatér.

  16. 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ő:

Egyéb közreműködők:

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: