cluster défintion grappe serveurs informatique

Cluster définition : qu’est-ce qu’une grappe de serveurs en informatique ?

Un cluster informatique, cluster de serveurs ou grappe de serveurs, est un groupe de serveurs indépendants fonctionnant comme un seul et même système. Découvrez la définition, le fonctionnement, les avantages, les cas d'usage et la traduction en français du cluster. Nous aborderons aussi la différence entre le cluster computing et le grid computing. Enfin, nous évoquerons la notion de clusters de stockage pour les ordinateurs personnels.

Au sein d'un système informatique, un cluster de serveurs est un groupe de serveurs et d'autres ressources indépendantes fonctionnant comme un seul système. Les serveurs sont généralement situés à proximité les uns des autres, et sont interconnectés par un réseau dédié. Ainsi, les clusters permettent de profiter d'une ressource de traitement de données centralisée. Un client dialogue avec le groupe de serveurs comme s'il s'agissait d'une seule machine.

Cluster de serveurs : comment ça fonctionne ?

En règle générale, une grappe de serveurs est constituée de noeuds de calcul, de noeuds de stockage de noeuds frontaux. On compte parfois des noeuds additionnels dédiés au monitoring.

Les noeuds sont reliés entre eux par plusieurs réseaux. Les tâches d'administration comme le chargement des systèmes sur les noeuds, le suivi et la mesure de charge sont généralement pris en charge par le réseau dont le débit est le plus lent.

Le second réseau, dont la bande passante est largement supérieure, se joint au premier réseau. Son débit peut atteindre 40 Gigabits par seconde. Il repose sur des technologies comme Quadrics, Myrinet et Infiniband.

Les programmes exécutés sur les clusters de serveurs reposent sur une API standard : Message Passing Interface. Cette API assure la communication entre les divers processus répartis sur les noeuds par le biais de messages.

En cas de défaillance de l'un des serveurs, le logiciel de clustering isole le système en question. Lorsque les ressources sont partagées entre plusieurs tâches, si un serveur est surchargé, les tâches sont partagées avec un autre serveur.

Au sein d'une grappe de serveurs, chaque serveur possède et gère ses propres appareils locaux et repose sur une copie du système d'exploitation, des applications et des services qu'il gère. Les appareils communs de la grappe, comme les disques et le média de connexion permettant d'accéder à ces disques, sont détenus et gérés par un seul serveur à la fois.

cluster fonctionnement

Cluster de serveurs : quels sont les cas d'usage ?

Les groupes de serveurs sont conçus pour les applications dont les données sont fréquemment mises à jour. Ils sont généralement utilisés pour les serveurs de fichiers, les serveurs d'impression, les serveurs de bases de données, et les serveurs de messagerie.

Les clusters sont de plus en plus utilisés au sein de la communauté scientifique, pour répondre à besoins croissants en matière de calculs à haute performance (HPC). On les utilise aussi beaucoup dans le domaine de l'imagerie numérique, pour les images de synthèse.

Les grappes de serveurs sont aussi utilisées dans le domaine de l'informatique de gestion afin de minimiser l'impact d'une éventuelle panne de serveur sur la disponibilité d'une application. Pour ce faire, les entreprises déploient par exemple des réseaux de stockage NAS afin de mettre en oeuvre des disques partagés.

Les réseaux pair-à-pair (P2P) sont de plus en plus utilisés comme alternative aux grappes de serveurs. Leur avantage est un coût nettement inférieur.

Cluster de serveurs : quels sont les avantages ?

Les avantages de la grappe de serveurs sont qu'elle offre une disponibilité élevée, et parfois une répartition de la charge et des fonctionnalités de calcul parallèle. Les grappes permettent aussi de faciliter la montée en charge, et la gestion des ressources (processeurs, mémoire vive, disques durs, bande passante réseau…).

Quand une erreur survient sur l'un des ordinateurs de la grappe, les ressources sont redirigées et le workload est redistribué vers un autre ordinateur du cluster. Ainsi, les grappes garantissent un accès constant aux ressources basées serveur importantes.

