Ladebild

Was ist Hochverfügbarkeit?

Hochverfügbarkeit ist das architektonische Prinzip, Systeme so zu gestalten, dass sie trotz des Ausfalls einzelner Komponenten durch Redundanz, automatische Ausfallsicherung und Fehlerisolierung betriebsbereit und erreichbar bleiben.

Anstatt davon auszugehen, dass alle Komponenten jederzeit einwandfrei funktionieren, berücksichtigen Hochverfügbarkeitsarchitekturen ausdrücklich den Ausfall von Komponenten und sind so konzipiert, dass der Betrieb auch dann weiterläuft, wenn einzelne Elemente ausfallen. Ein Server kann ausfallen, ein Netzwerk-Switch kann eine Fehlfunktion aufweisen, ein Speichercontroller kann nicht mehr reagieren – doch das System als Ganzes versorgt die Nutzer ohne Unterbrechung weiter. Für Unternehmen hat sich Hochverfügbarkeit von einem wünschenswerten Merkmal zu einer grundlegenden Anforderung entwickelt – die meisten geschäftskritischen Systeme vertragen nicht einmal kurze Ausfälle.

Warum Hochverfügbarkeit für den Unternehmensbetrieb wichtig ist

Die geschäftlichen Auswirkungen von Systemausfällen haben dramatisch zugenommen, da Unternehmen zunehmend von digitaler Infrastruktur abhängig sind. Jede Ausfallstunde bedeutet mittlerweile Umsatzverluste in Höhe von Tausenden oder Millionen von Dollar, beeinträchtigte Kundenbeziehungen und Betriebsstörungen. Der Druck auf IT-Abteilungen, eine nahezu lückenlose Verfügbarkeit aufrechtzuerhalten, war noch nie so hoch wie heute. Hochverfügbarkeitsarchitekturen begegnen diesem Druck direkt, indem sie durch Komponentenausfälle verursachte Dienstunterbrechungen reduzieren oder ganz verhindern.

Hochverfügbarkeit senkt zudem die Gesamtbetriebskosten kritischer Systeme. Zwar steigen durch die Implementierung von Redundanz die Infrastrukturkosten im Vergleich zu Systemen mit nur einer Instanz, doch übersteigen die Kosten für Ausfallzeiten oft bei weitem die Kosten für Redundanz. Eine Stunde Ausfallzeit bei einem umsatzgenerierenden System kann mehr kosten als jahrelange Investitionen in redundante Infrastruktur. Diese wirtschaftliche Realität hat dazu geführt, dass Hochverfügbarkeit in den meisten Unternehmen zu einer Standardanforderung für Produktionssysteme geworden ist.

Der Zusammenhang zwischen Hochverfügbarkeit und Notfallwiederherstellung wird oft missverstanden. Zwar zielen beide darauf ab, Systeme betriebsbereit zu halten, doch befassen sie sich mit unterschiedlichen Ausfallszenarien. Hochverfügbarkeit konzentriert sich auf das schnelle Failover bei Ausfällen einzelner Komponenten an einem Standort – ein Server fällt aus und der Datenverkehr wird automatisch auf einen anderen Server umgeleitet. Disaster Recovery befasst sich mit umfassenderen Ausfällen – ein gesamtes Rechenzentrum fällt aus und der Betrieb wird an einen Wiederherstellungsstandort verlagert. Die meisten Unternehmen setzen beide Ansätze ein, um eine mehrschichtige Ausfallsicherheit zu gewährleisten.

So funktionieren Hochverfügbarkeitsarchitekturen

Hochverfügbarkeit beinhaltet in der Regel Redundanz auf mehreren Ebenen. Anstelle eines einzelnen Servers werden mehrere Server bereitgestellt, auf denen dieselbe Anwendung läuft, wobei ein Load Balancer den Datenverkehr auf die funktionsfähigen Server verteilt. Fällt ein Server aus, leitet der Load Balancer den Datenverkehr automatisch nicht mehr an diesen Server weiter, und die Benutzeranfragen werden weiterhin von den verbleibenden Servern bearbeitet. Diese Architektur ist einfach und effektiv, um die Redundanz auf Anwendungsebene zu skalieren.

Ebenso wichtig ist die Speicherredundanz. Hochverfügbarkeitsarchitekturen dürfen keinen Ausfall eines einzelnen Speichersystems zulassen, der zu Datenverlust oder längerer Nichtverfügbarkeit führen könnte. Dies wird in der Regel durch RAID-Konfigurationen (Redundant Array of Independent Disks) gewährleistet, bei denen mehrere Laufwerke für Redundanz sorgen, sodass der Ausfall eines einzelnen Laufwerks weder Datenverlust noch Betriebsunterbrechungen verursacht. Einige Systeme setzen auf eine übergeordnete Replikation, bei der ganze Speichersysteme gespiegelt werden.

Durch Netzwerkredundanz werden einzelne Fehlerquellen in der Netzwerkkonnektivität beseitigt. Anstatt einen Server über eine einzige Netzwerkschnittstelle mit dem Netzwerk zu verbinden, verfügen die Systeme über mehrere Schnittstellen, die mit mehreren Netzwerk-Switches verbunden sind. Fällt eine Schnittstelle oder ein Switch aus, fließt der Datenverkehr über die verbleibenden Pfade weiter. Redundanz auf Netzwerkebene ist für eine hohe Verfügbarkeit von grundlegender Bedeutung, wird jedoch von Anwendungsteams, die sich auf Rechenleistung und Speicher konzentrieren, oft übersehen.

