Load Balancing

Lastenverteilung im Netz

Ein stetiger Anstieg des Online-Traffics stellt die Server-Infrastrukturen von Unternehmen weltweit vor erhebliche Herausforderungen. Unternehmen sind darauf angewiesen, eine enorme Menge an Anfragen jederzeit sicher bewältigen zu können, ohne dass es zu Ausfällen oder längeren Verzögerungen bei Webseiten oder Anwendungen kommt. Das sogenannte Load Balancing sorgt an dieser Stelle für eine faire Verteilung des Workloads zwischen den Servern – für optimale Auslastung und Betriebssicherheit.

Kurz und knapp

  • Load Balancing sichert die gleichmäßige Verteilung von Traffic
  • Methode sorgt u.a. für bessere Performance und mehr Ausfallsicherheit
  • Besonders gefragt in Rechenzentren sowie für Webseiten und Web-Anwendungen
  • Als Load Balancer stehen Hardware-, Software- und Cloud-Lösungen zur Auswahl
  • Algorithmen entscheiden darüber, welcher Server die Anfrage bearbeitet

Was ist Load Balancing?

Das Load Balancing (Lastenverteilung) ist eine Methode zur Verteilung des Traffics / Datenverkehrs auf eine Vielzahl von Servern. Mit Hilfe eines Load Balancers wird deren Auslastung optimiert und die Überlastung einzelner Server vermieden. So ist die Verfügbarkeit von Webseiten und Diensten auch zu Spitzenlastzeiten ohne Verzögerungen oder Einschränkungen sichergestellt. 

Wie funktionieren Load Balancer?

Load Balancer arbeiten entweder hardwarebasiert (Server) oder softwarebasiert (virtuelle Maschine / Cloud). Der Load Balancer fungiert als Reverse Proxy im Netzwerk – alle eingehenden Anfragen aus dem Internet laufen zuerst hier zusammen.

Anschließend prüft der Load Balancer, welcher der angeschlossenen Server die jeweilige Anfrage am effizientesten bearbeiten kann. Je nach angewandtem Algorithmus werden für diese Einschätzung unterschiedlichste Kriterien (Status / Auslastung / Verbindungen) berücksichtigt. Danach wird die Anfrage an den jeweiligen Server im Pool weitergeleitet.

Die Vorteile des Load Balancing

Vom Start-Up über KMUs bis zu Global Playern – für Unternehmen ist der Einsatz eines Load Balancers heute praktisch unerlässlich, um die Funktionsfähigkeit eigener Web-Anwendungen abzusichern. Gerade die folgenden Punkte machen diese Methode für Unternehmen interessant:

Optimierter Ressourceneinsatz

Eine intelligente Verteilung des Workloads auf die verfügbaren Server maximiert die Nutzung der Ressourcen und verhindert Überlastungen. Einzelne Load Balancer sind zudem in der Lage, Server-Ressourcen je nach Auslastung flexibel ab- oder zuzuschalten.

Erhöhte Verfügbarkeit und Zuverlässigkeit

Fallen Server aus, verteilt der Load Balancer Traffic in Echtzeit auf andere Server. Durch diese Umleitung werden potenziell teure Ausfallzeiten einzelner Server auf ein Minimum reduziert. 

Verbesserte Performance

Dank der gleichmäßigen Verteilung des Datenverkehrs bleiben die Reaktionszeiten von Webseiten / Anwendungen konstant niedrig. Somit ist gewährleistet, dass Kunden mit der technischen Leistung der jeweiligen Apps, Dienste und Co. durchgehend zufrieden sind.

Optimale Skalierbarkeit

Die Größe des Server-Pools, auf die ein Load Balancer den Workload verteilt, ist meist flexibel anpassbar. Server lassen sich nach Bedarf hinzufügen oder entfernen. So sind dem potenziellen Wachstum eines Geschäftsmodells praktisch keine Grenzen gesetzt.

