Architecture multi-tenant : de quoi s’agit-il ?

0
1919
Architecture multi-tenant

S’il est facile de déployer des infrastructures fixes, aussi appelées single-tenant, elles ont cependant leur limite en ce qui concerne la maintenance, et c’est la raison pour laquelle il est conseillé aux éditeurs d’applications SaaS de se trouver vers le multi-tenant. Mais qu’est-ce qu’une architecture multi-tenant et comment la mettre en place sur AWS ? Voici quelques éléments de réponses afin d’y voir plus clair.

Qu’est-ce qu’une architecture multi-tenant ?

Le terme anglais de « Tenant » a pour traduction en français « Locataire ». Multi-tenant peut donc être traduit par multi-locataire. Concrètement, cela nous aide à comprendre que l’infrastructure multi-tenant est un modèle d’architecture logicielle qui permet de servir plusieurs clients à partir d’une seule et même instance d’application.

Quelles sont les différences entre un modèle single-tenant et un modèle multi-tenant ?

Dans le cadre d’une architecture single-tenant, plusieurs clients utilisent la même application. Ils ont cependant la possibilité d’avoir leur propre version de l’application installée dans une instance qui leur est dédiée.

Les avantages sont que chaque locataire a sa version de l’application séparée, que les données ne sont pas mélangées mais aussi que chaque client, ou locataire, possède son propre serveur d’application et sa propre base de données.

Il faut savoir en revanche que le single-tenant présente aussi de sérieux inconvénients, qu’il faut bien prendre en compte. Il s’avère en effet compliqué de gérer les multiples versions de l’application sur chaque infrastructure lorsque les clients sont nombreux. C’est même totalement ingérable à partir de 1000 clients. Il faut en outre automatiser la gestion des infrastructures avec des solutions à partir de 100 clients. Enfin, le coût fixe de chaque infrastructure n’est pas du tout intéressant pour les clients qui ont un faible trafic.

À l’inverse, dans le cadre d’une architecture multi-tenant, plusieurs clients vont se servir d’une même instance d’application. On mutualiste alors les ressources et notamment les bases de données.

Il y a plusieurs avantages à opter pour une infrastructure multi-tenant. À savoir :

  • La maintenance profite à tous les clients lorsqu’une modification doit être apportée à un fichier
  • Les mises à jour sont plus simples à réaliser
  • Les coûts d’utilisation sur le Cloud sont plus avantageux
  • La gestion des clients est plus facile, peu importe leur nombre
  • Les délais de réponses sont réduits

Bon à savoir : il faut savoir qu’il existe aussi des architectures hybrides où seule l’application est mutualisée et où chaque client dispose de sa propre base de données dans l’infrastructure. C’est une solution qui permet aux locataires de faire des économies en comparaison avec le single-tenant.

Peut-on faire du multi-tenant avec AWS ?

Pour les utilisateurs du cloud AWS, les développeurs d’applications SaaS doivent sécuriser les données afin qu’elles ne soient pas accessibles par tous les clients. Ils doivent également pouvoir clairement identifier un locataire, relier une donnée au bon user ou bien encore rapidement savoir les droits qui ont été concédés à tel ou tel client.

Dans le cadre du cloud AWS, les développeurs doivent utiliser les outils suivants :

  • DynamoDB pour différencier les bases de données
  • Amazon Cognito pour lister les différents clients et ajouter des utilisateurs aux applications SaaS
  • IAM pour mettre en place des règles de sécurité

Comme on peut le constater, il est tout à fait possible de faire du multi-tenant avec AWS. Dans sa globalité, le multi-tenant est toujours plus avantageux que le single-tenant et doit être privilégié par les développeurs d’applications SaaS.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici