Viele Anwendungen werden heutzutage direkt auf einer Cloudplattform entwickelt oder dorthin migriert, um sie skalierbarer oder ausfallsicherer zu machen. Dabei gilt es, die auftretenden Arbeitslasten so auf die Ressourcen zu verteilen, dass Server und Clouddienste optimal ausgelastet sind. Diese Aufgabe übernimmt ein Loadbalancer. Er ist immer dann nötig, wenn eine Applikation gleichzeitig mehr Anfragen erhält oder mehr Inhalte ausliefern muss, als ein einzelner Server zu leisten imstande ist. Sobald mehrere Server im Einsatz sind, fungiert der Loadbalancer als Gateway für die Applikation, nimmt die Anfragen der Clients entgegen und verteilt sie dann an die einzelnen Rechner der Serverfarm. Die Ergebnisse landen dann wiederum über den Loadbalancer beim Client.
Hauptziel des Loadbalancings ist, die Menge der eingehenden Anfragen so auf die vorhandenen Server zu verteilen, dass einzelne nicht überlastet werden und dem Nutzer möglichst kurze Wartezeiten entstehen. Um eine angemessene Lastverteilung zu garantieren, sind Informationen zur Applikation sowie über die Auslastung der einzelnen Server im Pool nötig.
Daneben gilt es, die Verfügbarkeit des Gesamtsystems zu erhöhen, indem der Loadbalancer regelmäßig die einzelnen Server im Pool auf korrekte Funktion testet (Health Checks). Antwortet ein Server oder die auf ihm installierte Anwendung nicht oder fehlerhaft, so werden diese als defekt markiert und aus der Lastverteilung ausgeschlossen. Dadurch steht zwar nur noch eine geringere Gesamtkapazität zur Verfügung, dafür kann aber das Gesamtsystem trotz defekter Komponenten weiter funktionieren. Dazu muss auch der Loadbalancer selbst hochverfügbar sein.
Ein weiterer Aspekt ist die Absicherung interner IT-Ressourcen. So bieten Loadbalancer zum Teil eigene Sicherheitsfunktionen an oder werden mit Firewalls oder Web Application Firewalls
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.