Wo kommen Load Balancer zum Einsatz?

Das Load Balancing als Methode zur effizienten Traffic-Verteilung ist heute weltweit im Netz präsent. Praktisch jede Branche und Industrie ist in unterschiedlicher Form von stabilen sowie performanten Netzwerken abhängig und profitiert von dieser Technologie.

Stark verbreitet ist diese vor allem dort, wo Unternehmen digitale Angebote und Services bereitstellen. Von besonderer Wichtigkeit sind dabei gerade folgende IT-Einsatzgebiete:

Web-Anwendungen / Webseiten

Typischerweise stark frequentierte Webseiten, Plattformen oder Nachrichtenportale setzen auf das Load Balancing, um auch bei einer sehr großen Anzahl an simultanen Anfragen zuverlässig online verfügbar zu sein. Gleiches gilt für große Onlineshops wie etwa Amazon, die gerade zu besonderen Anlässen (Prime Day) enorme Traffic-Spitzen verzeichnen.

Software-as-a-Service (SaaS)

Für Unternehmen, die Software-as-a-Service-Lösungen anbieten, sind Load Balancer als Teil der eigenen IT-Infrastruktur absolut essenziell. Denn nur durch eine gleichmäßige Verteilung von Anfragen ist sichergestellt, dass Kunden jederzeit Zugriff auf die (häufig kostenpflichtig) bereitgestellten Anwendungen haben.

Cloud-Infrastruktur

Durch das Load Balancing haben Unternehmen, die eine cloud-basierte IT-Infrastruktur nutzen, die Gewissheit, dass ihre Systeme auch zu Spitzenlastzeiten immer verfügbar sind. Dadurch steht einer digitalen Abwicklung sämtlicher Geschäftsprozesse – auch solcher mit hoher Rechenlast – in der Praxis nichts im Wege. 

Darüber hinaus gibt es noch eine Fülle von weiteren Einsatzgebieten, die von der Bereitstellung von Inhalten über Content Delivery Networks (CDN) bis zu sicheren Transaktionen im Online-Banking und Börsenhandel reichen.

Arten des Load Balancing

Unternehmen haben die Möglichkeit, Load Balancer unterschiedlicher Art in ihre IT zu integrieren. Gab es zunächst nur Hardware-Lösungen, sind inzwischen immer mehr Software-Lösungen und cloudbasierte Balancer im Einsatz. Nach wie vor haben jedoch alle Varianten – abhängig vom Einsatzzweck – ihre eigene Daseinsberechtigung. 

Hardware-Load Balancer

Am Einsatzort wird ein eigenständiger, physischer Load Balancer mit einer speziellen Software installiert. Dessen Hardware ist für den spezifischen Anwendungszweck optimiert und dimensioniert. Der Einsatz solcher Load Balancer rechnet sich vor allem in großen Rechenzentren oder für Unternehmen mit komplexen Netzwerkstrukturen.

Diese Geräte sind dabei typischerweise für Spitzenlasten ausgelegt – dies macht sie zu Beginn einfach skalierbar, je nach Einsatzzweck kann die Leistungsfähigkeit des Geräts zum Zeitpunkt der Einrichtung aber (noch) deutlich über den Anforderungen liegen. 

Software-Load Balancer

Ein Software-Load Balancer wird meist in einem bestehenden Server eingerichtet, wobei er die Funktion eines Application Delivery Controllers (ADC) übernimmt. Häufig erfolgt die Installation auf einem dedizierten Server, der selbst nur die eingehenden Anfragen an den Pool vermittelt.

Softwarebasierte Load Balancer gelten als günstig in der Anschaffung, einfach in der Einrichtung und als unkompliziert skalierbar. Im Gegensatz zu hardwarebasierten Lösungen entfällt der Erwerb separater Geräte und die Integration in virtuelle IT-Strukturen ist meist ohne Schwierigkeiten möglich.