Automatische Failover-Mechanismen sind für die Hochverfügbarkeit von zentraler Bedeutung. Systeme müssen Ausfälle von Komponenten schnell erkennen und den Datenverkehr sowie die Arbeitslasten automatisch auf funktionsfähige Komponenten umleiten. Diese Erkennung und das Failover müssen ohne manuelles Eingreifen erfolgen – wenn IT-Mitarbeiter Ausfälle manuell erkennen und eingreifen müssen, liegt keine echte Hochverfügbarkeit vor. Mechanismen zur Zustandsüberprüfung stellen kontinuierlich sicher, dass die Komponenten ansprechbar und funktionsfähig sind, und lösen ein automatisches Failover aus, wenn dies nicht der Fall ist.

Wichtige Überlegungen zur Implementierung von Hochverfügbarkeit

Um effektive Hochverfügbarkeitsarchitekturen zu entwerfen, müssen kritische Pfade und einzelne Ausfallpunkte identifiziert und anschließend durch Redundanz beseitigt werden. Nicht jede Komponente erfordert denselben Grad an Redundanz. Ein nicht kritischer Protokollierungsdienst benötigt möglicherweise nur minimale Redundanz, während Ihre Primärdatenbank maximale Redundanz erfordert. Unternehmen sollten Investitionen in Redundanz entsprechend der Kritikalität priorisieren.

Hochverfügbarkeitstests sind unerlässlich. Oft stellen Administratoren bei der praktischen Überprüfung von Failover-Szenarien fest, dass die Systeme nicht wie erwartet auf den Ausfall reagieren. Möglicherweise sind die Netzwerkkonfigurationen unvollständig, die Failover-Verfahren funktionieren nicht korrekt oder das Anwendungsdesign verhindert ein reibungsloses Failover. Regelmäßige Tests, einschließlich gezielter Fehlerinduzierung, bei der Teams Komponenten absichtlich außer Betrieb setzen, um das Failover zu prüfen, tragen dazu bei, sicherzustellen, dass Hochverfügbarkeitsarchitekturen tatsächlich funktionieren.

Investitionsentscheidungen im Bereich Hochverfügbarkeit sollten auf einer Kosten-Nutzen-Analyse basieren. Eine Verfügbarkeit von 99,999 % (etwa 26 Sekunden Ausfallzeit pro Jahr) ist exponentiell teurer zu erreichen als eine Verfügbarkeit von 99,99 % (etwa 52 Minuten Ausfallzeit pro Jahr). Unternehmen sollten ermitteln, welche Verfügbarkeitsstufen ihr Geschäft tatsächlich erfordert, und diese anstreben, anstatt übertriebene Maßnahmen zu ergreifen, die zu unnötigen Kosten führen.

Die Verwaltung von Sitzungszuständen ist eine häufige Herausforderung in Hochverfügbarkeitsarchitekturen. Wenn ein Benutzer mit einem Server verbunden ist und dieser Server ausfällt, wo befindet sich dann der Sitzungszustand des Benutzers? Anwendungen müssen den Sitzungszustand entweder an einem gemeinsamen Speicherort ablegen, auf den von jedem Server aus zugegriffen werden kann, den Zustand auf andere Server replizieren oder akzeptieren, dass Benutzer ihre Sitzung verlieren, wenn ein Server ausfällt. Ein zustandsloses Anwendungsdesign erleichtert oft die Erreichung von Hochverfügbarkeit.

Fortgeschrittene Konzepte zur Hochverfügbarkeit

Einige Unternehmen realisieren geografische Hochverfügbarkeit durch Aktiv-Aktiv-Disaster-Recovery-Architekturen , bei denen sich die Redundanz über mehrere Standorte erstreckt. Herkömmliche Hochverfügbarkeitslösungen arbeiten in der Regel innerhalb eines einzelnen Rechenzentrums, während geografische Redundanzkonzepte Ausfälle des gesamten Standorts abdecken.

Es ist wichtig, den Zusammenhang zwischen Hochverfügbarkeit und Lastenausgleich zu verstehen. Lastenausgleichsserver spielen in Hochverfügbarkeitsarchitekturen eine entscheidende Rolle, indem sie den Datenverkehr auf mehrere Server verteilen und ausgefallene Komponenten erkennen. Die Platzierung und Redundanz der Lastenausgleichsserver selbst sind von entscheidender Bedeutung – ein einzelner Lastenausgleichsserver darf nicht als alleiniger Ausfallpunkt dienen.

Das Verständnis der Mean Time to Recover hilft Unternehmen dabei, ihre Hochverfügbarkeitslösungen zu optimieren. Anstatt die Wiederherstellungszeit zu minimieren – die bei automatischem Failover gar nicht gemessen wird –, sollten sich Unternehmen darauf konzentrieren, die Auswirkungen auf die Leistung bei Komponentenausfällen zu minimieren.

 

Weiterführende Literatur