Équilibreurs de charge matériel vs logiciel: juste une question de coût?

26

Si le coût n'était pas un problème, y aurait-il un avantage à déployer un équilibreur de charge logiciel pour le trafic Web par rapport à un matériel?

timmy
la source

Réponses:

33

La distinction entre les équilibreurs de charge «matériel» et «logiciel» n'a plus de sens. Un équilibreur de charge dit «matériel» est un processeur de classe PC, des interfaces réseau avec des capacités de traitement de paquets et certains logiciels pour les lier tous ensemble. Un équilibreur de charge "logiciel" réalisé sur un bon serveur avec des cartes réseau modernes est ... le même.

Ce que vous obtenez avec des offres commerciales haut de gamme comme F5 ou Citrix Netscaler est:

  • Un ensemble de fonctionnalités riches et profondes. Leur solution est mature et peut rapidement répondre à tous les besoins courants et à certains aussi rares.
  • Excellentes statistiques. Les types de gestion adorent les statistiques et les techniciens du réseau se rendent compte que les statistiques peuvent également être utiles pour le dépannage.
  • Un seul fournisseur pour s'étouffer lorsque quelque chose ne fonctionne pas, c'est-à-dire un contrat de support directement avec le fournisseur de la solution.
  • Coûts salariaux réduits. La plupart du temps, l'appareil fonctionne et sa gestion ne prend pas autant d'heures.

Avec les équilibreurs de charge de logiciels (open source), vous n'obtenez pas le contraire, ce que vous obtenez dépend du logiciel que vous choisissez et de la façon dont vous procédez. Cela dit, vous verrez généralement:

  • Temps plus long pour configurer la solution initiale. Surtout si vous avez besoin de plus que l'équilibrage de charge, la mise en cache fx + la réécriture de contenu + HA, la configuration d'un logiciel open source prend plus d'heures de travail.
  • Vous le construisez, vous le possédez. Si votre entreprise met en place des équilibreurs de charge de logiciels open source avec des techniciens internes, vous êtes à 100% responsable de la solution vous-même. La documentation, le chemin de mise à niveau, la reprise après sinistre, etc. devront tous être pris en compte et peut-être mis en œuvre par vous .

La différenciation n'est pas vraiment entre "matériel" et "logiciel". Il s'agit de «acheter une pile technologique éprouvée en tant qu'appliance» par rapport à «la construire vous-même». Il y a bien sûr de nombreuses variables à considérer lors de la prise de décision finale (coûts, compétences internes, tolérance aux temps d'arrêt, croissance future, etc.).

Jesper M
la source
2
De bons points, mais il existe certainement des équilibreurs de charge basés sur ASIC (F5 / ACE / ..?) Qui gèrent «beaucoup» dans les processeurs distribués, pas dans le CPU. Je conteste également la question des heures de travail, surtout si le coût d'heures d'experts pour faire la configuration.
Joris
Vous l'avez brièvement mentionné, mais je pense qu'il convient de souligner qu'avec un équilibreur de charge HW, vous obtenez généralement un contrat de support que vous pouvez utiliser à chaque fois que quelque chose se passe mal. Parfois, cela devient le facteur décisif pour une entreprise dans quelle direction aller.
vmfarms
@Joris, @vmfarms Bons points, je suis d'accord. Pour obtenir tous les points les plus fins, il faudrait taper un petit roman. :-)
Jesper M
Bonne réponse, cependant Barracuda Networks, Loadbalancer.org et Kemp Technologies vendent des milliers de matériels / logiciels / appliances virtuelles à de très grands sites. Vous avez très rarement besoin de quelque chose de plus que la pile open source Linux / LVS prise en charge qu'ils fournissent ... Ne vous méprenez pas, les piles Citrix et F5 sont bien meilleures, mais pour 95% des applications, cela n'est pas pertinent. J'ai écrit un blog sur la façon de comparer les équilibreurs de charge ici: loadbalancer.org/blog/…
Malcolm turnbull
2

Les équilibreurs de charge matérielle ont généralement un ensemble de fonctionnalités plus riche, en particulier lorsque vous arrivez aux gros comme F5. Vous avez également l'avantage supplémentaire d'une plus grande évolutivité en raison du déchargement du matériel.

