Frage Hardware oder Software Load Balancer: Nur ein Kostenproblem?


Wenn die Kosten kein Problem darstellen, wäre der Einsatz eines Software-Lastenausgleichs für den Web-Datenverkehr im Vergleich zu einem Hardware-Nutzen von Vorteil?


24
2017-08-17 13:46


Ursprung




Antworten:


Die Unterscheidung zwischen Load Balancern "Hardware" und "Software" ist nicht mehr sinnvoll. Ein sogenannter "Hardware" -Load-Balancer ist eine PC-Klasse-CPU, Netzwerkschnittstellen mit Paketverarbeitungsfähigkeiten und etwas Software, um alles miteinander zu verbinden. Ein "Software" Load Balancer, der auf einem guten Server mit modernen NICs realisiert wird, ist ... das Gleiche.

Was Sie mit High-End-kommerziellen Angeboten wie F5 oder Citrix Netscaler erhalten, ist:

  • Ein reichhaltiger und tiefer Funktionsumfang. Ihre Lösung ist ausgereift und kann schnell alle gängigen Bedürfnisse und auch einige ungewöhnliche bewältigen.
  • Ausgezeichnete Statistiken. Management-Typen lieben Statistiken, und Netzwerk-Techniker erkennen, dass Statistiken auch bei der Fehlersuche nützlich sein können.
  • Ein einzelner Anbieter muss ersticken, wenn etwas nicht funktioniert, d. H. Einen Vertrag direkt mit dem Lösungsanbieter unterstützen.
  • Niedrigere Lohnkosten. Die Appliance funktioniert meistens nur, und die Verwaltung dauert nicht so viele Stunden.

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

  • Längere Zeit, um die anfängliche Lösung einzurichten. Vor allem, wenn Sie mehr als nur Load Balancing, FX-Caching + Content Rewriting + HA benötigen, dann dauert die Einrichtung von Open-Source-Software mehr Arbeitsstunden.
  • Sie bauen es, Sie besitzen es. Wenn Ihr Unternehmen Open-Source-Software-Load Balancer mit hauseigenen Technologien einrichtet, sind Sie selbst zu 100% für die Lösung verantwortlich. Dokumentation, Upgrade-Pfad, Disaster Recovery usw. müssen alle berücksichtigt und eventuell implementiert werden Sie.

Die Unterscheidung ist nicht wirklich auf "Hardware" gegenüber "Software". Es ist auf "kaufen Sie einen bewährten Technologie-Stack als eine Appliance" gegen "bauen Sie es selbst". Bei der endgültigen Entscheidung müssen natürlich viele Variablen berücksichtigt werden (Kosten, interne Fähigkeiten, Toleranz für Ausfallzeiten, zukünftiges Wachstum usw.).


28
2017-08-22 11:31



Gute Punkte, aber es gibt sicherlich ASIC-basierte Loadbalancer (F5 / ACE / ..?), Die "viel" in den verteilten Prozessoren handhaben, nicht in der CPU. Ich bestreite auch die manhours Frage, besonders wenn die Kosten von Expertenstunden das Setup machen. - 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 wird dies zum entscheidenden Faktor für ein Geschäft, in dem die Richtung geht. - vmfarms
@Joris, @vmfarms Gute Punkte, stimme ich zu. Um all die feineren Punkte zu bekommen, müsste man einen kleinen Roman tippen. :-) - Jesper Mortensen
Gute Antwort, aber Barracuda Networks, Loadbalancer.org und Kemp Technologies verkaufen Tausende von Hardware / Software / virtuellen Appliances an sehr große Websites. Sie brauchen selten mehr als den unterstützten Linux / LVS-Open-Source-Stack, den sie bereitstellen ... Verstehen Sie mich nicht falsch, die Citrix- und F5-Stacks sind viel besser, aber für 95% der Anwendungen ist das irrelevant. Ich habe hier einen Blog geschrieben, wie Load Balancer hier zu vergleichen sind: loadbalancer.org/blog/... - Malcolm turnbull


Hardware Load Balancer verfügen in der Regel über umfangreichere Funktionen, insbesondere wenn Sie zu den großen wie F5 gelangen. Sie haben außerdem den zusätzlichen Vorteil einer größeren Skalierbarkeit aufgrund von Hardware-Offloading.

