Qu’est-ce que le load balancing ?

Qu’est-ce que le load balancing ?

Le load balancing, ou répartition de charge, est une technologie conçue pour distribuer la charge de travail entre différents serveurs ou applications. Le but : optimiser la performance globale de l’infrastructure, son rendement et sa capacité.

Load Balancer OVHcloud

Le load balancer : définition

Le trafic en ligne s’intensifie de manière exponentielle depuis dix ans. Quant aux internautes, ils deviennent de plus en plus exigeants en matière de rapidité d’accès et de sécurité. Les serveurs web sont donc extrêmement sollicités. Aussi, une stratégie d’optimisation de leur charge de travail a été mise en place : le load balancing. Celui-ci permet à un groupe de serveurs (cluster) de faire face aux pics de trafic, mais aussi de prévoir une solution de secours en cas de panne. C’est à ce moment qu’intervient le load balancer (répartiteur de charge). Il permet d’équilibrer la charge de travail entre les serveurs, pour maintenir leur capacité à un niveau optimal. Lorsque votre site internet est hébergé sur nos serveurs avec un load balancer, il sera ainsi moins sujet à des ralentissements ou des interruptions de service.

Un répartiteur de charge doit être installé au sein d’une infrastructure dédiée, physique ou virtuelle. Dans le cas d’une plateforme physique, un serveur fera office de load balancer… ce qui nécessitera un investissement conséquent. Un logiciel de load balancing, lui, peut être installé sur une machine virtuelle (virtual machine ou VM). Il prendra alors la forme d’un contrôleur de livraison d'applications (application delivery controller ou ADC). Dans sa version virtuelle, le load balancer sera plus flexible. Il permettra à son bénéficiaire de faire évoluer la charge automatiquement, en fonction des prévisions de trafic.

Dans les deux cas, il identifiera en temps réel quel serveur sera le plus apte à répondre à une demande, afin que le cluster maintienne un niveau de performance stable. En cas de panne d’une machine, ce load balancer aura aussi pour mission de basculer la charge de travail sur un autre serveur.

Lorsqu’un utilisateur demande à charger la page d’un site web, le load balancer intervient entre lui et le serveur. Il analyse alors quelle machine serait la plus apte à répondre à cette demande, puis la lui transmet. Il peut également ajouter ou retirer des serveurs en fonction de la charge, selon les besoins.

Comment un load balancer fonctionne-t-il ?

La répartition de charge est effectuée par un algorithme, s’appuyant sur le DNS (Domain Name System). L’utilisateur accède aux sites internet via une URL, liée à une adresse IP. Cette dernière contacte le répartiteur de charge, qui transmet la demande au serveur. La répartition dépendra alors du type d’algorithme utilisé. Les quatre plus connus sont : Round Robin, Weighted Round Robin, Least Connections et Weighted Least Connections.

 

Round Robin

Cette méthode crée une file d’attente pour les demandes entrantes. Ces dernières sont ensuite gérées par le répartiteur de charge, qui les distribue aux serveurs du cluster. Les requêtes sont assignées de manière séquentielle, selon la disponibilité des machines. Round Robin ne tient pas compte de l’urgence de la demande, ni de la charge qu’elle va représenter pour le serveur concerné. Il est donc adapté aux environnements où les serveurs disposent de ressources identiques. Mais dans une infrastructure où celles-ci diffèrent, il pourrait assigner des charges non adaptées à des machines moins puissantes… ce qui pourrait entraîner une surcharge.

Il s’agit de la méthode la plus classique. Elle sert de modèle aux autres algorithmes.

 

Weighted Round Robin

Contrairement au Round Robin « classique », cette méthode fonctionne en distribution pondérée. Une valeur est attribuée à l’avance à chaque serveur, selon ses capacités et sa puissance. Par exemple, le plus puissant aura une valeur de 10 et le moins puissant une valeur de 1. Le load balancer attribuera alors davantage de charge à la machine la plus robuste. Cette méthode convient donc mieux à un environnement dont les ressources entre les serveurs diffèrent : la charge est optimisée en fonction de leurs capacités.

 

Least Connections

Les deux méthodes précédentes ne tiennent pas compte du nombre de connexions que les serveurs du cluster doivent gérer, lors de la distribution des tâches par le load balancer. Donc plusieurs connexions peuvent parfois s’accumuler sur un serveur et entraîner sa surcharge. Least Connections remédie à cela. Il tient compte en effet des demandes déjà existantes sur le serveur web durant la distribution. La machine avec le plus petit nombre de requêtes reçoit la prochaine sollicitation du load balancer. En revanche, cet algorithme ne tient pas compte des capacités techniques des serveurs. Il est par conséquent plus adapté aux environnements dont les ressources serveur sont identiques.

 

Weighted Least Connections

Cet algorithme complète celui de Least Connections. Au sein d’une infrastructure où les ressources des serveurs sont hétérogènes, il tient compte du volume de demandes pour chaque machine, ainsi que de leur pondération définie par l’administrateur. Comme pour Weighted Round Robin, le serveur le plus puissant a une pondération plus importante. Ceci permet de maintenir une répartition optimale des requêtes dans un cluster. En effet, chaque nouvelle demande est assignée au serveur dont le rapport connexions actives-pondération est le plus faible.

Avantages et importance du load balancer

Le principal avantage d’un load balancer est de réduire le temps de réponse d’un site suite aux requêtes des utilisateurs. En effet, optimiser la charge de travail des serveurs limite les risques de pannes liés à une surcharge. Si une machine devient indisponible, les utilisateurs seront redirigés vers un autre serveur et auront toujours accès aux pages. Vous leur assurez donc une expérience optimale, grâce à une qualité de service constante : hébergement flexible, haute disponibilité, évolutivité, etc. De plus, OVHcloud ne limite ni votre bande passante ni votre trafic mensuel.

Le load balancer reste particulièrement adapté au e-commerce, où des fluctuations de trafic importantes peuvent entraîner des surcharges. Il vous permet de maintenir des fonctionnalités homogènes sur vos sites, d’entretenir votre image en ligne, ainsi que de rassurer vos clients. Concrètement, il n’y aura pas de paniers perdus ou d’opérations de paiement interrompues.