De manière générale, une grappe de serveurs permet de dépasser les limitations d'un ordinateur et offre une gestion globale. Les clusters de serveurs présentent aussi l'avantage d'être peu coûteux. En utilisant ces systèmes, plus besoin d'investir dans un serveur multiprocesseur. Il suffit d'acheter des petits systèmes et de les connecter les uns aux autres en fonction des besoins. Les clusters offrent donc une plus grande flexibilité.

cluster computing avantages

Quels sont les différents types d'architectures cluster ?

On dénombre plusieurs types d'architectures de grappes : à une seule couche, à deux couches, et multicouche. Ces architectures reposent sur les diverses possibilités de regroupement des différentes couches : couche application d'entreprise, couche web, couche de présentation et couche objet. Le choix de l'architecture pour une application d'entreprise dépend du modèle d'utilisation et du type de l'application.

Le cluster à une seule couche est considéré comme celui de base, l'architecture la plus simple. Chaque ordinateur effectue toutes les couches en simultané, et l'équilibreur de charge distribue les requêtes entre les différents serveurs de la grappe. Cette architecture est donc facile à administrer et facile à faire monter en puissance. Cependant, les serveurs peuvent posséder une charge inégale conduisant à une dégradation des performances. Ce type d'architecture est donc rarement utilisée pour les applications d'entreprise.

Dans le cas d'une grappe à deux couches, les trois couches de base sont regroupées en deux couches logiques. Les couches web et de présentation sont exécutées sur des ordinateurs distincts réunis au sein d'une grappe du serveur web. Il est donc possible d'équilibrer la charge sur la couche objet grâce à des modules sensibles à la réplication.

Le cluster multicouche est l'architecture la plus complexe, mais offre la disponibilité la plus élevée. Chaque couche s'exécute sur un ordinateur distinct, et forme un cluster avec ses propres ordinateurs. Ainsi, cette architecture offre trois niveaux d'équilibrage de charge. Une architecture idéale pour les applications dans laquelle l'utilisation de chaque couche et différente et regroupe un grand nombre de clients.

Traduction cluster : comment appelle-t-on un cluster en français ?

cluster traduction grappe serveurs

La traduction de cluster en français recommandée par la Délégation générale à la langue française et aux langues de France et la Commission générale de terminologie et de néologie est « grappe de serveurs ». Cette image est parlante, car un cluster fonctionne effectivement comme une grappe.

Une autre traduction souvent employée est « ferme de calcul ». Les « nodes » quant à eux sont appelés « noeuds ».

Cluster Computing vs Grid Computing : quelles sont les différences ?

Le Grid Computing, ou grille informatique en français, est une infrastructure virtuelle constituée d'un ensemble de ressources informatiques. Ces ressources sont potentiellement partagées, distribuées, hétérogènes, délocalisées et autonomes.

On qualifie cette infrastructure de virtuelle, car les relations entre les entités qui la composent n'existent que sur le plan logique et non sur le plan matériel. La grille se distingue des autres infrastructures par son aptitude à répondre adéquatement à des exigences comme l'accessibilité, la disponibilité et la fiabilité grâce à la puissance de calcul ou de stockage qu'elle peut fournir. La grille garantit ainsi des qualités de service non triviales.

On dénombre plusieurs différences entre le grid computing et le cluster computing. Lorsque deux ordinateurs ou plus sont utilisés ensemble pour résoudre un problème, on parle d'un cluster. Le cluster computing est le fait d'utiliser une grappe de serveurs.

grid computing vs cluster computing

Le Grid Computing consiste également à connecter plusieurs ordinateurs pour résoudre de grands problèmes, d'où la fréquente confusion entre le grid computing et le cluster computing. La grande différence est que la grappe est homogène, tandis que les grilles sont hétérogènes.

Les serveurs et ordinateurs qui constituent une grille peuvent exécuter différents OS et embarquer différents composants, tandis que les grappes de serveurs embarquent tous les mêmes composants et le même système d'exploitation. Une grille peut répartir sa puissance de calcul, tandis que les machines d'un cluster fonctionnent comme une seule unité.

