Több-bérlős SaaS-alkalmazás üzembe helyezése és felfedezése, amely bérlőnkénti adatbázis-mintát használ az Azure SQL Database-lel

A következőre vonatkozik: Azure SQL Database

Ebben az oktatóanyagban üzembe helyezi és megismeri a Wingtip Tickets SaaS-adatbázis-bérlőnkénti alkalmazását (Wingtip). Az alkalmazás egy bérlőnkénti adatbázis-mintát használ több bérlő adatainak tárolására. Az alkalmazás úgy lett kialakítva, hogy bemutassa az Azure SQL Database azon funkcióit, amelyek leegyszerűsítik az SaaS-forgatókönyvek engedélyezését.

Öt perccel az Azure-ban való üzembe helyezés kiválasztása után egy több-bérlős SaaS-alkalmazással rendelkezik. Az alkalmazás tartalmaz egy Adatbázist, amely az Azure SQL Database-ben fut. Az alkalmazás három mintabérlánnyal van üzembe helyezve, mindegyik saját adatbázissal. Az összes adatbázis egy rugalmas SQL-készletben van üzembe helyezve. Az alkalmazás üzembe helyezése az Azure-előfizetésben történik. Teljes hozzáféréssel rendelkezik az alkalmazás egyes összetevőinek megismeréséhez és használatához. Az alkalmazás C# forráskódja és a felügyeleti szkriptek a WingtipTicketsSaaSaS-DbPerTenant GitHub adattárban érhetők el.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • A Wingtip SaaS-alkalmazás üzembe helyezése.
  • Hol szerezheti be az alkalmazás forráskódját és felügyeleti szkripteit.
  • Az alkalmazást alkotó kiszolgálókról, készletekről és adatbázisokról.
  • Hogyan vannak leképezve a bérlők az adataikhoz a katalógussal.
  • Új bérlő kiépítése.
  • Bérlői tevékenység figyelése az alkalmazásban.

A kapcsolódó oktatóanyagok sorozata különböző SaaS-tervezési és felügyeleti minták megismerését kínálja. Az oktatóanyagok a kezdeti üzembe helyezés után épülnek fel. Az oktatóanyagok használatakor megvizsgálhatja a megadott szkripteket, hogy lássa a különböző SaaS-minták implementálását. A szkriptek bemutatják, hogyan egyszerűsítik az SQL Database funkciói az SaaS-alkalmazások fejlesztését.

Előfeltételek

Az oktatóanyag elvégzéséhez győződjön meg arról, hogy az Azure PowerShell telepítve van. További információért lásd az Azure PowerShell használatának első lépéseit.

A Wingtip Tickets SaaS-alkalmazás üzembe helyezése

A nevek megtervezése

A szakasz lépéseiben megad egy felhasználói értéket, amely biztosítja, hogy az erőforrásnevek globálisan egyediek legyenek. Az alkalmazás központi telepítése által létrehozott összes erőforrást tartalmazó erőforráscsoport nevét is megadhatja. Egy Ann Finley nevű fiktív személynek a következőt javasoljuk:

  • Felhasználó: az af1 Ann Finley monogramjaiból és egy számjegyből áll. Ha másodszor telepíti az alkalmazást, használjon másik értéket. Ilyen például az af2.
  • Erőforráscsoport: wingtip-dpt-af1 azt jelzi, hogy ez az adatbázis-bérlőnkénti alkalmazás. Fűzze hozzá az af1 felhasználónevet, hogy korrelálja az erőforráscsoport nevét a benne található erőforrások nevével.

Most válassza ki a nevét, és írja le őket.

