Si vous visez un large public ou si vous vous attendez à un trafic élevé sur votre site web/application web au niveau mondial, vous devez utiliser un équilibreur de charge (load balancer). L’équilibreur de charge peut vous aider de plusieurs façons.
- Haute disponibilité
- Mise à l’échelle de l’application
- Pas de temps d’arrêt ou un temps d’arrêt minimum
- Sécurité à la volée
- Meilleure expérience géographique de l’utilisateur
- Déchargement SSL
- Géo-routage
Le matériel d’équilibrage de charge traditionnel coûte environ 5 000 dollars, de sorte que la plupart des projets de taille moyenne, de démarrage ou à petit budget ne pensent pas à s’en équiper.
Mais cen’est plus le cas, vous pouvez utiliser un équilibreur de charge en nuage pour aussi peu que 20 $ par mois, avec toutes les fonctionnalités que vous obtenez dans un équilibreur de charge traditionnel.
Si vous concevez une application à haute disponibilité pour de meilleures performances et une meilleure sécurité, alors les LB en nuage suivants vous aideront. Chacun d’entre eux présente des avantages ou des fonctionnalités supplémentaires par rapport aux autres, alors choisissez ce qui vous convient.
Les solutions suivantes sont des solutions hébergées, ce qui signifie que vous n’avez pas besoin d’installer de logiciel. Il s’agit d’un produit SaaS. Si vous recherchez une solution open-source, consultez cet article.
AWS ELB
L’Elastic Load Balancer (ELB) d’Amazon Web Services (AWS) est sans aucun doute l’une des meilleures solutions d’équilibrage de charge disponibles dans le cloud.
AWS propose trois types d’équilibreurs de charge.
- Application – préféré pour la couche application (HTTP/HTTPS)
- Classique – préféré pour la couche transport (TCP)
- Network – orienté vers la performance pour le trafic TCP, UDP et TLS
Si vous créez des applications basées sur le web et que vous utilisez le protocole HTTP ou HTTPS, l’équilibreur de charge d’application est le meilleur choix.
ELB distribue les requêtes entrantes aux instances EC2 configurées en backend en fonction de l’algorithme de routage.
Voici quelques-unes des caractéristiques de l’Application Load Balancer d’AWS.
- Il prend en charge HTTP/2, IPv6, WebSockets
- Vous pouvez décharger SSL/TLS
- Intégration AWS WAF prise en charge
- Vous pouvez activer la session collante (cookies)
- Transférer la demande au backend en fonction de l’URI/chemin d’accès ou de l’hôte du contexte
- Ajouter un contrôle de santé
Elastic LB fournit par défaut les mesures de surveillance suivantes.
- Latence moyenne
- Résumé des requêtes
- Nombre de connexions nouvelles/actives
- Octets traités
- Et bien plus encore..
Le prix dépend du trafic, et vous pouvez utiliser leur calculateur pour faire une estimation.
Équilibrage de charge GCP
GCP fournit une IP globale unique pour tous vos serveurs backend afin d’améliorer la haute disponibilité et l’évolutivité de l’environnement applicatif.
Google propose trois types de solutions d’équilibrage de charge.
- HTTP(S) – couche 7, adaptée aux applications web
- TCP – couche 4, adaptée à l’équilibrage basé sur le protocole TCP/SSL
- UDP – couche 4, utile pour l’équilibrage basé sur le protocole UDP
Google Cloud est construit sur la même infrastructure que Gmail et YouTube, il n’est donc pas question de douter des performances. LB est capable de prendre en charge plus d’un million de requêtes par seconde, et vous pouvez dimensionner automatiquement vos applications en fonction de la demande, sans aucune intervention manuelle.
La mise à l’échelle automatique vous permet d’être prêt à faire face à un pic de trafic sans ralentir les performances du site web.
Quelques-unes des caractéristiques de Google Cloud HTTP (S) LB qui méritent d’être mentionnées :
- Affinité
- Intégration de Google CDN en un clic
- Terminaison SSL
- Contrôles de santé
- Vous pouvez créer un équilibrage basé sur le contenu.
- Règles de transfert global
- Routage géographique
- Intégration de Google CDN
- Prise en charge IPv6
- Websocket
La configuration complète de LB peut se faire soit par une console facile à utiliser, soit par une ligne de commande.
Équilibreurs de nœuds
Vous hébergez votre site web avec Linode ?
LesNodeBalancers de Linode offrent toutes les fonctionnalités essentielles de LB pour seulement 10 $ par mois. La configuration est assez simple et comprend certaines des fonctionnalités de base suivantes.
- Il prend en charge IPv4, IPv6
- Il étrangle la connexion en cas de trafic suspect afin d’empêcher l’utilisation abusive des ressources
- Peut avoir un équilibrage multi-port
- Interrompre la poignée de main SSL
- Persistance de la session pour que votre demande aille toujours au même serveur dorsal
- Contrôles de santé pour s’assurer que la demande est envoyée à un serveur sain
- Vous pouvez choisir l’algorithme de routage : round-robin, moindre connexion ou IP source
Les NodeBalancers peuvent être utilisés pour équilibrer tout trafic basé sur TCP, y compris HTTP, MySQL, SSH, etc.
Rackspace
Rackspace est l’un des principaux fournisseurs de solutions d’hébergement en nuage qui propose des LB en nuage pour gérer le trafic en ligne en distribuant les demandes à plusieurs serveurs dorsaux.
Il prend en charge plusieurs algorithmes de routage tels que round-robin, pondéré, moindre connexion et aléatoire. Vous pouvez équilibrer presque n’importe quel type de protocole de service, y compris.
- TCP
- SMTP/IMAP
- HTTP/HTTPS
- LDAP/LDPAS
- MySQL
- FTP/SFTP
- UDP
Quelques-unes des caractéristiques du cloud LB de Rackspace :
- Accélération SSL pour améliorer le débit
- Vous pouvez mettre fin à SSL afin de réduire la surcharge du processeur sur votre serveur web
- Persistance de la session pour transmettre une demande à un seul serveur
- débit réseau de 10 Gb/seconde
- Gestion du LB via l’API
- Protection du trafic malveillant en restreignant la connexion
Vous obtenez des journaux pour tout le trafic dans des journaux d’accès de type Apache pour une meilleure gestion des journaux.
Équilibreur de charge Azure
Équilibrez la charge des applications internes ou orientées vers l’internet à l’aide de Microsoft Azure LB. Avec l’aide de votre Azure LB, vous pouvez créer des applications web hautement disponibles et évolutives.
Il prend en charge les protocoles TCP/UDP, y compris HTTP/HTTPS, SMTP, la voix en temps réel, les applications de messagerie vidéo. Si vous hébergez déjà votre application sur Azure, vous pouvez transmettre votre demande de LB aux serveurs virtuels.
Quelques caractéristiques notables d’Azure LB:
- Prise en charge native de l’IPv6
- Vous pouvez avoir des règles NAT pour une meilleure sécurité.
- Distribution du trafic basée sur le hachage
Azure propose trois types de solutions d’équilibrage de charge.
- Application Gateway – couche 7, met fin à la connexion du client et transmet la demande aux serveurs/services backend.
- Azure load balancer – couche 4, distribue le trafic TCP à travers les instances Azure.
- Gestionnaire de trafic – distribution au niveau DNS
Le délestage SSL, le transfert de chemin, n’est pris en charge que par la “passerelle d’application“
Équilibreur de charge DO
Comme pour Linode, vous pouvez contrôler l’équilibreur de charge de DigitalOcean par le biais d’un panneau de contrôle ou d’une API. Si vous hébergez votre application web avec DO et que vous recherchez une solution HA, il s’agit probablement de la meilleure solution à moindre coût.
Il prend en charge les protocoles HTTP, HTTPS et TCP avec un algorithme de routage à la volée et de moindre connexion. DO vous permet de mettre fin à SSL, de configurer la session collante, les contrôles de santé, les règles de transfert, etc. pour 10 $ par mois. Vous pouvez mettre en œuvre le certificat Let’s encrypt et compatible avec DO Kubernetes.
Équilibrage de charge Cloudflare
Cloudflare LB est unique.
Toutes les solutions listées ci-dessus vous permettent d’équilibrer la charge entre leurs VM et ressources respectives.
Par exemple, avec GCP LB, vous pouvez équilibrer le trafic vers la VM GCP uniquement. Choisir GCP ou AWS LB a du sens lorsque toute l’infrastructure de votre application est hébergée sur leur plateforme. Cependant, si votre site est hébergé sur une plateforme qui ne propose pas de load balancer ou qui offre des fonctionnalités limitées, alors Cloudflare vient à la rescousse.
Cloudflare peut transférer le trafic vers n’importe quelle VM sur Internet.
Il s’agit d’une véritable solution LB multi-cloud qui est livrée avec toutes les fonctionnalités standard que vous pouvez attendre. En voici quelques-unes.
- Acheminement du trafic vers des machines virtuelles à réponse rapide
- Servez à partir du serveur le plus proche de l’utilisateur
- Routage dynamique
- Prise en charge de HTTPS et TCP
- Affinité de session
- Contrôles de santé sur le pool
- Mises à jour en temps réel
La tarification de Cloudflare LB commence à partir de 5 $.
Équilibreur de charge Imperva
Imperva fournit un équilibreur de charge en tant que service pour trois scénarios de disponibilité principaux.
Équilibreurde charge local – la demande est transmise aux serveurs les plus proches sur la base d’algorithmes de routage au sein du même centre de données.
Global server load balancer (GSLB ) – parfait pour une grande organisation ou une infrastructure cloud hybride où vous pouvez transmettre les demandes à plusieurs centres de données pour une haute disponibilité et une meilleure performance.
GSLB prend en charge le ciblage géographique, ce qui signifie que vous pouvez transférer le trafic en fonction de la géolocalisation des visiteurs vers la page régionale ou le centre de données le plus proche.
Basculement automatique de site – automatisez et accélérez la reprise après sinistre sur la base des contrôles de santé sans intervention manuelle. Le trafic est instantanément réacheminé vers un autre centre de données.
Incapsula fournit un tableau de bord en temps réel, des contrôles de santé actifs/passifs et l’option de créer des règles de redirection/réécriture.
Conclusion
L’équilibreur de charge est essentiel pour la haute disponibilité, et j’espère vous avoir donné une idée de quelques-uns des équilibreurs de charge en nuage les plus performants.