La multi-location est un modèle architectural dans lequel une instance unique d'une application sert plusieurs clients ou "locataires". Les données de chaque locataire sont isolées et restent invisibles pour les autres locataires, même s'ils utilisent tous la même infrastructure matérielle et logicielle sous-jacente. Les architectures multi-locataires permettent une meilleure utilisation des ressources et une maintenance plus facile que si l'on disposait d'instances d'application distinctes pour chaque client.
Xano est une plateforme backend sans code qui facilite le développement d'applications multi-locataires sans écrire de code backend. Grâce à la prise en charge intégrée du multi-tenant et aux meilleures pratiques de Xano, vous pouvez créer des applications évolutives qui isolent proprement les données de chaque locataire et optimisent l'utilisation des ressources. Examinons quelques considérations architecturales clés et les meilleures pratiques lors du développement d'applications multi-locataires sur Xano.
Architecture de base de données pour le multi-tenancy
L'architecture de la base de données est le fondement de toute application multi-locataire. Il existe quelques approches communes :
1. Bases de données séparées: Chaque locataire dispose d'une base de données physiquement séparée. Bien que cette solution offre l'isolation la plus forte, elle entraîne des coûts de maintenance plus élevés et ne permet pas le partage des données entre les locataires.
2. Base de données partagée, schémas séparés : Tous les locataires partagent une base de données, mais chacun d'entre eux dispose de son propre ensemble de tables dans le cadre d'un schéma distinct. Il s'agit d'un bon équilibre entre l'isolation et l'efficacité.
3. Base de données partagée, schéma partagé : Tous les locataires partagent la même base de données et les mêmes tables, avec une colonne d'identification du locataire utilisée pour isoler les données de chaque locataire. Cette solution est la moins coûteuse en termes de maintenance, mais elle risque d'entraîner des fuites de données entre les locataires si les requêtes ne sont pas correctement filtrées.
Dans Xano, l'approche recommandée est la suivante : base de données partagée, schémas séparés. Vous pouvez créer un espace de travail pour chaque locataire qui fournit un environnement logiquement isolé avec ses propres tables de base de données. Les fonctions de gestion des autorisations et des équipes de Xano vous permettent de contrôler l'accès à chaque espace de travail.
Optimiser les performances des applications multi-locataires
Avec les architectures multi-locataires, de nombreux clients accèdent simultanément aux mêmes ressources informatiques. Pour garantir des performances constantes, il convient de prendre en compte les éléments suivants :
- Mettez en place une limitation de débit par locataire afin d'éviter qu'un seul locataire ne submerge les ressources partagées et ne dégrade les performances des autres. Xano vous permet de définir des limites de débit pour chaque point d'extrémité de l'API.
- Utilisez la mise en cache pour minimiser les accès redondants aux données. Xano prend en charge la mise en cache des réponses pour les points d'extrémité de l'API afin de mettre automatiquement les réponses en cache et de les renvoyer rapidement pour les demandes suivantes.
- Surveillez l'utilisation des ressources entre les locataires pour identifier les goulets d'étranglement et optimiser les requêtes. Xano fournit des mesures d'utilisation pour suivre des éléments tels que les requêtes API, les requêtes de base de données et l'utilisation de la mémoire au fil du temps.
- Utilisez l'indexation de manière stratégique sur les modèles de requête courants afin de maximiser l'efficacité de la base de données. Xano vous permet de configurer facilement des index sur les tables de votre base de données.
Mise à disposition et gestion des locataires
La gestion des locataires est un élément clé des architectures multi-locataires. Vous devrez automatiser le flux de provisionnement qui met en place un nouvel environnement isolé lors de l'intégration d'un nouveau client. Avec Xano, vous pouvez :
- Créez un nouvel espace de travail via l'API lorsqu'un nouveau locataire s'inscrit. Configurez-le avec le schéma et les autorisations d'accès appropriés.
- Utilisez la gestion d'équipe de Xano pour inviter les membres de l'équipe du locataire et définir leurs rôles/permissions au sein de l'espace de travail.
- Intégrez votre système de facturation pour activer/désactiver les fonctionnalités en fonction de l'état de l'abonnement du locataire.
- Surveillez l'utilisation des ressources de chaque locataire et envoyez des alertes s'ils approchent des limites du plan.
En traitant la location comme un citoyen de première classe, vous pouvez construire des systèmes robustes pour gérer automatiquement le cycle de vie complet du locataire, de l'approvisionnement au déprovisionnement en passant par la mise à l'échelle.
Sécurité et conformité
La sécurité est primordiale lorsque plusieurs clients s'appuient sur le même système sous-jacent pour isoler leurs données. Xano offre de nombreuses fonctions de sécurité intégrées :
- Prise en charge de l'authentification API et contrôle d'accès granulaire basé sur les rôles (RBAC) pour garantir que seuls les utilisateurs et services autorisés peuvent accéder aux données du locataire
- Chiffrement automatique des données en transit (SSL) et au repos
- Conformité SOC 2 Type 2 pour des opérations de centre de données sécurisées
Utilisez les fonctions de sécurité de Xano pour garantir la confidentialité et l'intégrité des données de chaque locataire. Automatisez les politiques de sécurité et contrôlez la conformité.
Le développement d'applications multi-locataires nécessite une architecture réfléchie pour isoler les données des locataires, optimiser l'utilisation des ressources et s'adapter à l'arrivée de nouveaux clients au fil du temps. Xano fournit les éléments de base pour développer des backends multi-locataires sécurisés et performants sans écrire de code. En suivant les meilleures pratiques en matière de location, de sécurité, de performance et d'automatisation, vous pouvez créer des applications robustes qui évoluent pour servir n'importe quel nombre de clients. Le paradigme de l'absence de code vous permet de vous concentrer sur le cycle de vie de la gestion des locataires de votre application, tandis que Xano gère les complexités sous-jacentes.