Hardware vs. Software Load Balancer: Nur ein Kostenproblem?

26

Wenn die Kosten kein Problem wären, hätte die Bereitstellung eines Software-Lastenausgleichs für den Webdatenverkehr im Vergleich zu einer Hardware einen Nutzen?

timmy
quelle

Antworten:

33

Die Unterscheidung zwischen "Hardware" - und "Software" -Lastverteilern ist nicht mehr sinnvoll. Ein sogenannter "Hardware" -Lastausgleicher ist eine CPU der PC-Klasse, Netzwerkschnittstellen mit Paketverarbeitungsfunktionen und eine Software, die alles miteinander verbindet. Ein "Software" -Lastausgleich, der auf einem guten Server mit modernen Netzwerkkarten realisiert wurde, ist ... dasselbe.

Mit kommerziellen High-End-Angeboten wie F5 oder Citrix Netscaler erhalten Sie:

  • Ein reichhaltiges und umfassendes Feature-Set. Ihre Lösung ist ausgereift und kann schnell alle gängigen und einige ungewöhnliche Anforderungen erfüllen.
  • Hervorragende Statistik. Managementtypen lieben Statistiken und Netzwerktechniker erkennen, dass Statistiken auch bei der Fehlerbehebung hilfreich sein können.
  • Ein einzelner Anbieter, der erstickt, wenn etwas nicht funktioniert, dh Supportvertrag direkt mit dem Lösungsanbieter.
  • Niedrigere Lohnkosten. Die Appliance funktioniert meistens nur, und die Verwaltung dauert nicht allzu viele Stunden.

Mit (Open Source) Software Load Balancern bekommen Sie nicht das Gegenteil, was Sie bekommen, hängt von der Software ab, die Sie wählen und wie Sie vorgehen. Das heißt, in der Regel werden Sie sehen:

  • Längere Zeit zum Einrichten der ursprünglichen Lösung. Insbesondere wenn Sie mehr als nur Lastausgleich, FX-Caching + Inhaltsumschreiben + HA benötigen, dauert das Einrichten von Open-Source-Software mehr Mannstunden.
  • Sie bauen es, Sie besitzen es. Wenn Ihr Unternehmen Open-Source-Software-Load-Balancer mit Inhouse-Technikern einrichtet, sind Sie zu 100% selbst für die Lösung verantwortlich. Dokumentation, Upgrade-Pfad, Disaster Recovery usw. müssen berücksichtigt und möglicherweise von Ihnen implementiert werden .

Die Unterscheidung ist nicht wirklich auf "Hardware" gegen "Software". Es geht darum, "einen bewährten Technologie-Stack als Appliance zu kaufen" und "ihn selbst zu bauen". Bei der endgültigen Entscheidung sind natürlich viele Variablen zu berücksichtigen (Kosten, interne Fähigkeiten, Toleranz für Ausfallzeiten, zukünftiges Wachstum usw.).

Jesper M
quelle
2
Gute Punkte, aber es gibt sicherlich ASIC-basierte Loadbalancer (F5 / ACE / ..?), Die in den verteilten Prozessoren 'viel' verarbeiten, nicht in der CPU. Ich wetteifere auch mit der Frage nach den Arbeitsstunden, insbesondere wenn die Kosten für die Einrichtung durch Experten gedeckt sind.
Joris
Sie haben dies kurz erwähnt, aber ich denke, es sollte betont werden, dass Sie mit einem HW-Load-Balancer in der Regel einen Supportvertrag erhalten, den Sie nutzen können, wenn etwas schief geht. Manchmal ist dies der entscheidende Faktor für ein Unternehmen, in welche Richtung es gehen soll.
VMFarms
@Joris, @vmfarms Gute Punkte, da stimme ich zu. Um alle Feinheiten richtig zu machen, müsste man einen kleinen Roman schreiben. :-)
Jesper M
Gute Antwort, Barracuda Networks, Loadbalancer.org und Kemp Technologies verkaufen jedoch Tausende von Hardware / Software / virtuellen Appliances an sehr große Websites. Sie brauchen sehr selten etwas mehr als den unterstützten Linux / LVS-Open-Source-Stack, den sie bereitstellen. Ich habe hier einen Blog darüber geschrieben, wie man Load Balancer vergleicht: loadbalancer.org/blog/…
Malcolm Turnbull
2

Hardware-Load-Balancer verfügen in der Regel über umfangreichere Funktionen, insbesondere wenn Sie sich mit den großen Funktionen wie F5 befassen. Sie haben auch den zusätzlichen Vorteil einer größeren Skalierbarkeit durch Hardware-Offloading.