Lépések

  1. A Wingtip Tickets SaaS-adatbázis bérlőnkénti üzembehelyezési sablonjának az Azure Portalon való megnyitásához válassza az Üzembe helyezés az Azure-ban lehetőséget.

    Image showing a button labeled

  2. Adja meg a sablonban a szükséges paraméterek értékeit.

    Fontos

    Bizonyos hitelesítési és kiszolgálói tűzfalak szándékosan nem biztonságosak bemutató célokra. Javasoljuk, hogy hozzon létre egy új erőforráscsoportot. Ne használjon meglévő erőforráscsoportokat, kiszolgálókat vagy készleteket. Ne használja ezt az alkalmazást, szkripteket vagy éles környezetben üzembe helyezett erőforrásokat. Ha végzett az alkalmazással, törölje ezt az erőforráscsoportot a kapcsolódó számlázás leállításához.

    • Erőforráscsoport: Válassza az Új létrehozása lehetőséget, és adja meg az erőforráscsoporthoz korábban választott egyedi nevet.
    • Hely: Válasszon egy helyet a legördülő listából.
    • Felhasználó: Használja a korábban választott felhasználónevet.
  3. Az alkalmazás üzembe helyezése.

    a. Válassza ki, hogy elfogadja-e a feltételeket és feltételeket.

    b. Válassza a Vásárlás lehetőséget.

  4. Az üzembe helyezés állapotának figyeléséhez válassza az Értesítések lehetőséget (a keresőmező jobb oldalán található harang ikon). A Wingtip Tickets SaaS alkalmazás üzembe helyezése körülbelül öt percet vesz igénybe.

    Deployment succeeded

A Wingtip Tickets felügyeleti szkriptjeinek letöltése és letiltása

Az alkalmazás üzembe helyezése közben töltse le a forráskódot és a felügyeleti szkripteket.

Fontos

Előfordulhat, hogy a Windows letiltja a végrehajtható tartalmakat (szkripteket és DLL-eket), ha a .zip-fájlokat külső forrásból töltik le és nyerik ki. A szkriptek kinyerése előtt kövesse az alábbi lépéseket a .zip fájl letiltásának feloldásához. A letiltás feloldása biztosítja, hogy a szkriptek futhassanak.

  1. Keresse meg a WingtipTicketsSaaS-DbPerTenant GitHub adattárat.
  2. Válassza a Clone or download (Klónozás vagy letöltés) lehetőséget.
  3. Válassza a ZIP letöltése lehetőséget, majd mentse a fájlt.
  4. Kattintson a jobb gombbal a WingtipTicketsSaaS-DbPerTenant-master.zip fájlra, majd válassza a Tulajdonságok lehetőséget.
  5. Az Általános lapon válassza az Alkalmaz tiltásának feloldása>lehetőséget.
  6. Válassza az OK gombot, és bontsa ki a fájlokat

A szkriptek a ...\WingtipTicketsSaaS-DbPerTenant-master\Tanulás Modules mappában találhatók.

Az üzembe helyezés felhasználói konfigurációs fájljának frissítése

Mielőtt bármilyen szkriptet futtatna, frissítse az erőforráscsoportot és a felhasználói értékeket a User Config fájlban. Állítsa be ezeket a változókat az üzembe helyezés során használt értékekre.

  1. A PowerShell I Standard kiadás nyissa meg a ...\Tanulás Modules\UserConfig.psm1 fájlt
  2. Frissítse a ResourceGroupName és a Name nevet az üzemelő példány konkrét értékeivel (csak a 10. és a 11. sorban).
  3. Save the changes.

Ezekre az értékekre szinte minden szkript hivatkozik.

Az alkalmazás futtatása

Az alkalmazás az eseményeket üzemeltető helyszíneket mutatja be. A helyszíntípusok közé tartoznak a koncerttermek, a jazz klubok és a sportklubok. A Wingtip Ticketsben a helyszínek bérlőként vannak regisztrálva. Bérlőként egyszerűen listázhatja az eseményeket, és jegyeket adhat el ügyfeleinek. Minden helyszín személyre szabott webhelyet kap az események listázásához és a jegyek értékesítéséhez.

Az alkalmazáson belül minden bérlő üzembe helyez egy adatbázist egy rugalmas készletben.

