Sdílet prostřednictvím


Zřizování a katalog nových tenantů pomocí modelu SaaS pro jednotlivé tenanty

Platí pro: Azure SQL Database

Tento článek se zabývá zřizováním a katalogováním nových tenantů pomocí samostatné aplikace na model SaaS tenanta. Tento článek má dvě hlavní části:

  • Koncepční diskuze o zřizování a katalogování nových tenantů
  • Kurz, který zvýrazňuje ukázkový kód PowerShellu, který provádí zřizování a kataloging
    • Tento kurz používá ukázkovou aplikaci SaaS Wingtip Tickets přizpůsobenou samostatné aplikaci pro jednotlivé tenanty.

Model samostatné aplikace na tenanta

Samostatná aplikace pro jednotlivé tenanty je jedním z několika vzorů pro aplikace SaaS s více tenanty. V tomto modelu se pro každého tenanta zřizuje samostatná aplikace. Aplikace se skládá ze součástí na úrovni aplikace a azure SQL Database. Každou aplikaci tenanta je možné nasadit v předplatném dodavatele. Azure také nabízí program spravovaných aplikací, ve kterém může být aplikace nasazená v předplatném tenanta a spravovaná dodavatelem jménem tenanta.

Model aplikace pro jednotlivé tenanty

Při nasazování aplikace pro tenanta se aplikace a databáze zřídí v nové skupině prostředků vytvořené pro tenanta. Použití samostatných skupin prostředků izoluje prostředky aplikace jednotlivých tenantů a umožňuje je spravovat nezávisle. V rámci každé skupiny prostředků je každá instance aplikace nakonfigurovaná tak, aby přistupovala k příslušné databázi přímo. Tento model připojení kontrastuje s jinými vzory, které používají katalog ke zprostředkování připojení mezi aplikací a databází. Vzhledem k tomu, že neexistuje žádné sdílení prostředků, musí být každá databáze tenanta zřízena s dostatečnými prostředky, aby zvládla zatížení ve špičce. Tento model se obvykle používá pro aplikace SaaS s menším počtem tenantů, kde je silná důraz na izolaci tenantů a menší důraz na náklady na prostředky.

Použití katalogu tenantů s aplikací na model tenanta

I když jsou aplikace a databáze jednotlivých tenantů plně izolované, můžou různé scénáře správy a analýzy fungovat napříč tenanty. Například použití změny schématu pro novou verzi aplikace vyžaduje změny schématu každé databáze tenanta. Scénáře vytváření sestav a analýz můžou také vyžadovat přístup ke všem databázím tenantů bez ohledu na to, kde jsou nasazené.

Diagram znázorňující, jak používat katalog tenantů s aplikací na vzor tenanta

Katalog tenantů obsahuje mapování mezi identifikátorem tenanta a databází tenanta, což umožňuje překlad identifikátoru na server a název databáze. V aplikaci Wingtip SaaS se identifikátor tenanta vypočítá jako hodnota hash názvu tenanta, i když je možné použít jiná schémata. I když samostatné aplikace nepotřebují ke správě připojení katalog, katalog se dá použít k určení rozsahu dalších akcí na sadu databází tenantů. Elastic Query může například použít katalog k určení sady databází, ve kterých se dotazy distribuují pro generování sestav mezi tenanty.

Klientská knihovna Elastic Database

V ukázkové aplikaci Wingtip je katalog implementován funkcemi správy horizontálních oddílů klientské knihovny elastické databáze (EDCL). Knihovna umožňuje aplikaci vytvářet, spravovat a používat mapu horizontálních oddílů uloženou v databázi. V ukázce Wingtip Tickets se katalog uloží do databáze katalogu tenantů . Horizontální oddíl mapuje klíč tenanta na horizontální oddíl (databázi), ve které jsou uložená data daného tenanta. Funkce EDCL spravují globální mapu horizontálních oddílů uloženou v tabulkách v databázi katalogu tenantů a mapu místních horizontálních oddílů uloženou v jednotlivých horizontálních oddílech.

Funkce EDCL je možné volat z aplikací nebo skriptů PowerShellu pro vytvoření a správu položek v mapě horizontálních oddílů. Další funkce EDCL je možné použít k načtení sady horizontálních oddílů nebo připojení ke správné databázi pro daný klíč tenanta.

Důležité

Neupravujte data v databázi katalogu ani mapování místních horizontálních oddílů přímo v databázích tenanta. Přímé aktualizace nejsou podporovány kvůli vysokému riziku poškození dat. Místo toho upravte data mapování pouze pomocí rozhraní API EDCL.

Zřizování tenantů

Každý tenant vyžaduje novou skupinu prostředků Azure, kterou je potřeba vytvořit, aby bylo možné prostředky zřídit v rámci tohoto tenanta. Jakmile skupina prostředků existuje, můžete použít šablonu azure Resource Management k nasazení komponent aplikace a databáze a pak nakonfigurovat připojení k databázi. Pokud chcete inicializovat schéma databáze, může šablona importovat soubor bacpac. Případně můžete databázi vytvořit jako kopii databáze šablony. Databáze se pak dále aktualizuje s počátečními daty místa konání a zaregistrována v katalogu.

Kurz

V tomto kurzu se naučíte:

  • Zřízení katalogu
  • Registrace ukázkových databází tenantů, které jste nasadili dříve v katalogu
  • Zřízení dalšího tenanta a jeho registrace v katalogu