Les grilles sont généralement distribuées par le biais d'un réseau LAN, métropolitain ou WAN. Les ordinateurs et serveurs d'une grappe sont quant à eux généralement rassemblés au sein d'un même endroit.

Une autre différence est la façon dont les ressources sont prises en charge. Dans le cas d'une grappe, tous les noeuds se comportent comme un seul système et les ressources sont gérés par un manager centralisé. Dans le cas des grilles, chaque noeud est autonome. Il embarque son propre gestionnaire de ressources et se comporte comme une entité indépendante.

Qu'est-ce qu'un cluster de stockage pour PC ?

cluster stockage pc disque dur

Dans le domaine des technologies de stockage pour ordinateur personnel (PC), un cluster est une unité logique de stockage de fichier sur un disque dur. Chaque fichier stocké sur le disque dur consomme un ou plusieurs clusters de stockage.

Les clusters d'un même fichier peuvent être répartis entre différents emplacements sur le disque dur. Les traces des différents clusters associés à un fichier sont gardées par le FAT (file allocation table) du disque dur.

Lorsque l'utilisateur lit un fichier, celui-ci obtient l'intégralité du fichier sans même savoir sur quels clusters il est stocké. Les clusters sont entièrement gérés par le système d'exploitation de l'ordinateur.

Le cluster n'est pas une unité physique. Il n'est pas intégré directement au disque dur. Il s'agit d'une unité logicielle. C'est la raison pour laquelle la taille d'un cluster peut varier. Le nombre maximum de clusters sur un disque dur dépend donc de la taille du FAT.

Au commencement, sous DOS 4.0, les FAT ne faisaient que 16 bits. Ceci permettait un maximum de 65536 clusters. Depuis Windows 95 OSR2, les FAT de 32 bits permettent de stocker jusqu'à deux terabytes de données sur les clusters. Il est bien entendu nécessaire que le disque dur ait une capacité suffisante.

Avant le support des FAT sous Windows 95 OSR2, une seule partition pouvait prendre en charge un disque dur de 512 megabytes au maximum. Les disques durs dotés d'une plus grande capacité pouvaient être divisés en quatre partitions maximum. Chaque partition pouvait prendre en charge 512 megabytes de clusters.

Le problème est que même le plus petit fichier consomme l'intégralité d'un cluster. De fait, si un cluster offre une taille de 2048 bytes, même un fichier de 10 bytes en consommera l'intégralité. La plupart des systèmes d'exploitation proposent une taille de cluster par défaut de 4096 ou 8192 bytes.

Les clusters sur le

Jadis, les clusters d'ordinateurs étaient composés d'un ensemble de machines physiques qui communiquaient par le biais d'un réseau local. Avant de créer un cluster, il était nécessaire d'élaborer un plan pour s'assurer qu'il réponde aux besoins actuels et futurs. Pour cause, le scaling d'un cluster physique pouvait prendre plusieurs semaines ou même plusieurs mois.

De plus, les clusters sur site ou les clusters autogérés n'étaient pas suffisamment résilients. En cas de catastrophe naturelle ou d'accident, les données pouvaient être définitivement perdues. Il était donc nécessaire de mettre en place d'autres mesures de sécurité pour assurer la redondance. Par exemple, il pouvait être impératif de faire appel à un second fournisseur d'énergie, ou de recourir à des noeuds entre deux emplacements physiques pour éviter qu'une panne locale ou liée à un fournisseur mette en péril le cluster.

Désormais, grâce au Cloud Computing, ces problèmes font partie du passé. Un cluster sur le Cloud est un groupe de noeuds hébergés sur des machines virtuelles et connectés au sein d'un Cloud privé virtuel. L'usage de l'informatique en nuage permet de contourner les difficultés liées à la mise ne place d'un cluster.

Les machines virtuelles peuvent être approvisionnées sur demande, ce qui permet le scaling en seulement quelques minutes. Une infrastructure peut être rapidement mise à jour, offrant la flexibilité requise pour permettre au cluster de s'adapter à l'évolution des besoin. En outre, le déploiement de noeuds entre plusieurs zone de disponibilité et régions peut réduire la latence et accroître la résilience du cluster.