A központi Eseményközpont lap a bérlőkre mutató hivatkozások listáját tartalmazza az üzembe helyezés során.

  1. Az URL-cím használatával nyissa meg az Eseményközpontot a webböngészőben: http://events.wingtip-dpt.<user.trafficmanager.net>. Cserélje le <a felhasználót> az üzembe helyezés felhasználói értékével.

    Events Hub

  2. Válassza a Fabrikam Jazz Club lehetőséget az Eseményközpontban.

    Events

Azure Traffic Manager

A Wingtip alkalmazás az Azure Traffic Manager használatával szabályozza a bejövő kérések elosztását. Az adott bérlő eseményoldalának eléréséhez használt URL-cím a következő formátumot használja:

  • http://events.wingtip-dpt.<user.trafficmanager.net/fabrikamjazzclub>

    Az előző formátum részeit az alábbi táblázat ismerteti.

    URL-rész Leírás
    events.wingtip-dpt A Wingtip alkalmazás eseményrészei.

    A dpt megkülönbözteti a Wingtip Tickets adatbázis-bérlőnkénti implementációját más implementációktól. Ilyenek például a bérlőnkénti (-sa) vagy több-bérlős adatbázis-(-mt) implementációk.
    .<Felhasználó> af1 a példában.
    .trafficmanager.net/ Traffic Manager, alap URL-cím.
    fabrikamjazzclub Azonosítja a Fabrikam Jazz Club nevű bérlőt.
  • A bérlő nevét az eseményalkalmazás elemzi az URL-címből.

  • A rendszer a bérlő nevét használja egy kulcs létrehozásához.

  • A kulcs a katalógus elérésére szolgál a bérlő adatbázisának helyének lekéréséhez.

    • A katalógus szilánktérkép-kezeléssel implementálva van.
  • Az Eseményközpont kiterjesztett metaadatokat használ a katalógusban az események listáját tartalmazó lap URL-címeinek létrehozásához minden bérlőhöz.

Éles környezetben általában egy CNAME DNS-rekordot hoz létre, amely egy vállalati internetes tartományt a Traffic Manager DNS-nevére irányít.

Megjegyzés:

Lehet, hogy nem azonnal nyilvánvaló, hogy mi a traffic manager használata ebben az oktatóanyagban. Az oktatóanyagok sorozatának célja olyan minták bemutatása, amelyek képesek kezelni egy összetett éles környezet skáláját. Ilyen esetben például több webalkalmazást is elosztanak a világ különböző pontjain, adatbázisokkal együtt, és a példányok közötti útválasztáshoz traffic managerre lenne szükség. A traffic manager használatát bemutató oktatóanyagok egy másik készlete a georedukálás és a georeplikációs oktatóanyagok. Ezekben az oktatóanyagokban a Traffic Manager segítségével válthat át az SaaS-alkalmazás helyreállítási példányára regionális leállás esetén.

A bérlői adatbázisok terhelésének megkezdése

Most, hogy az alkalmazás üzembe lett helyezve, helyezzük üzembe.

A Demo-LoadGenerator PowerShell-szkript elindít egy számítási feladatot, amely az összes bérlői adatbázison fut. Számos SaaS-alkalmazás valós terhelése szórványos és kiszámíthatatlan. Az ilyen típusú terhelés szimulálásához a generátor véletlenszerű kiugró vagy tevékenységkitörésekkel rendelkező terhelést hoz létre minden bérlőn. A sorozatok véletlenszerű időközönként fordulnak elő. A terhelési minta megjelenése több percet vesz igénybe. A terhelés monitorozása előtt hagyja, hogy a generátor legalább három vagy négy percig fusson.

  1. A PowerShell I Standard kiadás nyissa meg a ...\Tanulás Modules\Utilities\Demo-LoadGenerator.ps1 szkriptet.
  2. Nyomja le az F5 billentyűt a szkript futtatásához és a terhelésgenerátor elindításához. Egyelőre hagyja meg az alapértelmezett paraméterértékeket.
  3. Jelentkezzen be az Azure-fiókjába, és szükség esetén válassza ki a használni kívánt előfizetést.

