Partager via


Options d’équilibrage de charge

Équilibrage de charge Azure
Azure Front Door
Application Gateway Azure
Azure Traffic Manager

Le terme équilibrage de charge désigne la distribution des charges de travail sur plusieurs ressources informatiques. L’équilibrage de charge vise à optimiser l’utilisation des ressources, à optimiser le débit, à réduire le temps de réponse et à éviter de surcharger une seule ressource. Il peut également améliorer la disponibilité en partageant une charge de travail sur des ressources de calcul redondantes.

Azure propose plusieurs services d’équilibrage de charge dont vous pouvez vous servir pour répartir vos charges de travail entre plusieurs ressources informatiques. Parmi ces ressources figurent Azure Application Gateway, Azure Front Door, Azure Load Balancer et Azure Traffic Manager.

Cet article décrit certaines considérations pour déterminer une solution d’équilibrage de charge appropriée aux besoins de votre charge de travail.

Catégorisations de service

Les services d’équilibrage de charge Azure peuvent être classés selon deux catégories : le global par rapport au régional, et le HTTP(S) par rapport au non-HTTP(S).

Global ou régional

  • Global: Ces services d’équilibrage de charge distribuent le trafic entre les back-ends régionaux, les clouds ou les services locaux hybrides. Ces services prennent en charge la gestion d’un plan de contrôle unique responsable de l’acheminement global du trafic des utilisateurs finaux vers un back-end disponible. Ils réagissent souvent aux changements de fiabilité ou de performance du service pour maximiser la disponibilité et la performance. Vous pouvez les considérer comme des systèmes qui équilibrent la charge entre les tampons, les points de terminaison ou les unités d’échelle de l’application hébergés dans différentes régions ou zones géographiques.
  • Régional: Ces services d’équilibrage de charge distribuent le trafic au sein de réseaux virtuels entre les machines virtuelles ou les points de terminaison de service zonaux et redondants interzones au sein d’une région. Vous pouvez les considérer comme des systèmes qui équilibrent la charge entre les machines virtuelles, les conteneurs ou les clusters dans une région d’un réseau virtuel.

HTTP(S) ou non-HTTP(S)

  • HTTP(S) : Ces services d’équilibrage de charge sont des équilibreurs de charge de couche 7 qui acceptent uniquement le trafic HTTP(S). Ils sont destinés aux applications web ou à d’autres points de terminaison HTTP(S). Ils peuvent avoir des fonctionnalités telles que le déchargement SSL, le pare-feu d’applications web, l’équilibrage de charge basé sur le chemin et l’affinité de session.
  • Non-HTTP(S) : Ces services d’équilibrage de charge sont des services TCP ou UDP de couche 4 ou d’équilibrage de charge DNS.

Le tableau suivant récapitule les services d’équilibrage de charge Azure.

Service Global/régional Trafic recommandé
Azure Front Door Mondial HTTP(S)
Azure Traffic Manager Mondial Non-HTTP(S)
Azure Application Gateway Zones géographiques HTTP(S)
Azure Load Balancer (répartiteur de charge Azure) Régional ou global Non-HTTP(S)

Remarque

Azure Traffic Manager et Azure Load Balancer ont les capacités de distribuer tout trafic, y compris HTTP(S). Toutefois, ces services n’ont pas de fonctionnalités de couche 7. Contrairement à Azure Load Balancer, Azure Traffic Manager ne gère pas directement le trafic ; Traffic Manager manipule dns pour diriger les clients vers les points de terminaison appropriés.

Services d’équilibrage de charge Azure

Voici les principaux services d’équilibrage de charge actuellement disponibles dans Azure :

  • Azure Front Door est un réseau de livraison d’applications qui assure un équilibrage de charge global et un service d’accélération de site pour les applications web. Il offre des fonctionnalités de couche 7 pour votre application, telles que le déchargement SSL, le routage basé sur le chemin, le basculement rapide et la mise en cache pour améliorer les performances et la haute disponibilité de vos applications.

  • Traffic Manager est un équilibreur de charge du trafic DNS qui vous permet de distribuer le trafic de manière optimale aux services dans toutes les régions Azure globales, tout en offrant réactivité et haute disponibilité. Comme Traffic Manager est un service d’équilibrage de charge basé sur le DNS, il équilibre la charge uniquement au niveau du domaine. C’est ce qui explique qu’il ne peut pas basculer avec la rapidité d’Azure Front Door en raison des difficultés courantes liées à la mise en cache DNS et aux systèmes qui ne respectent pas les TTL de DNS.

  • Application Gateway fournit un contrôleur de distribution d’applications en tant que service, offrant diverses capacités d’équilibrage de charge de niveau 7 et des fonctionnalités de pare-feu d’applications web. Utilisez-le pour passer de l’espace réseau public à vos serveurs web hébergés dans un espace réseau privé au sein d’une région.

  • Load Balancer est un service d’équilibrage de charge de couche 4 à ultra faible latence et hautes performances (en entrée et en sortie) pour tous les protocoles UDP et TCP. Il est conçu pour gérer des millions de demandes par seconde, tout en garantissant la haute disponibilité de votre solution. Load Balancer est redondant interzone, ce qui garantit une haute disponibilité dans les zones de disponibilité. Il prend en charge une topologie de déploiement régional et une topologie interrégion.

