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


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

A következőkre vonatkozik:Azure SQL Database

Ebben az oktatóanyagban üzembe helyezi és megismeri a Wingtip Tickets SaaS bérlőnként különálló adatbázis-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 azután, hogy kiválasztotta a Telepítés az Azure-raopciót, egy több bérlős SaaS alkalmazással fog rendelkezni. 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 GitHub-adattár WingtipTicketsSaaS-DbPerTenant érhetők el.

Ebben az oktatóanyagban a következőket tanulja meg:

  • 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 kapcsolódnak a bérlők az adataikhoz a katalógussegítségével.
  • Új bérlő előkészítése.
  • Bérlői tevékenység figyelése az alkalmazásban.

A kapcsolódó oktatóanyagok különböző SaaS-tervezési és felügyeleti minták megismerését kínálják. 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ó: Az Azure PowerShellhasználatának első lépései.

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ó: af1 Ann Finley kezdőbetűibő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 a Üzembe helyezés az Azure.

  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 Újlé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ónév értékét.
  3. Telepítse az alkalmazást.

    egy. Elfogadom a feltételeket és kikötéseket.

    b. Válassza a(z) Vásárláslehetőséget.

  4. Az üzembe helyezés állapotának figyeléséhez válassza Értesítések (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.

    üzembe helyezés sikeres volt

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 .zip fájlokat letölt egy külső forrásból, és kinyeri. A szkriptek kinyerése előtt kövesse az alábbi lépéseket a .zip fájl blokkolá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 Klónozás vagy letöltés lehetőséget , vagy töltse le.
  3. Válassza 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ágoklehetőséget.
  5. Az Általános lapon válassza a Tiltás feloldása>Alkalmazlehetőséget.
  6. Válassza OKlehetőséget, és bontsa ki a fájlokat

A szkriptek a ...\WingtipTicketsSaaS-DbPerTenant-master\Learning 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 ISE-ben nyissa meg a ...\Learning Modules\UserConfig.psm1
  2. Frissítse ResourceGroupName és Név az üzembe helyezéshez megadott értékekkel (csak a 10. és a 11. sorban).
  3. Mentse a módosításokat.

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ő kap egy adatbázist, amelyet egy rugalmas erőforráskészletben helyeznek üzembe.

A központi Eseményközpont oldal tartalmazza a telepítés bérlőire mutató hivatkozások listáját.

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

    Eseményközpont

  2. Válassza Fabrikam Jazz Club az Eseményközpontban.

    események

Azure Traffic Manager

A Wingtip alkalmazás 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.<felhasználó>.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.

    -dpt megkülönbözteti a Wingtip Tickets adatbázis per bérlő implementációját a többi implementációtó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 megvalósítása a(z) szegmenstérkép-kezelésalkalmazásával történik.
  • 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, egy vállalati internetes tartományt a Traffic Manager DNS-nevére.

Jegyzet

Lehet, hogy nem azonnal nyilvánvaló, hogy mi a traffic manager használata ebben az oktatóanyagban. Az oktatóanyag-sorozat célja olyan minták bemutatása, amelyek képesek kezelni egy összetett termelési 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ási é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. További információért a geo-helyreállításokról, lásd: Geo-helyreállítás az Azure SQL Database esetében.

Kezdje el a terhelés generálását a bérlői adatbázisokon.

Most, hogy az alkalmazás üzembe lett helyezve, használjuk.

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. A generátor egy véletlenszerű csúcsokkal vagy aktivitási kitörésekkel rendelkező terhelést hoz létre minden bérlőn, hogy szimulálja az ilyen típusú terhelést. A kitörések véletlenszerű időközönként történnek. 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 ISE-ben nyissa meg a ...\Learning 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

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. Demo-LoadGenerator.ps1LoadGenerator.ps1 indul el az előtérben.

    • Mindkét .ps1 fájl a Learning Modules\Utilities\ mappában van tárolva.
  2. LoadGenerator.ps1 végigmegy a katalógus összes bérlői adatbázisán.

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

    • Alapértelmezés szerint a háttérfeladatok 120 percig futnak.
    • Minden feladat cpu-alapú terhelést okoz egy bérlői adatbázison a sp_CpuLoadGeneratorvégrehajtásával. A terhelés intenzitása és időtartama attól függ, hogy $DemoScenario.
    • sp_CpuLoadGenerator az SQL SELECT utasítást körülvevő ciklusok, amelyek nagy processzorterhelést okoznak. A SELECT 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 elosztva, hogy valósághűbb terheléseket szimuláljanak.
    • Ez a .sql fájl WingtipTenantDB\dbo\StoredProcedures\alatt található.
  4. Ha $OneTime = $false, a 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 megadja a $OneTime = $true-t, a LoadGenerator elindítja a háttérfeladatokat, majd leáll az előtérben. Ebben az oktatóanyagban hagyja $OneTime = $falseahogy van.

    Ha le szeretné állítani vagy újraindítani a terhelésgenerátort, használja a Ctrl-C-t vagy a leállítási művelet Ctrl-Break-et.

    Ha az előtérben hagyja a terhelésgenerátort, egy másik PowerShell ISE-példány használatával futtassa a többi PowerShell-szkriptet.

 

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

Új bérlő létrehozása

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ére vonatkozó munkafolyamatot a Kiépítés és katalógus oktatóanyagismerteti. 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 ISE-t.

  2. Nyissa meg a ...\Learning Modules\Provision and Catalog\Demo-ProvisionAndCatalog.ps1.

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

    Jegyzet

    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 megjelenik az Események új bérlő webhelye a böngészőben.

Új bérlői

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 portálonkeresse meg az SQL szerverek listáját. Ezután nyissa meg a catalog-dpt-<USER> kiszolgálót.

    • A katalóguskiszolgáló két adatbázist tartalmaz, tenantcatalog és basetenantdb (új bérlők létrehozásához másolt sablonadatbázis).

    Képernyőkép a katalóguskiszolgáló áttekintési lapjáról a két adatbázissal.

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

  3. Nyissa meg a bérlők1-dpt- kiszolgálót, amely tartalmazza<FELHASZNÁLÓ> bérlői adatbázisokat.

  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.

    Képernyőkép a kiszolgálón található négy adatbázisról, kiemelve a Red Maple Racing adatbázist.

A medence figyelése

Miután LoadGenerator.ps1 néhány 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ót bérlők1-dpt-<felhasználói>, majd válassza 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 csoport

  • Az első, erőforrás-kihasználtságcí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

Ebben az oktatóanyagban a következőket tanulta:

  • 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 ellátása.
  • Az erőforrás-használat megtekintése a bérlők tevékenységének 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 Előkészítés és katalógus oktatóanyagot.