Aplikace Wingtip Tickets SaaS

Platí pro:Azure SQL Database

Stejná aplikace Wingtip Tickets SaaS se implementuje v každé ze tří ukázek. Aplikace je jednoduchý výpis událostí a lístkování aplikace SaaS zaměřené na malé místa - divadla, kluby atd. Každé místo je tenantem aplikace a má vlastní data: podrobnosti o místě, seznamy událostí, zákazníci, objednávky lístků atd. Aplikace společně se skripty pro správu a kurzy předvádí kompletní scénář SaaS. To zahrnuje zřizování tenantů, monitorování a správu výkonu, správy schémat a generování sestav a analýz napříč tenanty.

Tři vzory aplikací SaaS a tenantů

K dispozici jsou tři verze aplikace; každý prozkoumá jiný model tenantů databáze ve službě Azure SQL Database. První používá samostatnou aplikaci na tenanta s vlastní databází. Druhá používá aplikaci s více tenanty s databází na tenanta. Třetí ukázka používá víceklientskou aplikaci s horizontálně dělenými databázemi s více tenanty.

Three tenancy patterns

Každá ukázka zahrnuje kód aplikace a skripty pro správu a kurzy, které prozkoumávají celou řadu vzorů návrhu a správy. Každá ukázka se nasadí za méně než pět minut. Všechny tři je možné nasadit vedle sebe, abyste mohli porovnat rozdíly v návrhu a správě.

Model samostatné aplikace na tenanta

Samostatná aplikace na model tenanta používá jednu aplikaci tenanta s databází pro každého tenanta. Každá aplikace tenanta, včetně její databáze, se nasadí do samostatné skupiny prostředků Azure. Skupinu prostředků je možné nasadit v předplatném poskytovatele služeb nebo v předplatném tenanta a spravovat ji zprostředkovatelem jménem tenanta. Model samostatné aplikace na tenanta poskytuje největší izolaci tenantů, ale obvykle je nejdražší, protože neexistuje možnost sdílet prostředky mezi více tenanty. Tento model je vhodný pro aplikace, které můžou být složitější a které se nasazují na menší počet tenantů. Při samostatných nasazeních je možné aplikaci přizpůsobit pro každého tenanta snadněji než v jiných vzorech.

Podívejte se na kurzy a kód na GitHubu .../Microsoft/WingtipTicketsSaaS-StandaloneApp.

Model databáze na tenanta

Model databáze na tenanta je efektivní pro poskytovatele služeb, kteří se zabývají izolací tenanta a chtějí spustit centralizovanou službu, která umožňuje nákladově efektivní využívání sdílených prostředků. Pro každé místo nebo tenanta se vytvoří databáze a všechny databáze se centrálně spravují. Databáze je možné hostovat v elastických fondech, aby poskytovaly nákladově efektivní a snadnou správu výkonu, která využívá nepředvídatelné vzory úloh tenantů. Databáze katalogu obsahuje mapování mezi tenanty a jejich databázemi. Toto mapování se spravuje pomocí funkcí správy mapování horizontálních oddílů klientské knihovny elastické databáze, která poskytuje efektivní správu připojení k aplikaci.

Podívejte se na kurzy a kód na GitHubu .../Microsoft/WingtipTicketsSaaSaS-DbPerTenant.

Model horizontálně dělené databáze s více tenanty

Databáze s více tenanty jsou efektivní pro poskytovatele služeb, kteří hledají nižší náklady na tenanta a v pořádku s omezenou izolací tenanta. Tento model umožňuje balení velkého počtu tenantů do individuální databáze, což snižuje náklady na tenanta. Téměř nekonečné škálování je možné horizontálním dělením tenantů napříč několika databázemi. Databáze katalogu mapuje tenanty na databáze.

Tento model také umožňuje hybridní model, ve kterém můžete optimalizovat náklady s více tenanty v databázi nebo optimalizovat izolaci s jedním tenantem ve vlastní databázi. Volbu je možné provést na základě tenanta podle tenanta, a to buď při zřízení tenanta, nebo novějším, bez dopadu na aplikaci. Tento model je možné efektivně použít, když je potřeba se skupinami tenantů zacházet odlišně. Například nízkonákladové tenanty je možné přiřadit ke sdíleným databázím, zatímco prémiové tenanty je možné přiřadit k jejich vlastním databázím.

Podívejte se na kurzy a kód na GitHubu .../Microsoft/WingtipTicketsSaaS-MultiTenantDb.

Další kroky

Koncepční popisy

Kurzy a kód