Webserver-Konzepte: Neben der redundanten Auslegung von Serverkomponenten bürgt die Redundanz von Servern für Leistungsfähigkeit und Ausfallsicherheit.
Die normalen PC-Netzbetriebssysteme beinhalten immer einen zentralen Server, der die Kontrolle (etwa für die User-Rechte) über die anderen Server ausübt. Fällt er aus, sind zwar unter einigen Betriebssystemen noch eingeschränkte Funktionen zugänglich, wenn ein so genannter Backup-Domain-Controller installiert ist. Eine echte Redundanz stellen diese Fähigkeiten aber nicht dar. In eingeschränktem Maß gilt dies auch für Unix und selbst für hochkarätige Netzsysteme wie das Distributed Computing Environment (DCE). Hier helfen redundante Server.
Webserver-Konzepte
Die einfachste Realisierung von Rechner-Redundanz scheint die Aufteilung verschiedener Aufgaben auf unterschiedliche Server zu sein. So kann ein System nur für das Datei-Sharing, den gemeinsamen Datei-Zugriff, ein anderes fürs Drucken, ein drittes für die Datenbank zuständig sein. Normalerweise wird die Verteilung unterschiedlicher Funktionen auf mehrere Maschinen im Netz auch für die Performance-Steigerung eingesetzt, beziehungsweise um einen aus allen Nähten platzenden Server zu entlasten. Diese oft eingesetzte Möglichkeit verhindert aber nicht, dass trotzdem eine der Maschinen einen Single Point of Failure, den entscheidenden Schwachpunkt eines Systems, darstellt. Der Ansatz, echte Redundanz der Server herzustellen, konzentriert sich daher auf die Dienstverfügbarkeit als oberstes Kriterium – nicht die Erreichbarkeit des Rechners hat also oberste Priorität, sondern die Dienste und Ressourcen, die den Anwendern zur Verfügung stehen sollen. Welches von mehreren Rechnersystemen diese Anwendung dann tatsächlich bereitstellt, ist nebensächlich – Hauptsache, sie läuft.
Ausfälle von Servern betreffen heute nicht ein paar Mitarbeiter in der Buchhaltung und im Versand, sondern im schlimmsten Fall stehen pro Minute Tausende von Websurfern vor einer nicht erreichbaren Website – die Verfügbarkeit bestimmter Dienste wird damit fast genauso wichtig wie die Zuverlässigkeit der zentralen Datenbank eines Geldinstituts.
Nicht nur die Verfügbarkeit ist für den Erfolg eines Internet-Angebots entscheidend. Vielfach wird der Aspekt Performance übersehen. Kein Anwender akzeptiert auf Dauer lange Wartezeiten. Unternehmen, die Kunden langfristig an sich binden wollen, sind gut beraten, neben der ständigen Verfügbarkeit auch die Performance ihrer Dienste zu gewährleisten. Die Bereitstellung eines zweiten Servers, der nur beim Ausfall des laufenden Systems zum Einsatz kommt, ist längst nicht mehr Stand der Technik. Eine solche „Cold-Standby“-Lösung kann weder den unterbrechungsfreien Betrieb gewährleisten noch zur Skalierbarkeit des Gesamtsystems beitragen. Durch die Verteilung der Last auf mehrere Rechner erreicht man neben erhöhter Ausfallsicherheit auch verbesserte Antwortzeiten. Doch neben den eigentlichen Servern muss man auch die übrige Infrastruktur entsprechend planen.
Übersicht Webserver-Konzepte: Server-Farm, Load Balancing, Clustering, redundantes Netzwerkdesign
- E-Commerce benötigt
- permanente Verfügbarkeit der Infrastruktur
- hohe Performance (keine Wartezeiten)
- Server Farm und Load Balancing für einfache Serverdienste, deren Daten sich nur selten ändern.
- Clustering für Datenbestände, die sich häufig ändern (z.B. für Online-Shop mit Datenbankanbindung).
Server-Farm: besteht aus zwei oder mehreren Servern, die die gleiche Dienste-Art zur Verfügung stellen und mit gespiegelten Datenbeständen arbeiten. Jeder Server ist für eine besondere Aufgabe zuständig.
- Server sollten in unterschiedlichen Räumen sein (Brandfall etc.)
- Macht nur dann Sinn, wenn die Benutzeranfragen auf die einzelnen Server verteilt werden:
Load Balancing (Lastenausgleich): Fällt ein Server aus oder ist er überlastet, leitet der Load-Balancer Anfragen auf einen verfügbaren Server in der Server-Farm weiter.
- Round-Robin: verteilt Anfragen der Reihe nach auf die einzelnen Server. Nachteil: Ausfall eines Server und Auslastung bleiben unberücksichtigt.
- Hardware: skalierbarer, performanter und mit mehr Funktionen als SW-Lösungen; dedizierte Geräte (Router, Bridges) mit einem Unix-Derivat als Betriebssystem oder in bestehende Netzwerkkomponenten wie Switches integriert.
- Software: bessere Umsetzung des Lastenausgleichs. Rüstet einen herkömmlichen Unix/Linux-Rechner zum Load-Balancer auf oder läuft direkt auf den betroffenen Servern (z.B. Network Load Balancing (NLB))
Clustering: Mehrere Rechner teilen sich eine Aufgabe.
- Alle Systeme arbeiten auf einem gemeinsamen, externen Datenbestand.
- Dieser jedoch wird nicht durch einen Hochleistungsrechner bedient, sondern durch die Vernetzung von vielen Rechnern.
- Der Cluster zur Absicherung von Datenbanken besteht dabei aus zwei oder mehr Servern mit der gleich Soft- und Hardware. Fällt einer aus, übernimmt der andere den Status und die Datenbestände des ausgefallenen Servers.
- Datenbestand liegt in der Regel auf einem externen RAID-Plattensystem.
Redundantes Netzwerkdesign: Hochverfügbarkeit durch Redundanz aller Komponenten, nicht nur der Server, zum Beispiel auch redundante Router, Switches etc.