Clustering ou Load Balancing ?

La différence entre clustering et load balancing est très mince et les deux notions sont souvent liées. Après avoir précisément défini ces deux notions, allons faire un tour d’horizon des inconvénients, mais surtout des avantages du load balancing et du clustering.

Explications load balancing et clustering

Le clustering est la division d’une entité informatique en cluster. Une grappe de serveur travaillant ensemble vers un objectif commun a donc subi du clustering. Un des principales caractéristiques dans le clustering est que tous les clusters communiquent entre eux et ont un objectif commun. Leur charge est souvent équilibrée par des techniques de load balancing.

Le load balancing est l’équilibrage de la charge d’un réseau sur des ressources informatiques. Le load balancing peut répartir des requêtes sur une ferme de serveurs ou des clusters mais ces derniers ne sont pas nécessairement reliées entre eux et n’envoient des informations qu’au load balanceur ou au client.

Ces deux notions ne répondent pas au même besoin et travaillent souvent ensemble dans les réseaux informatiques modernes.

Avantages du clustering

Le clustering est une solution fréquemment utilisée aujourd’hui pour créer une architecture de réseau informatique. Elle permet une gestion des ressources évolutive (il suffit de rajouter un cluster pour augmenter les performances) et les clusters communiquant entre eux, il n’y a pas de point névralgique. En cas de maintenance ou d’incident sur un cluster, les autres peuvent toujours répondre aux requêtes et ainsi permettre une haute disponibilité du service.

Toutefois, le clustering implique une certaine complexité du système  et n’ayant pas de centre pour réunir les données, les défaillances ou même virus peuvent se développer et se transmettre rapidement.

Avantages du load balancing

Le load balancing permet d’améliorer les performances d’un réseau sans forcément augmenter ses capacités. En gérant mieux la charge de requêtes arrivant sur les ressources à disposition, il est possible d’augmenter la satisfaction des clients du système. Le load balancing est donc un moyen économique d’augmenter les performances d’un système informatique. En conséquence, le load balancing augmente la satisfaction des requêtes et la consommation des ressources informatiques (il n’est plus nécessaire d’investir dans des ressources supplémentaires qui ne seront utilisés que 10% du temps). L’avantage du load balancing par rapport à une augmentation pure et dure des ressources informatiques apparaît donc évident.

Cependant le load balancing est assez récent et se développe très vite, pour un novice en informatique, il est difficile d’y prendre part et de comprendre toutes les implications rapidement car les moyens de load balancing restent particulièrement centré sur des grosses entreprises disposant de services informatiques pour gérer leur propre réseau.

Ce tour d’horizon permet de cerner les difficultés rencontrées mais surtout les avantages du load balancing et clustering, deux notions intimement liées. Elles doivent être utilisés par des personnes ayant des connaissances informatiques avancées mais permettent d’utiliser un réseau informatique de manière efficace, évolutive et à moindre coup. Aujourd’hui, ces deux notions se tournent vers le cloud computing, notamment pour résoudre des problèmes de failover. En cas d’une défaillance du système informatique, le load balancer du système peut faire appel à un cluster situé dans le cloud.