Qu’est-ce que l’équilibrage de charge ?

L’équilibrage de charge ou répartition de charge (load balancing) est défini comme la distribution efficace et méthodique de trafic applicatif ou réseau sur plusieurs serveurs dans une batterie de serveurs. Chaque équilibreur de charge (load balancer) est placé entre des appareils clients et des serveurs back-end, recevant puis distribuant les demandes entrantes vers n’importe quel serveur capable de les traiter.

Découvrir d’autres sujets sur l’équilibrage de charge

Qu’est-ce qu’un équilibreur de charge et comment fonctionne-t-il ?

Un équilibreur ou répartiteur de charge peut être :

  • Un appareil physique, une instance virtuelle exécutée sur un matériel spécialisé ou un processus logiciel.
  • Intégré dans des contrôleurs de mise à disposition d’applications (ADC) conçus pour améliorer plus largement les performances et la sécurité d’applications de microservices et Web à trois niveaux, quel que soit l’endroit où elles sont hébergées.
  • Capable d’utiliser de nombreux algorithmes d’équilibrage de charge possibles, s’appuyant notamment sur les méthodes « round robin », temps de réponse des serveurs et « least connection » (moins de connexions), pour distribuer le trafic conformément aux exigences actuelles.
     
Les équilibreurs de charges de travail détectent l’état des ressources back-end et n’envoient pas de trafic aux serveurs qui ne sont pas capables de traiter la demande.

Qu’il soit matériel ou logiciel et quel que soit l’algorithme d'équilibrage de charge utilisé, un équilibreur de charge de travail disperse le trafic vers différents serveurs Web du groupe de ressources pour garantir qu’aucun serveur n’est surchargé et par conséquent peu fiable. Les équilibreurs de charge minimisent efficacement le temps de réponse et optimisent le débit.

En effet, le rôle d’un équilibreur de charge est parfois comparé à celui d’un agent de circulation, car il a pour but d’orienter systématiquement et à tout moment les demandes vers l’emplacement approprié, évitant ainsi des goulots d’étranglement coûteux et des incidents imprévus. Les équilibreurs de charge doivent enfin fournir les performances et la sécurité nécessaires pour soutenir des environnements IT complexes avec les workflows compliqués qui se produisent à l’intérieur.

L’équilibrage de charge est la méthode la plus flexible pour traiter la multitude de demandes générée par des workflows modernes multi-application et multi-appareil. Associé à des plateformes qui permettent un accès fluide aux nombreuses applications, fichiers et stations de travail dans les Digital Workspaces d’aujourd’hui, la répartition de la charge favorise une expérience utilisateur plus homogène et fiable pour les collaborateurs.

Comparaison des équilibreurs de charge matériels et logiciels

Les équilibreurs de charge matériels fonctionnent de la manière suivante :

  • Ce sont en général des appliances haute performance, capables de traiter en toute sécurité plusieurs gigabits de trafic venant de différents types d’applications.
  • Ces appliances peuvent également contenir des fonctionnalités intégrées de virtualisation qui consolident plusieurs instances virtuelles d’équilibreur de charge sur le même matériel.
  • Ceci permet, parmi d’autres avantages, des architectures multi-locataires plus flexibles et une isolation complète des locataires.

Par comparaison, les équilibreurs de charge logiciels :

  • Peuvent remplacer intégralement le matériel d’équilibrage de charge tout en fournissant des fonctionnalités similaires et une flexibilité supérieure.
  • Peuvent fonctionner sur des hyperviseurs courants, dans des conteneurs ou en tant que processus Linux avec des frais minimes sur des serveurs « bare-metal » et sont hautement configurables en fonction des scénarios d’utilisation et des exigences techniques en question.
  • Peuvent économiser de l’espace et réduire les dépenses en matériel.

Les équilibreurs de charge L4, L7 et GSLB expliqués

L’expérience quotidienne des collaborateurs dans un Digital Workspace peut être très variable. Leur productivité peut évoluer en fonction de tout type de paramètres, des mesures de sécurité sur leurs comptes jusqu’à la variation des performances des nombreuses applications qu’ils utilisent. Par exemple, plus de 70 % des collaborateurs des ventes ont régulièrement du mal à se connecter à des données venant de nombreuses applications disparates, tâche encore aggravée par une faible réactivité due à un équilibrage de charge inadapté.

En d’autres termes, les Digital Workspaces sont fortement pilotés par les applications. Alors que le besoin simultané en applications SaaS (Software-as-a-Service) en particulier continue d’augmenter, mettre ces dernières à disposition des utilisateurs avec fiabilité peut devenir un réel défi si aucune répartition de charge digne de ce nom n’est mise en place. Les collaborateurs qui ont déjà du mal à naviguer sur plusieurs systèmes, interfaces et exigences de sécurité supporteront en plus des ralentissements de performances et des pannes.

