Comparatif des logiciels de load balancing

Commencer la répartition de charge se fait souvent uniquement avec une solution software qui proposera de faire du load balancing à moindre de coup. De plus, les logiciels sont en général simples à installer et permettre donc rapidement d’arriver à un résultat.

Pour ce comparatif, gardons en tête les deux principaux objectifs du load balancing : répartir la charge pour gagner en temps de réponse des requêtes et en optimisation des ressources, et haute disponibilité pour gagner en souplesse en cas de défaillance d’un des serveurs, de maintenance ou d’évolution du système.

Nous avons décidé de prendre 5 logiciels distincts pour réaliser ce comparatif : Nginx, HAProxy, IIS, Varnish et l’inévitable Apache. Pour chacun d’entre eux, nous essayer de souligner les avantages et inconvénients pour que vous identifiez rapidement lequel d’entre eux correspond à vos besoins.

Nginx réalise le load balancing en proxy inverse et s’est démarqué par ses grandes performances (meilleures que celle d’Apache) à partir de peu de ressources. Nginx est très flexible puisqu’il prend en charge de nombreux protocoles comme HTTP, HTTPS, IMAP, SMTP,… Ce qui n’est pas le cas de toutes les solutions proposées. Pour autant, Nginx n’est pas le plus facile des softwares de load balancing à prendre en main. La difficulté de création des modules sous Nginx load balancing a notamment été de nombreuses fois soulignée.

HAProxy est la solution d’équilibrage de charge la plus discrète et la plus légère, ce logiciel convient bien pour les petites applications qui utilisent de préférence l’algorithme de répartition en fonction du nombre de connexion.

IIS est un logiciel de répartition de charge développé par Microsoft qui est en perte de vitesse depuis quelques années et qui s’est fait dépassé par Nginx en terme de part de marché des serveurs web. Sa spécificité est qu’il ne fonctionne qu’avec Windows tandis que les autres fonctionnent sur de nombreux systèmes d’exploitation comme Unix et Linux.

Varnish est pratique et se distingue parce qu’il est sous forme d’un plugin. Conçu spécifiquement pour fonctionner en tant que proxy inverse (au contraire de Nginx), Varnish est particulièrement adapté pour les sites à données massives où les utilisateurs ont tendance à revenir. En effet, il évite que les utilisateurs qui aient déjà visités la page n’aient à la re-télécharger et donc à utiliser les ressources des serveurs du site. Néanmoins, Varnish ne gère que le protocole http, ce qui peut fortement bloquer l’utilisation pour certaines applications.

Apache est la solution de serveur web la plus répandue au monde. En 2013, plus de la moitié (54,2%) des sites web l’utilisaient. Evidemment, il y a des raisons. Déjà, Apache est un logiciel OpenSource, il est donc gratuit et se développe dans le sens du client et non dans le sens du profit de la compagnie qui le commercialise. D’autre part, il est écrit en C et donc facilement personnalisable par un informaticien. Au final, Apache est comme Word mais dans le monde du load balancing : Très personnalisable mais assez peu efficace en terme de performance et de rapidité par rapport à ses concurrents comme Nginx.

Vous avez aimé cet article ? Ou vous avez un commentaire à ajouter ? N'hésitez pas !

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