A terhelésgenerátor szkript elindít egy háttérfeladatot a katalógusban lévő összes adatbázishoz, majd leáll. Ha újrafuttatja a terhelésgenerátor szkriptet, az leállítja az újak elindítása előtt futó háttérfeladatokat.

A háttérfeladatok figyelése

Ha a háttérfeladatokat szeretné vezérelni és figyelni, használja a következő parancsmagokat:

  • Get-Job
  • Receive-Job
  • Stop-Job

Demo-LoadGenerator.ps1 műveletek

A Demo-LoadGenerator.ps1 az ügyféltranzakciók aktív számítási feladatait utánozza. Az alábbi lépések a Demo-LoadGenerator.ps1 által kezdeményezett műveletek sorozatát ismertetik:

  1. A Demo-LoadGenerator.ps1 az előtérben elindítja a LoadGenerator.ps1 parancsot.

    • Mindkét .ps1 fájl a Modules\Utilities\Tanulás mappák alatt van tárolva.
  2. A LoadGenerator.ps1 a katalógus összes bérlői adatbázisán végighalad.

  3. A LoadGenerator.ps1 elindít egy háttérBeli PowerShell-feladatot minden bérlői adatbázishoz:

    • Alapértelmezés szerint a háttérfeladatok 120 percig futnak.
    • Minden feladat processzoralapú terhelést okoz egy bérlői adatbázison a sp_CpuLoadGenerator végrehajtásával. A terhelés intenzitása és időtartama a függéstől $DemoScenariofüggően változik.
    • sp_CpuLoadGenerator nagy processzorterhelést okozó SQL Standard kiadás LECT utasítás körüli hurkok. A Standard kiadás LECT problémái közötti időintervallum paraméterértékek szerint változik, így szabályozható CPU-terhelést hozhat létre. A terhelési szintek és intervallumok véletlenszerűen vannak véletlenszerűen szimulálva, hogy valósághűbb terheléseket szimuláljanak.
    • Ez az .sql-fájl a WingtipTenantDB\dbo\StoredProcedures\.
  4. Ha $OneTime = $falsea terhelésgenerátor elindítja a háttérfeladatokat, majd továbbra is fut. 10 másodpercenként figyeli a kiépített új bérlőket. Ha be van állítva $OneTime = $true, a LoadGenerator elindítja a háttérfeladatokat, majd az előtérben leáll. Ebben az oktatóanyagban hagyja meg a következőt $OneTime = $false: .

    Ha le szeretné állítani vagy újraindítani a terhelésgenerátort, használja a Ctrl-C billentyűkombinációt vagy a Ctrl-Break művelet leállítását.

    Ha az előtérben hagyja a terhelésgenerátort, használjon egy másik PowerShell I Standard kiadás-példányt más PowerShell-szkriptek futtatásához.

 

A következő szakasz folytatása előtt hagyja futni a terhelésgenerátort a feladat invokálási állapotában.

Új bérlő kiépítése

A kezdeti üzembe helyezés három mintabérlõt hoz létre. Most hozzon létre egy másik bérlőt az üzembe helyezett alkalmazásra gyakorolt hatás megtekintéséhez. A Wingtip alkalmazásban az új bérlők kiépítésének munkafolyamatát a Kiépítés és katalógus oktatóanyag ismerteti. Ebben a fázisban létrehoz egy új bérlőt, amely kevesebb mint egy percet vesz igénybe.

  1. Nyisson meg egy új PowerShell-Standard kiadás.

  2. Nyissa meg a ...\Tanulás Modules\Provision and Catalog\Demo-ProvisionAndCatalog.ps1 fájlt.

  3. A szkript futtatásához nyomja le az F5 billentyűt. Egyelőre hagyja meg az alapértelmezett értékeket.

    Megjegyzés:

    Számos Wingtip SaaS-szkript $PSScriptRoot használ a mappák tallózásához, hogy függvényeket hívjon meg más szkriptekben. Ezt a változót csak akkor értékeli ki a rendszer, ha a teljes szkriptet az F5 billentyű lenyomásával hajtja végre. A kijelölés F8-nal való kiemelése és futtatása hibákhoz vezethet. A szkriptek futtatásához nyomja le az F5 billentyűt.

