Application SaaS Wingtip Tickets
S’applique à :Azure SQL Database
La même application Wingtip Tickets SaaS est implémentée dans chacun des trois exemples. L’application est une simple liste d’événements et une application SaaS ciblant de petits lieux : théâtres, clubs, et ainsi de suite. Chaque lieu est un locataire de l’application et possède ses propres données, telles que les détails du lieu, les listes d’événements, les clients, les commandes de tickets, etc. L’application, ainsi que les scripts de gestion et les didacticiels, présente un scénario SaaS de bout en bout. Celui-ci inclut le provisionnement des locataires, le monitoring et la gestion des performances, la gestion des schémas et les rapports et analytiques entre locataires.
3 modèles d’application SaaS et de clients
Trois versions de l’application sont disponibles, chacune explorant un modèle différent d’architecture multilocataire de base de données sur Azure SQL Database. Le premier utilise une application autonome par client avec sa propre base de données. La deuxième utilise une application mutualisée avec une base de données par locataire. Le troisième exemple utilise une application mutualisée avec des bases de données mutualisées partitionnées.
Chaque exemple inclut le code de l’application, et des scripts et didacticiels qui explorent plusieurs modèles de conception et de gestion. Chaque exemple se déploie en moins de cinq minutes. Les trois exemples peuvent être déployés côte à côte. Vous pouvez alors comparer les différences de conception et de gestion.
Modèle d’application autonome par client
Le modèle d’application autonome par client utilise une application à locataire unique avec une base de données pour chaque locataire. Chaque application du locataire, notamment sa base de données, est déployée dans un groupe de ressources Azure distinct. Le groupe de ressources peut être déployé dans l’abonnement du fournisseur de services ou l’abonnement du locataire et géré par le fournisseur au nom du locataire. Le modèle d’application autonome par client fournit l’isolation des locataires la plus grande, mais il est généralement le plus onéreux, car il n’existe aucune possibilité de partager des ressources entre plusieurs locataires. Ce modèle convient parfaitement aux applications qui peuvent être plus complexes et qui sont déployées sur de plus petits nombres de clients. Avec les déploiements autonomes, l’application peut être personnalisée pour chaque client plus facilement que dans d’autres modèles.
Consultez les tutoriels et le code sur GitHub .../Microsoft/WingtipTicketsSaaS-StandaloneApp.
Modèle avec une base de données par locataire
Le modèle de base de données par locataire est efficace pour les fournisseurs de services qui sont concernés par l’isolation des locataires et souhaitent exécuter un service centralisé qui permet une utilisation rentable de ressources partagées. Une base de données est créée pour chaque locataire ou lieu, et toutes les bases de données sont gérées centralement. Les bases de données peuvent être hébergées dans des pools élastiques pour fournir une gestion des performances économique et facile, qui gère les modèles de charge de travail imprévisibles des locataires. Une base de données de catalogue contient le mappage entre les locataires et leurs bases de données. Ce mappage est géré à l’aide des fonctionnalités de gestion de carte de partitions de la bibliothèque cliente de base de données élastique, ce qui garantit une gestion efficace des connexions à l’application.
Consultez les tutoriels et le code sur GitHub .../Microsoft/WingtipTicketsSaaS-DbPerTenant.
Modèle de base de données multilocataire fragmentée
Les bases de données multilocataires sont efficaces pour les fournisseurs de services qui recherchent un coût inférieur par client et acceptent une isolation réduite entre les clients. Ce modèle permet la compression de gros volumes de locataires dans une base de données individuelle, réduisant ainsi le coût par locataire. Vous pouvez avoir une mise à l’échelle presque infinie en partitionnant les locataires sur plusieurs bases de données. Une base de données de catalogue mappe à nouveau les locataires aux bases de données.
Ce modèle permet également un modèle hybride , dans lequel vous pouvez optimiser les coûts avec plusieurs locataires dans une base de données, ou optimiser l’isolation pour un seul locataire dans sa propre base de données. Le choix peut être fait pour chaque locataire individuellement, soit lors de l'approvisionnement du locataire, soit ultérieurement, sans impact sur l'application. Ce modèle peut être utilisé efficacement lorsque des groupes de clients doivent être traités différemment. Par exemple, les clients à bas coût peuvent avoir des bases de données partagées, tandis que les clients premium peuvent être affectés à leurs propres bases de données.
Consultez les tutoriels Wingtips et le code et WingtipTicketsSaaS-MultiTenantDB sur GitHubhttps://github.com/Microsoft/WingtipTicketsSaaS-MultiTenantDb.
Contenu connexe
- modèles de location de base de données SaaS multilocataires
- Déployer et explorer une application monolocataire autonome qui utilise la base de données Azure SQL
- Code pour une application autonome, sur GitHub
- Présentation d’une application SaaS mutualisée qui utilise le modèle de base de données par locataire avec Azure SQL Database
- Code pour la base de données par locataire, sur GitHub
- Déployer et explorer une application multilocataire partitionnée
- Code pour multilocataire partitionné, sur GitHub