On parle d'architecture mutualisée lorsque plusieurs clients cloud accèdent aux mêmes ressources informatiques, par exemple lorsque plusieurs entreprises différentes stockent des données sur le même serveur physique.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce que le cloud ?
Qu’est-ce que le cloud hybride ?
Qu'est-ce que le stockage dans le cloud ?
Qu’est-ce que la migration vers le cloud ?
Qu’est-ce qu’un cloud public ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Dans l'informatique cloud, l'architecture multitenant signifie que plusieurs clients d'un fournisseur de cloud utilisent les mêmes ressources informatiques. Malgré le fait qu'ils partagent les ressources, les clients du cloud ne sont pas conscients les uns des autres, et leurs données sont totalement séparées. L'architecture multitenant est une composante cruciale de l'informatique cloud ; sans elle, les services cloud seraient considérablement moins pratiques. L'architecture multitenant est une fonctionnalité présente dans de nombreux déploiements de cloud public, notamment les services IaaS, PaaS, SaaS, les conteneurs et l'informatique serverless.
Pour comprendre l'architecture multitenant, prenons l'exemple du système bancaire. Plusieurs personnes peuvent déposer leur argent dans une même banque ; leurs capitaux sont complètement isolés, même s'ils sont conservés dans le même établissement. Les clients de la banque n'interagissent pas entre eux ; ils n'ont pas accès à l'argent des autres clients, et ne se connaissent même pas du tout. De même, dans un cloud public, les clients du fournisseur de cloud utilisent la même infrastructure (les mêmes serveurs, généralement), qui assure que leurs données et la logique de leurs activités opérationnelles respectives sont isolées et sécurisées.
La définition classique de la mutualisation était celle d'une seule instance logicielle* utilisée par plusieurs utilisateurs. Cependant, dans le domaine du cloud computing moderne, le terme a pris un sens plus large, puisqu'il désigne une infrastructure cloud partagée au lieu d'une simple instance logicielle partagée.
*Une instance logicielle est une copie d'un programme en cours d'exécution chargée dans une mémoire vive (RAM).
Dans le cloud computing, les applications et les données sont hébergées sur des serveurs distants dans différents datacenters et sont accessibles via Internet. Les données et les applications sont centralisées dans le cloud au lieu d'être hébergées sur des appareils de clients individuels (comme des ordinateurs portables ou des smartphones) ou dans des serveurs situés dans les locaux d'une entreprise.
De nombreuses applications modernes sont basées sur le cloud, c'est pourquoi, par exemple, un utilisateur peut accéder à son compte Facebook et charger du contenu à partir de plusieurs appareils.
De nombreux avantages du cloud computing ne sont possibles qu'en raison de la mutualisation. Voici deux exemples particulièrement représentatifs :
Meilleure utilisation des ressources : réserver une machine à un utilisateur unique n'est pas une approche efficace, car ce tenant (c'est-à-dire un utilisateur locataire) est peu susceptible d'utiliser toute la puissance de calcul de la machine. Partager les machines entre plusieurs tenants permet de maximiser l'utilisation des ressources disponibles.
Réduction des coûts : grâce au partage des ressources entre plusieurs clients, un fournisseur de cloud peut proposer ses services à de nombreux clients à un coût bien moindre que si chaque client avait besoin de sa propre infrastructure dédiée.
Risques de sécurité et problèmes de conformité éventuels : certaines entreprises peuvent ne pas être en mesure de stocker leurs données sur une infrastructure partagée, aussi sécurisée soit-elle, en raison d'exigences réglementaires. Par ailleurs, les problèmes de sécurité ou les incidents de corruption de données affectant un tenant sont susceptibles de s'étendre à d'autres tenants présents sur la même machine ; toutefois, cette situation est extrêmement rare et ne devrait normalement pas se produire si le fournisseur de cloud a configuré correctement son infrastructure. Ces risques liés à la sécurité sont quelque peu atténués par la capacité des fournisseurs de cloud d'investir davantage dans la sécurité que les entreprises.
L'effet « voisin bruyant » : si un utilisateur utilise une quantité excessive de puissance de calcul, cela peut ralentir les performances pour les autres utilisateurs. Là encore, cela ne doit pas se produire si le fournisseur de cloud a correctement configuré son infrastructure.
Cloudflare aide les entreprises, quel que soit le type de cloud choisi, à sécuriser leurs données et à accélérer leurs activités sur le web. Les produits Cloudflare sont érigés devant tous les types d'infrastructures et permettent de rendre les propriétés web plus sûres, plus fiables et plus rapides. Pour en savoir plus sur la façon dont Cloudflare interagit avec les opérations de migration vers le cloud, voir Comment Cloudflare peut fonctionner avec n'importe quelle infrastructure cloud.
Nous allons maintenant aborder plus en détail les principes techniques qui rendent possible la mutualisation dans différents types de cloud computing.
Imaginez un moteur de voiture spécial qui pourrait être partagé facilement entre plusieurs voitures et propriétaires de voitures. Chaque propriétaire de voiture a besoin que le moteur se comporte un peu différemment : certains ont besoin d'un moteur 8 cylindres puissant, tandis que d'autres ont besoin d'un moteur 4 cylindres plus économique en carburant. Imaginez maintenant que ce moteur spécial soit capable de se transformer à chaque démarrage afin de mieux répondre aux besoins du propriétaire de la voiture.
C'est ce principe qu'appliquent de nombreux fournisseurs de services de cloud publics pour proposer la mutualisation. La plupart des fournisseurs de services de cloud considèrent la mutualisation comme une instance logicielle partagée. Ils conservent les métadonnées* de chaque utilisateur et les utilisent pour modifier l'instance logicielle au moment de l'exécution afin de l'adapter aux besoins de chacun. Les utilisateurs sont isolés les uns des autres grâce à des autorisations. Même s'ils partagent tous la même instance logicielle, ils utilisent chacun le logiciel de manière différente.
*Les métadonnées sont des informations relatives à un fichier, un peu à l'image de la description figurant au dos d'un livre.
Les conteneurs sont des ensembles de logiciels autonomes qui comprennent une application, des bibliothèques système, des paramètres système et tout ce dont l'application a besoin pour fonctionner. Les conteneurs permettent de s'assurer qu'une application fonctionne de la même manière quel que soit l'endroit où elle est hébergée.
Les conteneurs sont séparés les uns des autres dans différents espaces utilisateurs, et chaque conteneur fonctionne comme s'il était le seul système sur cette machine hôte. Étant donné que les conteneurs sont autonomes, plusieurs conteneurs créés par différents clients du cloud peuvent tourner sur une seule machine hôte.
L'informatique sans serveur est un système qui consiste à diviser les applications en petits éléments appelés fonctions, et chaque fonction n'est exécutée qu'à la demande, indépendamment des autres fonctions. (Ce modèle de cloud computing est également connu sous le nom de Fonction en tant que service, ou FaaS.)
Comme leur nom l'indique, les fonctions sans serveur ne tournent pas sur des serveurs dédiés, mais plutôt sur toute machine disponible dans l'infrastructure du fournisseur. Étant donné que les entreprises ne disposent pas de leurs propres serveurs physiques individuels, les fournisseurs exécutent souvent le code de plusieurs de leurs clients sur un seul serveur en permanence, ce qui constitue un autre exemple de mutualisation.
Certaines plateformes sans serveur utilisent Node.js pour exécuter le code sans serveur. La plateforme sans serveur de Cloudflare, Cloudflare Workers, utilise Chrome V8, dans lequel chaque fonction évolue dans sa propre « sandbox », (littéralement bac à sable) c'est-à-dire dans un environnement distinct. Les fonctions sans serveur sont ainsi totalement isolées les unes des autres, même si elles sont exécutées dans la même infrastructure.
Le cloud privé recourt à une architecture mutualisée à peu près de la même manière que le cloud public. La différence tient au fait que les autres utilisateurs ne proviennent pas d'entreprises externes. Dans le cloud public, l'entreprise A partage l'infrastructure avec l'entreprise B. Dans le cloud privé, différentes équipes de l'entreprise A se partagent l'infrastructure.