Pour promouvoir une homogénéité accrue et suivre le rythme de l’évolution permanente des besoins utilisateur, les ressources serveur doivent être immédiatement disponibles et réparties au niveau des couches L4 et/ou L7 du modèle OSI (Open Systems Interconnection) :

  • Les équilibreurs de charge de la couche L4 travaillent au niveau du transport. Cela signifie qu’ils peuvent prendre des décisions de routage en se basant sur les ports TCP ou UDP que les paquets utilisent avec leurs adresses IP sources et de destination. Les équilibreurs de charge L4 effectuent une translation d’adresses réseau, mais n’inspectent pas le contenu réel de chaque paquet.
  • Les équilibreurs de charge de couche L7 agissent au niveau applicatif, le plus élevé dans le modèle OSI. Ils peuvent évaluer une plus grande plage de données que leurs équivalents L4, y compris les en-têtes HTTP et les identifiants de session SSL, lorsqu’ils décident de la façon dont ils vont distribuer les demandes dans le groupe de serveurs.

L’équilibrage de charge demande des calculs plus intenses au niveau L7 que L4, mais il peut également être plus efficace au niveau L7 en raison du contexte supplémentaire disponible pour la compréhension et le traitement des demandes client vers les serveurs.

En plus de l’équilibrage de charge basique L4 et L7, l’équilibrage global de charge (GSLB) peut étendre les fonctionnalités de chaque type sur plusieurs datacenters pour que des volumes importants de trafic puissent être distribués efficacement et qu’il n’y ait pas de détérioration du service pour l’utilisateur.

Comme les applications sont de plus en plus hébergées dans des datacenters cloud situés dans diverses régions, le GSLB permet aux entreprises IT de mettre à disposition des applications avec une fiabilité accrue et une latence moindre, vers n’importe quel appareil ou site. Ceci permet de garantir une expérience plus homogène pour les utilisateurs lorsqu’ils naviguent sur de multiples applications et services dans un Digital Workspace.

Quels sont les algorithmes d’équilibrage de charge les plus courants ?

Un équilibreur de charge, ou l’ADC qui le contient, suivra un algorithme pour déterminer comment les demandes sont distribuées sur le groupe de serveurs. Il existe de nombreuses options qui vont de la plus simple à la plus sophistiquée.

« Round robin »

L’algorithme « round robin » est une technique simple qui permet de s’assurer qu’un serveur virtuel transfère chaque demande client à un serveur différent en se basant sur une liste rotative. Il est facile à mettre en œuvre pour les équilibreurs de charge, mais ne tient pas compte de la charge déjà présente sur un serveur. Il existe un danger qu’un serveur reçoive un grand nombre de demandes intensives pour le processeur et se retrouve en surcharge.

Méthode « least connection »

Alors que la méthode « round robin » ne tient pas compte de la charge actuelle d’un serveur (seulement de sa place dans la rotation), l’approche « least connection » (moins de connexions) procède à cette évaluation et, par conséquent, fournit en général des performances supérieures. Les serveurs virtuels qui suivent la méthode « least connection » cherchent à envoyer des demandes au serveur avec le plus petit nombre de connexions actives.

Méthode « least response time »

Plus sophistiquée que la méthode « least connection », la méthode « least response time » (meilleur temps de réponse) se base sur le temps pris par un serveur pour répondre à une demande de surveillance de l’état. La vitesse de la réponse est un indicateur du niveau de charge du serveur et de l’expérience utilisateur généralement attendue. Certains équilibreurs de charge prennent également en compte le nombre de connexions actives sur chaque serveur.

Méthode « least bandwidth »

Algorithme relativement simple, la méthode « least bandwidth » (moins de bande passante) cherche le serveur qui sert actuellement la plus petite quantité de trafic, mesurée en mégabits par seconde (Mb/s).
Méthode « least packets »

La méthode « least packets » sélectionne le service qui a reçu le moins de paquets sur une période donnée.

Méthodes « hashing »

Les méthodes « hashing » (hachage) prennent des décisions en se basant sur un mélange de plusieurs données venant du paquet entrant. Ceci comprend des informations de connexion ou d’en-tête telles que l’adresse IP source/de destination, le numéro du port, l’URL ou le nom de domaine du paquet entrant.

Méthode « custom load »

La méthode « custom load » permet à l’équilibreur de charge de demander la charge sur des serveurs individuels via SNMP. L’administrateur peut définir la charge du serveur à interroger (utilisation du processeur, mémoire et temps de réponse) puis les combiner pour correspondre aux demandes.

Pourquoi l’équilibrage de charge est-il nécessaire ?

Un ADC avec des fonctionnalités d’équilibrage de charge aide les services IT à garantir la flexibilité et la haute disponibilité de services. Sa fonctionnalité avancée de gestion du trafic peut aider une entreprise à orienter plus efficacement ses demandes vers les ressources pertinentes pour chaque utilisateur. Un ADC propose de nombreuses autres fonctions (par exemple le chiffrement, l’authentification et la protection par pare-feu d’application Web) qui peuvent fournir un point de contrôle unique pour la sécurité, la gestion et la surveillance des nombreuses applications et services présents sur les environnements et garantir la meilleure expérience utilisateur.

En savoir plus sur les équilibreurs de charge :

Prochaine étape