Wingtip Tickets SaaS-programmet
gäller för:Azure SQL Database
Samma Wingtip Tickets SaaS-programmet implementeras i vart och ett av tre exempel. Appen är en enkel eventlistning och biljettförsäljning SaaS-app som riktar sig till små lokaler: teatrar, klubbar och så vidare. Varje plats är en klientorganisation för appen och har egna data, till exempel platsinformation, listor över evenemang, kunder, biljettbeställningar och så vidare. Appen visar tillsammans med hanteringsskript och självstudier ett SaaS-scenario från slutpunkt till slutpunkt. Detta omfattar provisionering av hyresgäster, övervakning och hantering av prestanda, schemahantering samt rapportering och analys tvärs över hyresgäster.
Tre SaaS-program och innehavarmönster
Det finns tre versioner av appen; var och en utforskar ett annat databasuthyrningsmönster i Azure SQL Database. Den första använder ett fristående program per klientorganisation med en egen databas. Den andra använder en app med flera klienter med en databas per klientorganisation. Det tredje exemplet använder en multitenant-app med databaser med delade resurser för flera hyresgäster.
Varje exempel innehåller programkoden, plus hanteringsskript och självstudier som utforskar en rad olika design- och hanteringsmönster. Varje prov implementeras på mindre än fem minuter. Alla tre kan distribueras sida vid sida så att du kan jämföra skillnaderna i design och hantering.
Fristående applikation enligt hyresgästmodell
Den fristående appen per klientorganisation använder ett enda klientprogram med en databas för varje klientorganisation. Varje klients app, inklusive dess databas, distribueras till en separat Azure-resursgrupp. Resursgruppen kan distribueras i tjänstleverantörens prenumeration eller klientorganisationens prenumeration och hanteras av providern för klientorganisationens räkning. Det fristående appmönstret per hyresgäst ger bäst isolering av hyresgäster, men är vanligtvis dyrast eftersom det inte går att dela resurser mellan flera hyresgäster. Det här mönstret passar bra för program som kan vara mer komplexa och som distribueras till mindre antal klienter. Med fristående distributioner kan appen anpassas för varje klientorganisation enklare än i andra mönster.
Kolla in de självstudierna och koden på GitHub .../Microsoft/WingtipTicketsSaaS-StandaloneApp.
Mönster för databas per klientorganisation
Mönstret för databasen per klientorganisation är effektivt för tjänstleverantörer som arbetar med klientisolering och som vill köra en centraliserad tjänst som möjliggör kostnadseffektiv användning av delade resurser. En databas skapas för varje plats eller klientorganisation och alla databaser hanteras centralt. Databaser kan finnas i elastiska pooler för att tillhandahålla kostnadseffektiv och enkel prestandahantering, som hanterar klienternas oförutsägbara arbetsbelastningsmönster. En katalogdatabas innehåller mappningen mellan klientorganisationer och deras databaser. Den här mappningen hanteras med hjälp av funktionerna för hantering av shardkartor i Elastic Database-klientbiblioteket, vilket ger effektiv anslutningshantering till programmet.
Kolla in handledningarna och koden på GitHub .../Microsoft/WingtipTicketsSaaS-DbPerTenant.
Shardad multitenant-databasemönster
Databaser med flera klienter är effektiva för tjänstleverantörer som söker lägre kostnad per hyresgäst och är villiga att acceptera minskad isolering mellan hyresgäster. Det här mönstret möjliggör packning av ett stort antal hyresgäster i en enskild databas, vilket sänker kostnaden per hyresgäst. Du kan ha nästan oändlig skala genom att dela upp hyresgäster över flera databaser. Katalogdatabasen mappar hyresgäster till databaser.
Det här mönstret tillåter också en sådan hybridmodell, där du kan optimera kostnaderna med flera hyresgäster i en databas, eller optimera isoleringen med en enda hyresgäst i deras egen databas. Valet kan göras per hyresgäst, antingen när hyresgästen etableras eller senare, utan att programmet påverkas. Den här modellen kan användas effektivt när grupper av klienter behöver behandlas annorlunda. Till exempel kan lågkostnadshyresgäster tilldelas delade databaser, medan premiumhyresgäster kan tilldelas sina egna databaser.
Kolla in Wingtips-självstudierna och WingtipTicketsSaaS-MultiTenantDB kod på GitHub](https://github.com/Microsoft/WingtipTicketsSaaS-MultiTenantDb).
Relaterat innehåll
- Multitenanta SaaS-databasers hyresmönster
- Distribuera och utforska ett fristående single-tenant-program som använder Azure SQL Database
- Code för fristående app på GitHub
- Introduktion till en fleranvändar-SaaS-app som använder mönstret databas per hyresgäst med Azure SQL Database
- Code för databas per klient, på GitHub
- Distribuera och utforska ett fragmenterat program med flera klientorganisationer
- Kod för delad multitenans på GitHub