En bref, le clustering sur le Cloud permet de réduire le temps et les efforts requis pour mettre en place un cluster et offre aussi de nombreux services permettant d'améliorer la disponibilité, la sécurité et la maintenabilité du cluster.

Clusters et conteneurs

Les conteneurs sont très en vogue dans le domaine de l'informatique. La conteneurisation facilite fortement le déploiement d'applications. Les différences entre les environnements locaux et distants sont minimes, les dépendances de l'application sont empaquetées dans le conteneur, et l'isolation entre l'application et son hôte améliore la sécurité.

L'utilisation des conteneurs facilite aussi l'exploitation d'une architecture microservice. Dans ce type d'architecture, l'application est décomposée en petits services.

Par ailleurs, la conteneurisation présente aussi des avantages pour le clustering. Prenons l'exemple d'une entreprise développant une application web relativement basique, dont le front-end et le back-end sont conçus sous forme de microservices tournant indépendamment sous forme de conteneurs et communiquant via HTTPS.

Au moment de déployer cette application, plusieurs options s'offrent à l'entreprise. La première solution est d'approvisionner une machine virtuelle sur le Cloud pour exécuter les conteneurs. Cette option fonctionne, mais les performances sont limitées par l'utilisation de ressources pour la machine virtuelle et le scaling de l'application risque d'être difficile. En outre, si la machine virtuelle ou le hardware l'hébergeant tombent en panne, l'application sera indisponible jusqu'à ce qu'une nouvelle machine soit approvisionnée ou que le trafic soit routé vers une serveur de basculement.

Un cluster permet de remédier à ces problèmes. Le déploiement d'applications conteneurisées sur les noeuds d'un cluster permet d'améliorer la disponibilité, l'élasticité et les performances d'une application web. En exécutant plusieurs conteneurs par noeud, l'utilisation de ressources est optimisée. S'assurer qu'une instance de chaque conteneur s'exécute sur plus d'un noeud à la fois évite un point de défaillance unique pour l'application.

Néanmoins, il peut être difficile de gérer des conteneurs dans un cluster. Cette difficulté augmente proportionnellement au nombre de noeuds. Il existe heureusement des systèmes d'orchestration de conteneurs comme Kubernetes.

https://www.youtube.com/watch?v=MD3B8BUi-UA&t=139s

Qu'est-ce qu'un cluster Kubernetes ?

Le système open-source Kubernetes permet d'automatiser le déploiement, le scaling et la gestion d'applications conteneurisées. Un cluster Kubernetes est donc un groupe de noeuds exécutant des applications conteneurisées, déployés et gérés par Kubernetes.

Un ensemble de noeuds forme le  » plan de contrôle « , similaire au  » noeud leader  » sur un cluster générique. Un second ensemble de noeuds, appelés  » noeuds ouvriers « , exécute une ou plusieurs applications.

Le puissant outil qu'est Kubernetes permet de simplifier le déploiement d'application sur un cluster, et de créer des  » pods  »  (groupe de conteneurs) additionnels à mesure que le trafic augmente. Les pods peuvent d'ailleurs se régénérer eux-mêmes en cas de panne.

Par ailleurs, Kubernetes réagit aux changements de networking de façon dynamique, équilibre les charges, applique les règles de sécurité et bien plus encore. Cette plateforme est conçue pour être résiliente, extensible et performante. Elle exploite les avantages d'une architecture en cluster de façon native.

Depuis son lancement en 2014, cet outil connaît une croissance fulgurante en tant que projet phare de la Cloud Native Computing Foundation. Les entreprises et individus peuvent utiliser ce système open-source librement, et beaucoup développent leurs propres outils open source pour l'accompagner. Les clusters Kubernetes peuvent être déployés sur site ou sur le Cloud, et une large variété de runtimes est prise en charge grâce à la Container Runtime Interface.

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Cliquez pour commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *