L'architecture multi-client, qu'est-ce que c'est ?

Copier l'URL

Dans une architecture multi-client, une seule et même instance logicielle est exécutée dans un environnement partagé afin de servir plusieurs groupes d'utilisateurs, ou clients.Les offres SaaS (Software-as-a-Service) sont un exemple d'architecture multi-client.

Dans le domaine du cloud computing, ce terme désigne également un hébergement mutualisé, dans lequel les ressources du serveur sont réparties entre différents clients.

L'architecture multi-client s'oppose au modèle de client unique, selon lequel une instance logicielle ou un système informatique fournit ses services à un seul utilisateur final ou groupe d'utilisateurs.

En général, les clients peuvent personnaliser certains aspects des applications multi-clients, par exemple la disposition et l'apparence de l'interface ou les niveaux d'autorisation et de restriction à appliquer aux utilisateurs.

Télécharger le livre numérique « Les stratégies de cloud hybride pour les nuls »

Le principe d'architecture multi-client existe depuis plusieurs dizaines d'années. Dans les années 1960, les universités qui disposaient de mainframes puissants et onéreux ont développé des logiciels de temps partagé pour permettre à plusieurs utilisateurs d'accéder à un même ordinateur en même temps.

Ce concept n'a pas disparu et on le retrouve aujourd'hui dans le cloud computing, par exemple. Un cloud public répartit un ensemble de ressources partagées (mémoire et puissance de traitement) entre plusieurs clients. Les données et les charges de travail de chaque client sont isolées, même si elles sont exécutées sur une même machine physique ou un même groupe de machines.

Appliqué à l'architecture logicielle, ce principe donne naissance au concept moderne de SaaS, où le fournisseur exécute une seule instance de l'application et fournit un accès à chacun de ses clients. Les données de chaque utilisateur restent isolées, même s'il accède au même logiciel que les autres clients.

Dans le cadre d'une plateforme d'orchestration des conteneurs comme Kubernetes, le terme d'architecture multi-client désigne généralement un cluster unique qui sert plusieurs projets. Ce cluster est configuré de sorte que chaque projet s'exécute indépendamment des autres.

Télécharger un guide stratégique pour le développement d'applications cloud-native

Ressources Red Hat

Comme nous l'avons vu plus haut, l'architecture multi-client est une facette importante du cloud computing, car elle permet à une application logicielle unique de servir plusieurs clients. Si les clouds sont considérés comme des PaaS, les architectures multi-clients sont plutôt associées aux applications SaaS.  

Les fournisseurs de cloud mettent à disposition des utilisateurs la plateforme et l'infrastructure informatique sous-jacente nécessaire au cloud computing, et ce, à partir d'un ensemble de ressources qui sont ensuite allouées à plusieurs utilisateurs (ou clients). 

L'architecture cloud indique la manière dont les composants et fonctionnalités nécessaires à la conception d'un cloud sont connectés afin de fournir une plateforme en ligne sur laquelle les applications s'exécuteront.

Pour concevoir cette architecture, il faut ajouter des niveaux de développement supplémentaires pour intégrer la conteneurisation, l'orchestration, les API, le routage, la sécurité, la gestion et des logiciels d'automatisation.

Architecture de cloud public : environnement cloud créé à partir de ressources qui n'appartiennent pas à l'utilisateur final et qui peuvent être redistribuées à d'autres clients.

Architecture de cloud privé : généralement décrite comme un environnement cloud réservé à l'utilisateur final, la plupart du temps à l'intérieur du pare-feu et parfois sur site.

En savoir plus sur l'architecture cloud

Une architecture multi-client présente toute une série d'avantages, qui expliquent la popularité du cloud computing.

L'architecture multi-client permet de réaliser des économies. L'informatique est moins coûteuse à grande échelle. L'architecture multi-client permet de consolider et d'allouer les ressources de manière efficace et en fin de compte de réduire les coûts d'exploitation.Il est souvent plus économique pour un utilisateur individuel de payer pour avoir accès à un service cloud ou à une application SaaS, que d'utiliser du matériel et un logiciel réservés à un client unique.