Wenn Sie jedoch wissen, dass der Datenverkehr nicht zu hoch ist, sind die Softwarelastausgleichsfunktionen tatsächlich recht leistungsfähig. Wenn Sie mit einem Layer 4 LB aufkommen können, ist Linux LVS + Keepalived eine sehr gute Option. Wenn Sie die Leistung eines Layer 7 LB benötigen, können Sie HAProxy ausprobieren.

Zusammenfassend lässt sich sagen, dass HW-LBs in der Regel besser skalieren als SW-LBs.

Hoffe das hilft!

vmfarms
quelle
"HW-LBs ... skalieren besser als SW-LBs" ist nicht ganz korrekt. HW-LBs bieten mit Abstand die größte Einzelchassis- Leistung. Aber ein gutes Software-LB-Design würde horizontal skalieren und daher genauso gut skalieren (und wäre wahrscheinlich billiger als ein großes Eisen-LB).
Jesper M
2

Ein paar Gedanken:

Pro: Die Maschine, auf der Sie den Load Balancer ausführen, verfügt möglicherweise über eine viel leistungsfähigere Hardware, ist also schneller und erfordert weniger zusätzliche Latenz (je nach Geschwindigkeit Ihrer Verbindungen zur Außenwelt kann dies jedoch kaum einen Unterschied machen).

Con: Ein Hardware-Load-Balancer wird wahrscheinlich nicht mehr Rechenleistung haben, als er benötigt (er läuft möglicherweise eher auf einem Atom- oder ARM-basierten Chip als auf einer massiven High-End-Intel / AMD-CPU), verbraucht also weniger Strom und erzeugt weniger Hitze.

Pro: Durch die Installation Ihrer eigenen Software-Load-Balancer-Anordnung erhalten Sie möglicherweise mehr Flexibilität bei der Konfiguration und späteren Upgrades / Änderungen, wobei eine Hardwarelösung möglicherweise eher eine geschlossene "Black-Box" -Lösung ist. Wenn Sie jedoch einen verwalteten Dienst zur Implementierung des Software-Balancers kaufen, hat dies nur einen geringen Einfluss.

Con: Wenn Sie den Software-Balancer nicht verwalten (dh die Aufgabe ist ausgelagert oder Sie erwerben den Service als Teil eines größeren Managed-Hosting-Arrangements), bedeuten die Verwaltungsgebühren für die Wartung des Setups möglicherweise eine Standardhardware Lösung wäre auf lange Sicht billiger. Denken Sie auch daran, Ihre Zeit in die Kosten einzubeziehen, wenn Sie oder Ihr Unternehmen den Lastenausgleich verwalten.

David Spillett
quelle
"Die Maschine, auf der Sie den Load Balancer ausführen, verfügt möglicherweise über eine viel leistungsstärkere Hardware, ist also schneller und erfordert weniger zusätzliche Latenz" - wirklich? Ich habe gesehen, dass ein ServerIron 15 Millionen gleichzeitige Verbindungen verarbeiten kann, während Haproxy Zehntausende verarbeiten kann
Uhr
@Timmy - Ich habe eine Fallstudie auf der Haproxy-Website gelesen (deren Website ist leider offline), in der sie einen 10-Gbit / s-Link zu einer HAProxy-Box sättigten und die gut skaliert ist, und ich bin mir ziemlich sicher, dass dies mehr als 10.000 gleichzeitige Anfragen wären .
Mark Henderson
1
Gefunden - webcache.googleusercontent.com/… (dank Google Cache) - Schlüsselzeile 105931 sessions per secondund etwa 17% CPU-Auslastung - das ist ziemlich verrückt für einen einzelnen grundlegenden Xeon-Prozessor
Mark Henderson
@Farseeker - danke, ich wusste nicht, dass sie so viele Sitzungen verwalten können.
Timmy
2

Ich würde auch diese Punkte berücksichtigen:

Wenn das Unternehmen über eine IT-Abteilung mit einem Netzwerkspezialisten verfügt, kann eine Hardware LB dazu beitragen, den Wartungsaufwand für das Entwicklungsteam zu verringern.

Manchmal, besonders für große Unternehmen, bedeutet die Einführung einer neuen Hardware, die niemand bedienen kann, die Einstellung teurer Berater oder sogar eines neuen Mitarbeiters.

Das Entwicklerteam wird eine Hardwarelösung hassen, wenn es vorhat, die Funktionen des Lastenausgleichs zu betonen, z. B. eine kontinuierliche Bereitstellung.

Franklin Dattein
quelle