Selon une étude du Synergy Research Group, le marché du Cloud a franchi la barre des 250 milliards de dollars en 2018, avec une croissance de 32% en un an. Mode de distribution privilégié pour les logiciels de type ERP, le SaaS a quant à lui enregistré une croissance de 30%, ce qui confirme sa popularité auprès des entreprises. Parmi les ingrédients de son succès, une notion dont on commence à parler de plus en plus : l’architecture multi-tenant. De quoi s’agit-il et pourquoi est-elle incontournable aujourd’hui ?

Architecture multi-tenant

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

Les logiciels dotés d’une architecture « multi-tenant » disposent d’une seule installation technique, qui est partagée par tous les utilisateurs. Cette architecture est caractéristique des logiciels de gestion en SaaS, à l’inverse des ERP On Premise où chaque entreprise installe sa version du logiciel sur son serveur.

Le terme « tenant », que l’on peut traduire par « entité » ou « locataire », désigne un groupe d’utilisateurs qui partage une vue du logiciel (par exemple, une configuration commune, des fonctionnalités spécifiques, etc.). Chaque tenant est composé de plusieurs utilisateurs. Dans la plupart des cas, le tenant est une société cliente et les utilisateurs en sont les collaborateurs. Schématiquement, on peut donc dire que le logiciel est partagé entre plusieurs parties (tenant space) isolées les unes des autres, et que chaque locataire a accès à une partie du logiciel.

Pour mieux comprendre la notion d’architecture multi-tenant, voici une analogie très parlante, qui a été développée par trois chercheurs de l’Université de Würzburg. L’architecture multi-tenant est comme un immeuble dans lequel les habitants partagent une installation commune (l’immeuble) ainsi que certaines ressources (le chauffage, l’eau) pour réduire les coûts ; tout en étant isolés les uns des autres.

Quels sont les avantages de l’architecture multi-tenant ?

L’architecture multi-tenant possède de nombreux avantages pour les fournisseurs de logiciels de gestion en ligne. Pour commencer, l’optimisation des ressources et des coûts est au cœur du concept même de multi-tenant. En effet, cette architecture permet de réduire le coût total de possession (un utilisateur supplémentaire ne coûte rien et les coûts opérationnels d’un data center sont mutualisés), tout en maximisant l’efficacité du logiciel. En particulier, le fait de disposer d’une base de données unique va considérablement simplifier et accélérer l’agrégation et la recherche de données.

Autre exemple de l’efficacité de l’architecture multi-tenant : elle permet de simplifier le processus de mise à jour. En effet, puisqu’il n’y a qu’une seule plateforme technique à mettre à jour, les livraisons sont moins contraignantes et peuvent ainsi être plus fréquentes.
Les chiffres parlent d’eux-mêmes : selon le CEO d’OpSource (une société d’hébergement Cloud californienne), Treb Ryan, l’architecture multi-tenant peut réduire les coûts des produits vendus (COGS) d’un fournisseur SaaS de 40 % à moins de 10 % !

L’architecture multi-tenant offre également un grand nombre d’avantages pour les utilisateurs. Grâce à la mutualisation des coûts engendrée par la possession d’un data center commun à tous les utilisateurs, les tarifs des solutions de gestion en mode SaaS peuvent être plus intéressants. De plus, la centralisation de la maintenance et des mises à jour est plus pratique et plus rapide : pas besoin de réaliser une mise à jour longue et fastidieuse sur le serveur de l’entreprise, chaque version du logiciel de gestion est automatiquement modifiée à chaque montée de version.

Le multi-tenant : une architecture flexible

L’architecture multi-tenant a l’avantage de ne pas être figée, que ce soit pour les utilisateurs ou pour les fournisseurs. Les logiciels ERP en ligne basés sur cette architecture offrent une grande flexibilité aux utilisateurs : puisqu’ils reposent sur une base de code commune à tous, ils sont souvent hautement configurables et personnalisables pour pouvoir s’adapter aux demandes spécifiques de chaque client.

Du coté des fournisseurs, le multi-tenant peut être adapté à tous les types d’ERP SaaS grâce aux différents modèles existants. Ces modèles dépendent de plusieurs critères :

  • Le schéma d’affinités : l’architecture non-affine consiste à rediriger chaque tenant vers n’importe quel serveur ; tandis que l’architecture affine va rediriger chaque tenant vers un serveur spécifique. C’est ce dernier modèle qu’utilisent la plupart des solutions ERP en SaaS ;
  • Le schéma des bases de données : le fournisseur peut posséder une base de donnée par tenant ; une base de données commune mais avec des schémas différents pour chaque tenant ; ou encore une base de données et des schémas communs, mais une différenciation par des identifiants (tenantId). C’est cette dernière option qui est souvent privilégiée par les ERP SaaS ;
  • Le degré d’isolation fonctionnelle : à chaque tenant est attribué un « quota » de charge de travail pour assurer la bonne performance du logiciel. Lorsque l’isolation fonctionnelle est faible, un tenant qui dépasse son quota peut provoquer des lenteurs chez les autres utilisateurs ;
  • La qualité de service (QoS) : il se peut que chaque tenant ne possède pas la même qualité de service que les autres (disponibilité, temps de réponse, quota de charge de travail…). Dans ce cas, on parle de différenciation.
  • Le degré de personnalisation. On distingue deux modèles : soit l’application est configurable (ergonomie, apparence, fonctionnalités…) mais la base de code reste commune à tous les tenants (c’est le cas par exemple de Google Docs) ; soit le fournisseur du logiciel de gestion effectue des modifications dans le code pour s’adapter aux demandes spécifiques. Cette dernière solution est celle qui offre la meilleure qualité de service, mais effectuer des modifications au niveau du code pour un seul tenant sans qu’il y ait des répercussions sur les autres est un véritable challenge technique !

Les challenges de la mise en place d’une architecture multi-tenant

Nous avons vu en quoi l’architecture multi-tenant est flexible et procure de nombreux avantages pour les clients comme pour les éditeurs de solutions de gestion web. Alors pourquoi n’est-elle pas encore adoptée à grande échelle ? Tout simplement parce que son implémentation comporte quelques challenges.

Pour commencer, ce n’est pas l’architecture la plus facile pour lancer son logiciel. La stratégie de la plupart des éditeurs de progiciels en SaaS est de s’orienter vers des architectures “multi-instances”, plus accessibles pour tester le marché (du moins dans un premier temps). En effet, pour implémenter une architecture multi-tenant, il faut posséder des connaissances techniques et une solide expérience dans le domaine.

De plus, si ce modèle architectural est flexible, il faut reconnaître que cela complique encore plus sa mise en place ! En effet, l’éditeur de logiciel SaaS doit choisir dès le début parmi les différents modèles, et ajuster tous ces paramètres de manière stratégique : degré de personnalisation, degré d’isolation, qualité de service, schéma d’affinité et schéma des bases de données… Ce choix est crucial et nécessite une vision long terme.

Mais la maintenance d’un tel système aussi est compliquée : le multi-tenant repose sur des bases de données volumineuses et complexes, et si vous n’avez pas une équipe technique dédiée à leur maintenance (comme la plupart des petits éditeurs qui se lancent sur le marché des ERP SaaS), il risque d’y avoir de nombreux problèmes de disponibilité pour vos utilisateurs. Pour vous donner une idée, Salesforce, l’un des leaders des éditeurs de logiciels de gestion, déconnecte ses utilisateurs pendant 21,6 heures en moyenne chaque mois pour des opérations de maintenance. Maintenir un taux de disponibilité supérieur à 99 % est donc un véritable challenge pour les éditeurs SaaS qui ont opté pour l’architecture multi-tenant !

Ensuite, chaque modification apportée va avoir un impact sur tous les environnements puisque la base de code est commune à tous. Ainsi, développer des fonctionnalités spécifique pour tel ou tel client est un véritable défi technique !

Enfin et surtout, le multi-tenant est souvent critiqué sur un point crucial, celui de la sécurité. En effet, les utilisateurs peuvent voir d’un mauvais œil le partage d’une instance avec les autres utilisateurs, alors même que les ERP en ligne brassent des données très sensibles (données personnelles, données de facturation, contacts clients, etc.). Même si les éditeurs de solutions web mettent tout en place pour assurer la sécurité des données, il y a toujours un risque d’une brèche de sécurité, avec tout ce que cela implique.

Pourquoi opter pour l’architecture multi-tenant est un choix stratégique ?

Malgré ces quelques difficultés, les éditeurs de progiciels qui optent pour un modèle multi-tenant ont tout à gagner.

En effet, il existe plusieurs autres modèles d’architecture pour les éditeurs de logiciels de gestion en SaaS, qui vont leur permettre d’exploiter les avantages du Cloud. Mais ces modèles ont quelques faiblesses qui finiront par poser problème sur le long terme :

  • Le partage de data center : certains éditeurs optent pour un data center commun à toutes les instances de leurs clients, sans pour autant aller vers le mode multi-tenant. Cette option permet effectivement de limiter considérablement les coûts de fonctionnement puisque les ressources comme l’air conditionné ou l’infrastructure réseau sont ainsi mutualisées. Cependant, les coûts liés aux flux de données des utilisateurs restent importants ;
  • La virtualisation : cette option, certainement la plus utilisée  encore aujourd’hui, consiste à séparer le système d’exploitation et la partie opérationnelle du logiciel de gestion. Elle permet non seulement de mutualiser les coûts liés à l’infrastructure, mais aussi d’isoler les utilisateurs sur des environnements virtuels. En contrepartie, les mises à jours sont très fastidieuses et le coût par utilisateur reste très élevé ;
  • Le partage d’intergiciel (middleware) : ce modèle consiste à partager un middleware en plusieurs instances de l’application. Cependant, il subsiste plusieurs instances séparées et les coûts ne sont donc pas optimisés : le fait de posséder un middleware et plusieurs instances de l’application ne diffère finalement pas vraiment du fait de posséder la même application plusieurs fois…

Parmi tous ces modèles, le multi-tenant se distingue par la mise en place d’une seule instance, et donc la réduction (voire la disparition) du coût par utilisateur. Les modèles multi-instances sont peut-être plus simples à mettre en place, mais il ne tiennent pas sur le long terme. Imaginez, lorsque vous aurez 10 000 clients, devoir mettre à jour 10 000 instances séparées à chaque montée de version ! Surtout qu’aujourd’hui, les clients attendent des logiciels ERP en SaaS qu’ils soient évolutifs, ce qui implique des mises à jours mensuelles voire hebdomadaires !

L’architecture multi-tenant s’impose donc peu à peu comme la solution la plus viable sur le long terme pour les ERP en mode SaaS. Non seulement, elle permet de centraliser les ressources, ce qui entraîne de fortes économies d’échelle, mais en plus, elle est flexible et adaptable.