Cloudbasiertes Load Balancing

Moderne Software-Load Balancer bieten die Grundlage für das cloudbasierte Load Balancing. Hier dient die virtuelle Infrastruktur als Basis für den virtuellen Lastenausgleich und eine gleichmäßige Verteilung des Traffics in Cloud Computing-Umgebungen.

Für die Cloud optimierte Balancer werden meist in virtuellen Maschinen eingerichtet. Diese Variante des Load Balancing eignet sich besonders für Cloud-native Anwendungen oder auch für Unternehmen, die regelmäßig große Schwankungen bei der Serverlast verzeichnen und auf eine flexible Skalierbarkeit nach Bedarf angewiesen sind.

Schaubild zur Funktionsweise von Load Balancing

Load Balancing-Algorithmen – Eine Übersicht

Die Verteilung des Traffics an die einzelnen Server innerhalb eines Pools erfolgt nach spezifischen Kriterien. Der Load Balancer ermittelt anhand eines Algorithmus, an welchen Server welche Anfrage weitergeleitet wird. 

Dabei sind zusätzlich zwei Arten von Algorithmen zu unterscheiden: 

  • Statische Load Balancing-Algorithmen

    Der eingehende Datenverkehr wird nach statischen Kriterien verteilt (IP-Adresse / Reihenfolge der Server). Der aktuelle Status oder Zustand von Servern wird nicht berücksichtigt.

     

  • Dynamische Load Balancing-Algorithmen 

    Bei der Verteilung des Datenverkehrs wird der aktuelle Zustand der Server bzw. deren Auslastung mitberücksichtigt. Dies hilft dabei, eine optimale Lastenverteilung zu gewährleisten. 

Abhängig vom Anwendungsbereich können einzelne oder auch beide Arten zum Einsatz kommen. Die gängigsten Algorithmen haben wir nachfolgend aufgelistet.

Round Robin

Anhand einer festgelegten Reihenfolge weist der Load Balancer Anfragen dem jeweils nächsten aktiven Server im Pool zu. Dieses Verfahren ist sehr einfach in der Implementierung, wichtige Aspekte wie die Dringlichkeit oder der Umfang einer Anfrage sowie die aktuelle Auslastung einzelner Server werden jedoch nicht berücksichtigt.

Weighted Round Robin

Dieser Algorithmus ermöglicht es, Servern eine unterschiedliche Gewichtung entsprechend ihrer Kapazität und Leistungsfähigkeit zuzuteilen. Bei der ansonsten zyklischen Verteilung von Anfragen werden einzelne Server entsprechend ihrer Leistungsdaten stärker gewichtet und erhalten dementsprechend mehr Traffic / Anfragen. 

Least Connections

Anfragen werden an den Server mit den aktuell wenigsten aktiven Verbindungen weitergeleitet. So erhalten weniger stark ausgelastete Server mehr Anfragen als solche mit vielen aktiven Verbindungen. Dies hilft bei einer besseren Verteilung des Workloads, kann aber auch dazu führen, dass weniger performante Server anspruchsvolle Anfragen erhalten, die sie möglicherweise weniger effizient bearbeiten.

Weighted Least Connections

Das Load Balancing erfolgt auf Basis der Gewichtung eines Servers (anhand seiner Kapazität) und der Auslastung eines Servers (anhand der aktiven Verbindungen). So prüft der Load Balancer für jede Anfrage die Verfügbarkeit und Leistung der Server, bevor eine Anfrage an diese weitergeleitet wird. Diese Methode kann sehr effizient sein, setzt aber eine äußerst präzise Einrichtung voraus.

Least Response Time

Der Load Balancer misst die Antwortzeiten der Server im Pool und weist neue Anfragen denen zu, die die kürzesten Antwortzeiten aufweisen. Diese Server werden gleichzeitig stärker gewichtet. Durch fortlaufende Messungen kann sich diese Gewichtung verschieben – etwa bei starker Auslastung des Servers. So werden die Anfragen stets dynamisch zwischen den verfügbaren Servern im Netzwerk verteilt. 