L'architecture multi-client apporte de la flexibilité. Si vous investissez dans vos propres logiciel et matériel, ils peuvent atteindre leurs limites en cas de forte demande ou rester inactifs quand la demande diminue. À l'inverse, un cloud multi-client est capable d'allouer un ensemble de ressources aux utilisateurs en fonction de leurs besoins et de la façon dont ils évoluent. En tant que client d'un fournisseur de cloud public, vous bénéficiez d'un surcroît de capacité quand vous en avez besoin, que vous ne payez pas le reste du temps.

L'architecture multi-client est gage d'efficacité. Les utilisateurs individuels ont moins besoin de gérer l'infrastructure, les mises à jour et la maintenance. Chaque client peut compter sur un fournisseur de cloud central, plutôt que sur ses propres équipes, pour traiter ces tâches courantes.

Malgré les avantages de l'architecture multi-client, certains cas d'utilisation sont mieux adaptés aux systèmes informatiques à client unique, notamment dans les clouds privés et les datacenters privés,

par exemple, la sécurisation des applications qui traitent des données extrêmement sensibles, pour ne citer qu'elles. Les environnements de cloud public et les solutions SaaS sont conçus pour isoler les données et les charges de travail, et ils ont fait leurs preuves. Néanmoins, lors de tests contrôlés, des chercheurs ont découvert des vulnérabilités qui pourraient théoriquement mener à des attaques entre clients au sein des environnements cloud.

En pratique, ces risques sont relativement minimes. Selon un rapport sur les vulnérabilités du cloud publié en 2020 par la NSA, l'agence nationale de sécurité des États-Unis, les vulnérabilités de l'architecture multi-client sont rares et requièrent un haut degré de sophistication. Depuis la publication de ce rapport, aucune attaque entre clients n'a été signalée chez les grands fournisseurs de cloud public. La NSA estime que ces risques sont plus faibles que ceux liés à un mauvais contrôle des accès et aux erreurs de configuration.

Si vous souhaitez mettre en place une architecture multi-client, vous devez isoler les environnements avec des machines virtuelles ou des conteneurs.

Si vous optez pour des machines virtuelles, un hyperviseur met en route des machines invitées qui utilisent un système d'exploitation, des applications et des dépendances propres. L'hyperviseur veille également à ce que les utilisateurs soient isolés les uns des autres.

Comparés aux machines virtuelles, les conteneurs offrent un modèle plus léger, flexible et facile à mettre à l'échelle. Les différents conteneurs sont exécutés à partir d'un noyau et d'un environnement d'exécution communs, et plusieurs applications sont hébergées sur un même hôte, ce qui simplifie les déploiements multi-clients. Contrairement aux machines virtuelles, qui possèdent chacune leur propre noyau, les applications exécutées dans des conteneurs partagent le même noyau, y compris entre plusieurs clients.

Sous Linux®, les espaces de noms permettent à plusieurs conteneurs d'utiliser la même ressource simultanément sans créer de conflit. La sécurisation d'un conteneur s'apparente à celle de n'importe quel processus exécuté. 

Si vous utilisez Kubernetes pour l'orchestration des conteneurs, il est possible de mettre en place des environnements multi-clients à l'aide d'un même cluster Kubernetes. Vous pouvez alors isoler les clients dans leur propre espace de noms et créer des politiques pour faire respecter cet isolement.

Migrer les applications vers le cloud avec Red Hat Enterprise Linux
Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits Red Hat pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

Cloud public, privé et hybride : quelles sont les différences, et quel cloud choisir ?

Il existe quatre types de cloud computing et trois types de services de cloud computing. Pour choisir le cloud qui répond à vos besoins, vous devez d'abord comprendre ce qui les différencie.

Pourquoi les services financiers tardent-ils à adopter le cloud ?

Découvrez pourquoi le secteur des services financiers tarde à adopter le cloud et pourquoi il devrait accélérer sa transition.

Un cloud privé, qu'est-ce que c'est ?

Un cloud privé est un environnement cloud réservé à l'utilisateur final, la plupart du temps à l'intérieur du pare-feu et en général sur site.

Cloud hybride : ressources recommandées

Articles associés