Šablona Azure Resource Manageru se používá k nasazení a konfiguraci aplikace, vytvoření databáze tenanta a následnému importu souboru bacpac, který ho inicializuje. Před provedením akce může být žádost o import zařazena do fronty několik minut.

Na konci tohoto kurzu máte sadu samostatných klientských aplikací s každou databází zaregistrovanou v katalogu.

Požadavky

Předpokladem dokončení tohoto kurzu je splnění následujících požadavků:

Zřízení katalogu

V této úloze se dozvíte, jak zřídit katalog použitý k registraci všech databází tenantů. V této lekci:

  • Zřiďte databázi katalogu pomocí šablony správy prostředků Azure. Databáze se inicializuje importem souboru bacpac.
  • Zaregistrujte ukázkové aplikace tenanta, které jste nasadili dříve. Každý tenant je zaregistrovaný pomocí klíče vytvořeného z hodnoty hash názvu tenanta. Název tenanta je také uložen v tabulce rozšíření v katalogu.
  1. V prostředí PowerShell ISE otevřete ...\Learning Modules\UserConfig.psm a aktualizujte <hodnotu uživatele> na hodnotu, kterou jste použili při nasazování tří ukázkových aplikací. Uložte soubor.

  2. V prostředí PowerShell ISE otevřete ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 a nastavte $Scenario = 1. Nasaďte katalog tenantů a zaregistrujte předem definované tenanty.

  3. Přidejte zarážku tak, že umístíte kurzor kamkoli na řádek, který říká, & $PSScriptRoot\New-Catalog.ps1a stiskněte klávesu F9.

    nastavení zarážky pro trasování

  4. Spusťte skript stisknutím klávesy F5.

  5. Po zastavení spuštění skriptu na zarážce stiskněte klávesu F11 a přejděte do skriptu New-Catalog.ps1.

  6. Trasování spuštění skriptu pomocí možností nabídky Ladění F10 a F11 pro krokování nebo volání funkcí.

Po dokončení skriptu bude katalog existovat a všechny ukázkové tenanty se zaregistrují.

Teď se podívejte na prostředky, které jste vytvořili.

  1. Otevřete Azure Portal a projděte skupiny prostředků. Otevřete skupinu prostředků wingtip-sa-catalog-user<> a poznamenejte si server a databázi katalogu.

  2. Otevřete databázi na portálu a v nabídce vlevo vyberte Průzkumník dat. Klikněte na příkaz Přihlásit a zadejte heslo = P@ssword1.

  3. Prozkoumejte schéma databáze tenantcatalog .

    • Všechny objekty ve schématu __ShardManagement poskytuje klientská knihovna elastické databáze.
    • Tabulka Tenants a TenantsExtended zobrazení jsou rozšíření přidaná v ukázce, která ukazují, jak můžete katalog rozšířit o další hodnotu.
  4. Spusťte dotaz SELECT * FROM dbo.TenantsExtended.

    Průzkumník dat

    Jako alternativu k použití Průzkumníka dat se můžete připojit k databázi z aplikace SQL Server Management Studio. Chcete-li to provést, připojte se k serveru wingtip-

    Mějte na paměti, že data byste neměli upravovat přímo v katalogu – vždy používejte rozhraní API pro správu horizontálních oddílů.

Zřízení nové aplikace tenanta

V této úloze se dozvíte, jak zřídit jednu aplikaci tenanta. V této lekci:

  • Vytvořte pro tenanta novou skupinu prostředků.
  • Pomocí šablony správy prostředků Azure zřiďte aplikaci a databázi do nové skupiny prostředků. Tato akce zahrnuje inicializaci databáze s běžným schématem a referenčními daty importem souboru bacpac.
  • Inicializace databáze se základními informacemi o tenantovi Tato akce zahrnuje zadání typu místa konání, který určuje fotografii použitou jako pozadí na svém webu událostí.
  • Zaregistrujte databázi v databázi katalogu.
  1. V prostředí PowerShell ISE otevřete ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 a nastavte $Scenario = 2. Nasazení katalogu tenantů a registrace předdefinovaných tenantů

  2. Do skriptu přidáte zarážku tak, že umístíte kurzor kamkoli na řádek 49 a & $PSScriptRoot\New-TenantApp.ps1stisknete klávesu F9.

  3. Spusťte skript stisknutím klávesy F5.

  4. Po zastavení spuštění skriptu na zarážce stiskněte klávesu F11 a přejděte do skriptu New-Catalog.ps1.

  5. Trasování spuštění skriptu pomocí možností nabídky Ladění F10 a F11 pro krokování nebo volání funkcí.

Po zřízení tenanta se otevře web událostí nového tenanta.

red maple racing

Pak můžete zkontrolovat nové prostředky vytvořené na webu Azure Portal.

red maple racing resources

Pokud chcete zastavit fakturaci, odstraňte skupiny prostředků.

Až ukázku prozkoumáte, odstraňte všechny skupiny prostředků, které jste vytvořili, a zastavíte tak přidruženou fakturaci.

Další materiály

Další kroky

V tomto kurzu jste se dozvěděli:

  • Jak nasadit samostatnou aplikaci SaaS Tickets Wingtip.
  • Informace o serverech a databázích, které tvoří aplikaci.
  • Odstranění ukázkových prostředků za účelem zastavení související fakturace

Pomocí verze databáze pro jednotlivé tenanty aplikace Wingtip Tickets SaaS můžete prozkoumat, jak se katalog používá k podpoře různých scénářů napříč tenanty.