Remarque

La technologie de clustering, telle qu’Azure Container Apps ou Azure Kubernetes Service, contient des constructions d’équilibrage de charge qui fonctionnent principalement dans l’étendue de leur propre limite de cluster, en acheminant le trafic vers des instances d’application disponibles en fonction de la préparation et des sondes d’intégrité. Ces options d’équilibrage de charge ne sont pas couvertes dans cet article.

Arbre de décision pour l’équilibrage de charge dans Azure

Considérez ces facteurs lorsque vous sélectionnez une solution d’équilibrage de charge :

  • Type de trafic : Est-ce une application HTTP(S) web ? S’agit-il d’une application publique ou privée ?
  • Global et régional : Avez-vous besoin d’équilibrer la charge des machines virtuelles ou des conteneurs au sein d’un seul réseau virtuel, ou d’équilibrer la charge des unités/déploiements d’échelle entre les régions, ou les deux ?
  • Disponibilité: Qu’est-ce que le contrat de niveau de service ?
  • Coût: Pour plus d’informations, consultez la tarification Azure. Outre le coût du service proprement dit, considérez le coût des opérations de gestion d’une solution reposant sur ce service.
  • Fonctionnalités et limites : Quelles sont les fonctionnalités prises en charge sur chaque service et quelles sont les limites de service de chaque service ?

Pourboire

Le portail Azure propose un guide basé sur un questionnaire similaire à l’organigramme suivant. Dans le portail Azure, recherchez « Équilibrage de charge : aidez-moi à choisir ». En répondant aux questions, vous pouvez affiner vos options d’équilibrage de charge.

L’organigramme suivant vous aide à choisir une solution d’équilibrage de charge pour votre application. Il vous guide au travers d’un ensemble de critères de décisions clé pour trouver une recommandation.

Traitez cet organigramme comme un point de départ. Chaque application dispose de ces exigences propres, utilisez donc la recommandation pour commencer. Effectuez ensuite une évaluation plus détaillée.

Lorsque votre charge de travail implique plusieurs services nécessitant un équilibrage de charge, il est important d’évaluer chaque service individuellement. Dans de nombreux cas, une configuration efficace utilise plus d’un type de solution d’équilibrage de charge. Vous pouvez intégrer ces solutions à différents endroits dans l’architecture de votre charge de travail, chacune remplissant une fonction ou un rôle unique.

Diagramme montrant un arbre de décision pour l’équilibrage de charge dans Azure.