IP-Hash

Die Entscheidung, welcher Server eine Anfrage bearbeitet, basiert auf einem Hash-Wert der IP-Adresse des Clients. Anfragen eines spezifischen Clients werden damit immer vom identischen Server verarbeitet. Dies ist gerade dann von Vorteil, wenn es um die Bereitstellung sitzungsbasierter Anwendungen geht – etwa beim Inhalt von Einkaufskörben in Onlineshops. Eine Variation davon ist der Quell-IP-Hash, wobei allein die Quell-IP des Clients für die Generierung eines Hash-Werts genutzt wird.

Best Practices - Load Balancing erfolgreich einführen

Ein gut konzipiertes Load Balancing kann eine große Bereicherung für die eigene IT-Infrastruktur darstellen. Dennoch gibt es bei Auswahl, Einrichtung und Betrieb eine Reihe von Best Practices, die man für einen erfolgreichen Einsatz beachten sollte.

1) Ermittlung des Bedarfs

Unternehmen sollten im Detail prüfen, wie der aktuelle Sachstand der eigenen IT ist und welche Anforderungen diese perspektivisch erfüllen soll. Wohin will sich das Unternehmen entwickeln – und wie muss die IT-Infrastruktur mitwachsen, um dieses Ziel zu erreichen?

2) Wahl der Technologie

Hardware oder Software – die vorherige Analyse hat entscheidenden Einfluss darauf, welche Load Balancer-Lösung gewählt werden sollte. Für Unternehmen, die besonders flexibel bleiben möchten, lohnt sich ggf. schon von Beginn an die Entscheidung für ein teilweise oder vollständig cloudbasiertes Load Balancing.

3) Richtige Konfiguration

Gerade mit Blick auf die Vielzahl an Algorithmen ist eine fachgerechte Einrichtung der Load Balancer das A und O. Dies umfasst etwa die Gewichtung von Servern anhand ihrer Kapazität und Leistung passend zum jeweiligen Algorithmus – vermeintlich einfache Fehler können an dieser Stelle schlimmstenfalls erhebliche Ineffizienzen verursachen.

4) Redundanz und Failover

Durch die Integration mehrerer (virtueller / physischer) Load Balancer in das System wird ein einzelner Point of Failure vermieden. Auch sollte immer ein Failover(-Cluster) eingerichtet werden, damit beim Ausfall eines Servers – oder des Balancers selbst – Anfragen von einer Backup-Instanz bearbeitet bzw. weitergeleitet werden. Die Wirksamkeit dieser Mechanismen ist bestenfalls regelmäßig über geeignete Stresstests zu validieren.

5) Monitoring und Analyse

Ein konsequentes Monitoring der Anfragen, der Leistung sowie der Auslastung der Server liefert ein gutes Bild davon, ob der Load Balancer wie gewünscht funktioniert. Durch die Kontrolle wichtiger KPIs (Antwortzeit etc.) bleiben Unternehmen immer informiert und können rechtzeitig Maßnahmen ergreifen, wenn es doch einmal Probleme bei der Verteilung des Traffics geben sollte.

Sind Sie der Ansicht, dass das Thema Load Balancing auch für Ihr Unternehmen relevant sein könnte? Die GFOS Cloud & IT-Infrastructures GmbH informiert Sie persönlich und individuell über Ihre Möglichkeiten und die Potenziale, die noch in Ihrer IT schlummern. Kontaktieren Sie uns gerne für eine unverbindliche Beratung.

Rufen Sie uns an

DE: +49 . 201 • 61 30 00

CH: +41 . 41 • 544 66 00

Schreiben Sie uns

Zum Kontaktformular

Zurück zum Seitenanfang