D'un autre côté, si vous savez que votre trafic ne sera pas trop élevé, les équilibreurs de charge logiciels fonctionnent plutôt bien. Si vous pouvez vous en sortir avec un LB de couche 4, Linux LVS + Keepalived est une très bonne option. Si vous avez besoin de la puissance d'un Layer 7 LB, vous pouvez essayer HAProxy.

Donc, en résumé, les LB HW évoluent généralement mieux que les LB SW.

J'espère que cela t'aides!

vmfarms
la source
«Les LB HW .. évoluent mieux que les LB SW» n'est pas tout à fait exact. Les LW HW offrent de loin les meilleures performances sur châssis unique . Mais une bonne conception de LB logiciel évoluerait horizontalement, et donc évoluerait tout aussi bien (et serait probablement moins cher qu'un gros LB de fer).
Jesper M
2

Quelques réflexions:

Pro: la machine sur laquelle vous exécutez l'équilibreur de charge pourrait avoir un matériel beaucoup plus puissant, donc serait plus rapide et imposerait moins de latence supplémentaire (bien que cela dépend peu de la vitesse de vos liens avec le monde extérieur).

Inconvénients: un équilibreur de charge matériel n'aura probablement pas plus de puissance de calcul qu'il n'en a besoin (il peut fonctionner sur une puce basée sur Atom ou ARM plutôt que sur un gros processeur Intel / AMD haut de gamme par exemple), il consommera donc moins d'énergie et générera moins chaleur.

Pro: l' installation de votre propre arrangement d'équilibrage de charge logiciel peut vous donner plus de flexibilité dans la configuration et les mises à niveau / modifications ultérieures, où une solution matérielle peut être beaucoup plus une solution de «boîte noire» fermée. Bien que si vous achetez un service géré pour implémenter l'équilibreur de logiciel, cela ne fera aucune différence.

Inconvénients: si vous ne gérez pas l'équilibreur de logiciels (c.-à-d. Que la tâche est externalisée ou que vous achetez le service dans le cadre d'un arrangement d'hébergement géré plus important), vous pourriez trouver les frais d'administration pour maintenir la configuration comme un matériel standard. solution serait moins chère à long terme. N'oubliez pas non plus de prendre en compte votre temps dans les coûts si vous ou votre entreprise gérez l'équilibreur de charge.

David Spillett
la source
"La machine sur laquelle vous exécutez l'équilibreur de charge pourrait avoir un matériel beaucoup plus puissant, donc serait plus rapide et imposerait moins de latence supplémentaire" - vraiment? je l'ai vu dire qu'un ServerIron pouvait gérer 15m de connexions simultanées tandis que haproxy pouvait gérer 10s de milliers
timmy
@Timmy - J'ai lu une étude de cas sur le site Web haproxy (leur site Web est, malheureusement, hors ligne) où ils ont saturé un lien 10 Gbps vers une boîte HAProxy et il a bien évolué, et je suis assez sûr que ce serait plus de 10 000 demandes simultanées .
Mark Henderson
1
Trouvé - webcache.googleusercontent.com/… (merci Google Cache) - la ligne clé étant 105931 sessions per secondet environ 17% d'utilisation du processeur - c'est assez fou pour un seul processeur Xeon de base
Mark Henderson
@ Farseeker - merci, je ne savais pas qu'ils pouvaient gérer autant de sessions.
timmy
2

Je prendrais également en compte ces points:

Si l'entreprise dispose d'un département informatique avec un spécialiste du réseau, un Hardware LB peut aider à réduire la charge de maintenance de l'équipe de développement.

Parfois, spécialement pour les grandes entreprises, l'adoption d'un nouveau matériel que personne ne sait comment faire fonctionner, implique l'embauche de consultants coûteux ou même un nouvel emploi.

L'équipe de développement déteste une solution matérielle si elle prévoit de mettre l'accent sur les fonctionnalités de l'équilibreur de charge, comme par exemple, pour adopter un déploiement continu.

Franklin Dattein
la source
0

Apparemment, les LW HW peuvent améliorer la gestion des connexions SSL et donc réduire le nombre total de serveurs d'applications requis:

http://highscalability.com/blog/2010/8/12/strategy-terminate-ssl-connections-in-hardware-and-reduce-se.html


la source
2
Le matériel de déchargement SSL est également disponible directement pour les serveurs Web et pris en charge par la bibliothèque omniprésente OpenSSL sous Linux; cet avantage n'est en aucun cas propre aux équilibreurs de charge matériels.
Charles Duffy