Az új bérlői adatbázis a következő:

  • Rugalmas SQL-készletben létrehozva.
  • Inicializálva.
  • Regisztrálva a katalógusban.

A sikeres üzembe helyezés után az új bérlő eseménywebhelye megjelenik a böngészőben.

New tenant

Frissítse az Eseményközpontot, hogy az új bérlő megjelenjen a listában.

A kiszolgálók, készletek és bérlői adatbázisok megismerése

Most, hogy megkezdte a terhelést a bérlők gyűjteményén, tekintsük át az üzembe helyezett erőforrások némelyikét.

  1. Az Azure Portalon keresse meg az SQL-kiszolgálók listáját. Ezután nyissa meg a catalog-dpt-U< Standard kiadás R> kiszolgálót.

    • A katalóguskiszolgáló két adatbázist tartalmaz, a tenantcatalogot és a basetenantdb-t (egy sablonadatbázist, amely új bérlők létrehozásához van másolva).

    Screenshot that shows a catalog server Overview page with the two databases.

  2. Térjen vissza az SQL-kiszolgálók listájához.

  3. Nyissa meg a bérlői adatbázisokat tároló tenants1-dpt-U< Standard kiadás R> kiszolgálót.

  4. Tekintse meg a következő elemeket:

    • Minden bérlői adatbázis egy Elastic Standard adatbázis egy 50 eDTU szabványkészletben.
    • A Red Maple Racing adatbázis a korábban kiépített bérlői adatbázis.

    Screenshot that shows the four databases in the server with red maple racing database highlighted.

A készlet figyelése

Miután a LoadGenerator.ps1 több percig fut, elegendő adatnak kell rendelkezésre állnia ahhoz, hogy megvizsgáljon néhány monitorozási képességet. Ezek a képességek készletekbe és adatbázisokba vannak beépítve.

Keresse meg a kiszolgálóbérlemények1 dpt-felhasználót<>, és válassza a Készlet1 lehetőséget a készlet erőforrás-kihasználtságának megtekintéséhez. A következő diagramokon a terhelésgenerátor egy órán át futott.

Monitor pool

  • Az első, erőforrás-kihasználtság címkével ellátott diagram a készlet eDTU-kihasználtságát mutatja.
  • A második diagram a készlet öt legaktívabb adatbázisának eDTU-kihasználtságát mutatja be.

A két diagram azt szemlélteti, hogy a rugalmas készletek és az SQL Database jól illeszkednek az SaaS-alkalmazások kiszámíthatatlan számítási feladataihoz. A diagramok azt mutatják, hogy négy adatbázis egyenként akár 40 eDTU-ra is kirobban, és az összes adatbázist kényelmesen támogatja egy 50 eDTU-készlet. Az 50 eDTU-készlet még nehezebb számítási feladatokat is támogat. Ha az adatbázisok önálló adatbázisként vannak kiépítve, mindegyiknek S2 -nek (50 DTU-nak) kell lennie a kipukkadások támogatásához. Négy önálló S2-adatbázis költsége közel háromszorosa a készlet árának. Valós helyzetekben az SQL Database ügyfelei legfeljebb 500 adatbázist futtatnak 200 eDTU-készletben. További információ: Teljesítményfigyelési oktatóanyag.

További erőforrások

Következő lépések

Ez az oktatóanyag bemutatta az alábbiakat:

  • A Wingtip Tickets SaaS-alkalmazás üzembe helyezése.
  • Az alkalmazást alkotó kiszolgálókról, készletekről és adatbázisokról.
  • Hogyan vannak leképezve a bérlők az adataikhoz a katalógussal.
  • Új bérlők kiépítése.
  • A készlet kihasználtságának megtekintése a bérlői tevékenység figyeléséhez.
  • Mintaerőforrások törlése a kapcsolódó számlázás leállításához.

Ezután próbálja ki a Kiépítés és katalógus oktatóanyagot.