Auf der anderen Seite, wenn Sie wissen, dass Ihr Datenverkehr nicht zu hoch ist, funktionieren Software Load Balancer tatsächlich ziemlich gut. Wenn Sie eine Layer 4 LB nutzen können, ist Linux LVS + Keepalived eine sehr gute Option. Wenn Sie die Kraft eines Layer 7 LB benötigen, können Sie HAProxy ausprobieren.

Zusammengefasst skalieren HW LBs typischerweise besser als SW LBs.

Hoffe das hilft!


2
2017-08-17 14:20



"HW LBs .. Maßstab besser als SW LBs" ist nicht ganz genau. HW LBs bieten mit Abstand das Größte Einzelchassis Performance. Aber ein gutes Software-LB-Design würde horizontal skalieren und daher genauso skalieren (und wahrscheinlich billiger als ein großes Eisen LB). - Jesper Mortensen


Ein paar Gedanken:

Profi: Die Maschine, auf der Sie den Load Balancer ausführen, könnte viel leistungsstärkere Hardware haben, wäre also schneller und hätte weniger zusätzliche Latenzzeiten (obwohl abhängig von der Geschwindigkeit Ihrer Links zur Außenwelt, kann dies wenig ausmachen).

Con: Ein Hardware Load Balancer wird wahrscheinlich nicht mehr Rechenleistung haben, als er benötigt (er kann auf einem Atom- oder ARM-basierten Chip anstelle einer klobigen High-End-Intel / AMD-CPU laufen), verbraucht also weniger Strom und erzeugt weniger Wärme.

Profi: Durch die Installation einer eigenen Software-Load-Balancer-Anordnung erhalten Sie möglicherweise mehr Flexibilität bei der Konfiguration und späteren Upgrades / Änderungen, wobei eine Hardware-Lösung eher eine geschlossene "Black Box" -Lösung ist. Wenn Sie jedoch einen Managed Service zur Implementierung des Software Balancers kaufen, wird dies kaum einen Unterschied machen.

Con: Wenn Sie den Software-Balancer nicht verwalten (dh die Aufgabe ausgelagert ist oder Sie den Service als Teil eines größeren Managed-Hosting-Pakets erwerben), könnten die Verwaltungsgebühren für die Pflege des Setups eine Standardhardware-Lösung darstellen auf lange Sicht billiger sein. Denken Sie auch daran, einzuzahlen Ihre Zeit in die Kosten einrechnen, wenn Sie oder Ihr Unternehmen den Load Balancer verwalten.


2
2017-08-17 14:20



"Die Maschine, auf der Sie den Load Balancer ausführen, könnte viel leistungsstärkere Hardware haben, wäre also schneller und hätte weniger zusätzliche Latenz" - wirklich? Ich habe gesehen, dass ein ServerIron 15 m gleichzeitige Verbindungen bewältigen kann, während Haproxy 10 Tausende bewältigen kann - timmy
@ Timmy - Ich lese eine Fallstudie auf der Haproxy-Website (Ihre Website ist leider offline), wo sie eine 10Gbps-Link zu einer HAProxy-Box gesättigt und es skaliert schön, und ich bin ziemlich sicher, dass mehr als 10k gleichzeitige Anfragen wäre . - Mark Henderson♦
Fand es - webcache.googleusercontent.com/... (Danke Google Cache) - Schlüsselzeile ist 105931 sessions per second und 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 bewältigen können. - timmy


Ich würde diese Punkte auch berücksichtigen:

Wenn das Unternehmen über eine IT-Abteilung mit einem Netzwerkspezialisten verfügt, kann eine Hardware LB dazu beitragen, die Wartungslast des Entwicklungsteams zu reduzieren.

Manchmal, speziell für große Unternehmen, bedeutet die Einführung einer neuen Hardware, die niemand zu bedienen weiß, die Einstellung teurer Berater oder sogar einer neuen Anstellung.

Das Entwicklungsteam wird eine Hardwarelösung hassen, wenn sie die Funktionen des Load Balancers betonen möchte, wie zum Beispiel eine kontinuierliche Bereitstellung.


2
2017-09-20 04:59





Anscheinend können HW-LBs die Handhabung von SSL-Verbindungen verbessern und somit die Gesamtzahl der erforderlichen App-Server reduzieren:

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


0
2017-08-25 11:46



SSL-Offloader-Hardware ist auch direkt für Webserver verfügbar und wird von der allgegenwärtigen OpenSSL-Bibliothek unter Linux unterstützt. Dieser Vorteil ist keineswegs einzigartig für Hardware Load Balancer. - Charles Duffy
Ich wusste das nicht, danke