Définitions

  • Application web (HTTP/HTTPS) : Cela fait référence à la nécessité de prendre une décision d’acheminement pour les données de niveau 7 telles que le chemin URL, de prendre en charge l’inspection de la charge utile de la communication (telle que le corps de la requête HTTP) ou de gérer la fonctionnalité TLS.

  • Application accessible sur Internet : Applications accessibles publiquement depuis Internet. En guise de meilleure pratique, les propriétaires d’applications appliquent des stratégies d’accès restrictives ou protègent l’application en configurant des offres telles que le pare-feu d’applications web et la protection DDoS.

  • Mondial / Déployé dans plusieurs régions : Si cet équilibreur de charge doit avoir un plan de contrôle unique et hautement disponible, responsable de l’acheminement du trafic vers des points de terminaison publics sur votre application distribuée mondialement. Cela peut être pour prendre en charge des topologies actives-actives ou actives-passives entre les régions.

    Remarque

    Il est possible d’utiliser un service régional, tel que Application Gateway, pour équilibrer la charge entre les backends répartis sur plusieurs régions et contrôler l’acheminement via un plan de contrôle unique. Cette architecture est rendue possible grâce à Private Link inter-région, l’appairage de réseaux virtuels globaux, ou même les IP publiques des services dans d’autres régions.

    Cependant, ce scénario n’est pas le principal objectif de cette décision.

    Utiliser une ressource régionale comme routeur pour des backends distribués mondialement introduit un point de défaillance régional unique et entraîne une latence supplémentaire car le trafic est forcé de passer par une région avant d’aller dans une autre, puis de revenir.

  • Platform as a service (PaaS) : Fournit un environnement d’hébergement managé, où vous pouvez déployer votre application sans avoir à gérer les machines virtuelles ou les ressources réseau. Dans ce cas, PaaS fait référence à des services qui assurent l’équilibrage de charge intégré dans une région. Pour plus d’informations, consultez Choisir un service de calcul – Scalabilité.

  • Azure Kubernetes Service (AKS) : Vous permet de déployer et de gérer des applications conteneurisées. AKS fournit Kubernetes serverless, expérience d’intégration continue et de livraison continue (CI/CD), ainsi qu’une sécurité et une gouvernance de classe entreprise. Pour plus d’informations sur les ressources architecturales AKS, consultez Conception de l’architecture d’Azure Kubernetes Service.

  • Infrastructure as a service (IaaS) : Option informatique dans laquelle vous approvisionnez les machines virtuelles dont vous avez besoin, ainsi que les composants réseau et stockage associés. Les applications IaaS nécessitent un équilibrage de charge interne au sein d’un réseau virtuel avec Load Balancer.

  • Traitement de la couche Application : Fait référence à un routage spécial au sein d’un réseau virtuel. Les exemples incluent le routage basé sur le chemin entre les machines virtuelles ou les groupes de machines virtuelles identiques. Pour plus d’informations, consultez Quand dois-je déployer une passerelle Application Gateway derrière Azure Front Door ?

  • Accélération des performances : Fait référence aux fonctionnalités qui accélèrent l’accès web. Il est possible de mettre en œuvre l’accélération des performances en utilisant des réseaux de distribution de contenu (CDN) ou un point de présence (POP) optimisé en entrée pour accélérer l’intégration du client au réseau de destination. Azure Front Door prend en charge les CDN et l’accélération de trafic Anycast. Les avantages des deux fonctionnalités peuvent être obtenus avec ou sans Application Gateway dans l’architecture.

Considérations supplémentaires

Chaque service d’équilibrage de charge a également des capacités de prise en charge ou des détails de mise en œuvre à prendre en compte. Voici quelques exemples qui pourraient être pertinents pour votre scénario d’équilibrage de charge.

  • Prise en charge des WebSockets
  • Prise en charge des événements envoyés par le serveur
  • Support du HTTP/2 (à la fois en réception et en continuation vers les nœuds backend)
  • Support des sessions persistantes
  • Mécanisme de surveillance de la santé des nœuds backend
  • Expérience client ou délai entre la détection d’un nœud défaillant et son retrait de la logique d’acheminement.

Exemples

Le tableau suivant répertorie divers articles basés sur les services d’équilibrage de charge utilisés comme solution.

Services Article Descriptif
Équilibreur de charge Équilibrer la charge des machines virtuelles entre les zones de disponibilité Équilibrez la charge des machines virtuelles dans les zones de disponibilité pour protéger vos applications et données dans l’éventualité peu probable d’une défaillance ou d’une perte d’un centre de données entier. Avec la redondance de zone, une ou plusieurs zones de disponibilité peuvent subir une défaillance sans que cela n’empêche le chemin de données de survivre du moment qu’il reste une zone intègre dans la région.
Gestionnaire du trafic Application web à niveaux multiples construite pour une haute disponibilité et une récupération d’urgence Déployez des applications multiniveaux résilientes conçues pour la haute disponibilité et la reprise d’activité après sinistre. Si la région primaire n’est plus disponible, Traffic Manager bascule vers la région secondaire.
Azure Front Door + Application Gateway SaaS mutualisé sur Azure Utilisez une solution multilocataire qui associe Azure Front Door et Application Gateway. Azure Front Door permet d’équilibrer la charge du trafic entre les régions. Application Gateway équilibre la charge du trafic en interne dans l’application et le route vers les différents services qui répondent aux besoins de l’entreprise du client.
Traffic Manager + Application Gateway Équilibrage de charge multirégion avec Traffic Manager et Application Gateway Découvrez comment traiter les charges de travail web et déployer des applications multiniveaux résilientes dans plusieurs régions Azure pour bénéficier d’une haute disponibilité et d’une infrastructure de reprise d’activité après sinistre robuste.

Étapes suivantes