Note: Dieser Blogpost wurde für das Modul Enterprise IT (113601a) verfasst.
Verfügbarkeit ist ein entscheidender Faktor für Online-Systeme, da Geschäftsprozesse sofort zum Stillstand kommen können, wenn ein System ausfällt. Im E-Commerce ist Verfügbarkeit besonders wichtig, da Kunden sofortigen Zugriff erwarten. Wenn eine Website nicht erreichbar ist, wechseln Nutzer schnell zur Konkurrenz. Ausfälle verursachen nicht nur finanzielle Verluste, sondern schädigen auch den Ruf des Unternehmens.
Was bedeutet High Availability?
Verfügbarkeit ist eine nicht-funktionale Anforderung, die als Prozentsatz der Zeit definiert wird, in der ein System oder Dienst zugänglich ist. Dieser Prozentsatz bestimmt die erlaubte Ausfallzeit innerhalb eines bestimmten Zeitraums. High Availability (HA) ist eine besonders strenge Anforderung und bedeutet eine Verfügbarkeit von mindestens 99,999 % der Zeit. Dies erlaubt nur etwa fünf Minuten Ausfallzeit pro Jahr, einschließlich geplanter und ungeplanter Wartung [1].
High Availability-SLAs in Prozentangaben
Prozent | Jährliche Ausfallzeit |
99,9 | 8Std. 45m 57s |
99,99 | 52m 35.7s |
99,999 | 5m 15.6s |
99,9999 | 31.6s |
99,99999 | 3.2s |
99,999999 | 0.3s |
99,9999999 | 31.6ms |
Figure 1: High Availability [2]
Eine Studie von Compuware und Forrester Research aus dem Jahr 2011 ergab, dass Unternehmen pro Minute eines Mainframe-Ausfalls durchschnittlich 14.000 US-Dollar verlieren. Basierend auf dieser Zahl kann man berechnen, dass ein System mit einer Verfügbarkeit von 99,999 % (fünf Neunen) jährliche Ausfallkosten von etwa 73.500 US-Dollar verursacht. Sinkt die Verfügbarkeit auf 99,99 % (vier Neunen), steigen die Kosten auf 735.000 US-Dollar pro Jahr, und bei 99,9 % (drei Neunen) belaufen sie sich sogar auf 7,3 Millionen US-Dollar. Um von einer Verfügbarkeit von 99,99 % auf 99,999 % zu kommen, dürften die zusätzlichen Investitionen in Hardware, Software und andere Ressourcen nicht mehr als 660.000 US-Dollar pro Jahr betragen. Doch in Anbetracht der hohen Kosten für Mainframe-Hardware reicht dieser Betrag oft nicht aus. Der Schritt von 99,9 % auf 99,99 % ist hingegen einfacher umzusetzen und hat einen größeren wirtschaftlichen Nutzen [6].
High availability vs Disaster Recovery
Hochverfügbare IT-Systeme und -Dienste sind so konzipiert, dass sie während geplanter und ungeplanter Ausfälle zu 99,999 % der Zeit verfügbar sind. Diese sogenannte „Five Nines“-Zuverlässigkeit bedeutet, dass das System praktisch immer in Betrieb ist. Wenn kritische IT-Infrastrukturen ausfallen, aber durch eine hochverfügbare Architektur abgesichert sind, übernimmt das Backup-System oder die Ersatzkomponente. Dadurch können Benutzer und Anwendungen ohne Unterbrechung weiterarbeiten und auf dieselben Daten zugreifen, die vor dem Ausfall verfügbar waren. Disaster Recovery umfasst die Richtlinien, Tools und Verfahren, die IT-Organisationen einführen müssen, um kritische IT-Komponenten und -Dienste nach einer Katastrophe wieder online zu bringen. Ein Beispiel hierfür wäre die Zerstörung eines Rechenzentrums durch ein Naturereignis wie ein starkes Erdbeben. Man kann sich High Availability als eine Strategie zur Bewältigung kleiner, aber kritischer Ausfälle in IT-Infrastrukturkomponenten vorstellen, die sich leicht beheben lassen. Disaster Recovery hingegen ist ein Prozess zur Bewältigung größerer Ereignisse, die ganze IT-Infrastrukturen lahmlegen können [4].
High availability vs Fault tolerance
Fault tolerance zielt auf null Ausfallzeit ab, während High Availability darauf ausgerichtet ist, minimale Ausfallzeiten zu gewährleisten. Im Gegensatz zur High Availability steht die Bereitstellung einer hohen Leistungsqualität bei der Fault tolerance nicht im Vordergrund. Das Ziel eines fehlertoleranten Designs in der IT-Infrastruktur ist es, zu verhindern, dass eine geschäftskritische Anwendung Ausfallzeiten erleidet. Fault tolerance ist eine teurere Methode zur Sicherstellung der Betriebszeit als High Availability, da sie die Sicherung kompletter Hardware- und Softwaresysteme sowie Stromversorgungen umfassen kann. Hochverfügbare Systeme erfordern keine Replikation physischer Komponenten [4].
Die größten Herausforderungen für hochverfügbare Systeme
Verfügbarkeit gilt als eine der größten Herausforderungen im Cloud-Computing, da immer mehr wichtige Dienste in die Cloud verlagert werden. Eine mangelnde Verfügbarkeit könnte die Akzeptanz von Cloud-Computing behindern. Probleme entstehen nicht nur durch einzelne Dienste, sondern auch durch die Interaktionen zwischen verschiedenen Komponenten [1].
Die Komplexität der Redundanz unterschätzen
Ein mangelndes Verständnis für die Komplexität, die mit der Implementierung effektiver Redundanz verbunden ist, kann dazu führen, dass Systeme entweder nicht wirklich redundant sind oder anfällig für gleichzeitige Ausfälle werden. Es ist wichtig, die Redundanz sorgfältig zu planen, die Abhängigkeiten zu verstehen und unabhängige Ausfallmodi sicherzustellen [8].
Zu komplizierte Fehlerübernahme
Ein Fehlerübernahmesystem, das zu komplex oder schwer zu aktivieren ist, kann in einem Notfall dazu führen, dass das System entweder langsam oder gar nicht wieder funktioniert. Das würde den Sinn der High Availability zunichte machen. Fehlerübernahme-Mechanismen sollten deshalb so einfach, zuverlässig und automatisch wie möglich sein, damit sie im Ernstfall schnell greifen [8].
Das Übersehen von nicht-funktionalen Anforderungen
Das Vernachlässigen von nicht-funktionalen Anforderungen wie Sicherheit, Wartbarkeit und Skalierbarkeit in HA-Designs führt zu HA-Systemen, die zwar verfügbar, jedoch ineffizient, unsicher oder nicht skalierbar sein können. Daher sollten, funktionale und nicht-funktionale Anforderungen auszubalanciert sein, sodass die High Availability andere Systemaspekte nicht beeinträchtigt [8].
Fehleinschätzung der Netzwerkzuverlässigkeit
Oft wird davon ausgegangen, dass die Netzwerk-Infrastruktur zuverlässiger funktioniert, als sie es tatsächlich tut. Netzwerkprobleme können jedoch häufig zu Ausfällen führen. Das System sollte so gestaltet werden, dass es gegen Netzwerkstörungen abgesichert ist, indem man mehrere Verbindungswege und Notfalllösungen einplant [8].
Fehlende Kapazitätsplanung
Wenn die Kapazität und die zu erwartenden Lasten bei der Planung von High Availability nicht ausreichend berücksichtigt werden, kann das System bei hoher Nachfrage Schwierigkeiten haben und nicht richtig funktionieren. Daher müssen eine gründliche Kapazitätsplanung und regelmäßige Lasttests durchgeführt werden, um sicherzustellen, dass das System auch unter hohen Belastungen zuverlässig funktioniert [8].
Übermäßige Abhängigkeit von einem einzelnen Standort
Wenn alle High Availability-Ressources an einem einzigen Standort gebündelt werden, können lokale Katastrophen das gesamte System offline nehmen. Um das Risiko lokaler Gefahren zu verringern, sollten die Ressourcen geografisch verteilt werden [8].
Menschliche Faktoren ignorieren
Wenn man die Rolle von menschlichen Fehlern und Arbeitsprozessen bei der Systemverfügbarkeit außer Acht lässt, steigt die Wahrscheinlichkeit von Ausfällen durch betriebliche Fehler. Es ist ratsam, in Schulungen zu investieren, klare und zuverlässige Arbeitsabläufe zu etablieren und Systeme so zu gestalten, dass sie menschliche Fehler berücksichtigen [8].
Unzureichende Überwachung und Alarme
Wenn Systeme nicht ausreichend überwacht werden, können Probleme mit der Leistung des Systems spät erkannt werden. Dies kann dazu führen, dass wichtige Fehler nicht rechtzeitig behoben werden, was die Verfügbarkeit des Systems gefährden könnte. Um Probleme frühzeitig zu erkennen und möglichst shnell darauf reagieren zu können, ist es entscheidend, ein effektives Überwachungs- und Alarmsystem einzurichten [8].
Technologien und Strategien für maximale Verfügbarkeit
Ein zentrales Ziel der High Availability (HA) ist es, Single Points of Failure (SPOF) zu vermeiden. Dadurch wird die betriebliche Kontinuität, Redundanz und eine automatische Fehlerübernahme (Failover) sichergestellt [3].
Die folgenden drei Prinzipien werden bei der Entwicklung von HA-Systemen angewandt, um eine hohe Verfügbarkeit zu gewährleisten [2]:
Single Point of Failure (SPoF): Ein Single Point of Failure ist eine Komponente, bei deren Ausfall das gesamte System ausfallen würde. Wenn ein Unternehmen einen Server hat, auf dem eine Anwendung läuft, ist dieser Server ein Single-Point-of-Failure. Sollte dieser Server ausfallen, ist die Anwendung nicht mehr verfügbar.
Zuverlässiges Crossover: Der Einbau von Redundanz in diese Systeme ist ebenfalls wichtig. Redundanz ermöglicht es, dass eine Backup-Komponente für eine ausgefallene Komponente einspringt. In diesem Fall muss ein zuverlässiges Crossover oder Failover gewährleistet sein, das heißt ein Wechsel von Komponente X zu Komponente Y ohne Datenverlust oder Leistungseinbußen.
Erkennbarkeit von Ausfällen: Ausfälle müssen sichtbar sein, und im Idealfall verfügen die Systeme über eine eingebaute Automatisierung, um den Ausfall selbständig zu beheben. Es sollte auch eingebaute Mechanismen zur Vermeidung von Fehlern mit gemeinsamer Ursache geben, bei denen zwei oder mehr Systeme oder Komponenten gleichzeitig ausfallen, wahrscheinlich aufgrund derselben Ursache.
Load balancing
Viele hochverfügbare Systeme nutzen Load Balancing. Dieser Prozess ermöglicht den Datenverkehr auf mehrere Server zu verteilen, um die Verfügbarkeit von Anwendungen zu optimieren. Ein Beispiel dafür ist eine stark frequentierte Website oder ein Cloud-Dienst, der täglich Millionen von Benutzeranfragen erhält. Load Balancing stellt sicher, dass Anwendungen Inhalte von Webservern schnell und unterbrechungsfrei an die Nutzer liefern können. Durch den Einsatz mehrerer Load Balancer gleichzeitig kann verhindert werden, dass eine einzelne Komponente überlastet wird und somit einen Single Point of Failure darstellt, der zu Ausfallzeiten oder Störungen führen könnte [5].
Statischer Ansatz: Statische Algorithmen verteilen den Datenverkehr gleichmäßig auf alle Server. Ein bekanntes Beispiel dafür ist das Round-Robin-Verfahren, bei dem jede neue Anfrage der Reihe nach an den nächsten Server weitergeleitet wird. Allerdings hat sich gezeigt, dass dieses einfache Verfahren nicht immer optimal funktioniert, da die Last auf den Servern nicht immer optimal verteilt werden kann. Deshalb wurde das gewichtete Round-Robin-Verfahren entwickelt. Hierbei bekommt jeder Server eine Gewichtung basierend auf seiner Leistungsfähigkeit. Leistungsstärkere Server erhalten mehr Anfragen, während schwächere Server weniger belastet werden. Falls alle Server gleich bewertet sind, bleibt die Verteilung der Anfragen trotzdem ausgewogen [7].
Dynamischer Ansatz: Dynamische Algorithmen passen die Verteilung des Datenverkehrs an die aktuelle Serverauslastung an. Sie prüfen, welcher Server am wenigsten belastet ist, und leiten die Anfragen dorthin, um die Last optimal zu verteilen. Dafür ist jedoch eine ständige Kommunikation mit dem Netzwerk nötig, was zusätzlichen Datenverkehr verursacht [7].
Vergleicht man die beiden Methoden, ist das Round-Robin-Verfahren zwar einfach und verteilt die Anfragen gleichmäßig, kann aber zu einer unausgewogenen Auslastung führen. Dynamische Algorithmen sind dagegen flexibler, da sie den Datenverkehr an die aktuelle Serverauslastung anpassen. Allerdings können sie bei hoher Netzwerkauslastung an ihre Grenzen stoßen, da wichtige Abfragen möglicherweise nicht rechtzeitig beantwortet werden. Dies kann wiederum das Netzwerk zusätzlich belasten [7].
High availability clusters
High Availability clusters, sind Gruppen verbundener Maschinen, die zusammen als ein einziges System arbeiten. Wenn eine Maschine in einem Cluster ausfällt, übernimmt eine Cluster-Management-Software deren Workloads und verteilt sie auf eine andere Maschine. Innerhalb eines Hochverfügbarkeitsclusters sorgt ein gemeinsam genutzter Speicher zwischen den einzelnen Knoten (Computern) dafür, dass es bei einem Ausfall eines einzelnen Knotens zu keinem Datenverlust kommt [5].
Vorteile von High Availability
Da immer mehr Unternehmen auf Online-Dienste sowie Cloud- und Hybrid-Cloud-Lösungen angewiesen sind, um wichtige Anwendungen und Dienste bereitzustellen, steigen auch die Anforderungen an die Infrastruktur. Dadurch wird es immer wichtiger, dass Systeme jederzeit zuverlässig verfügbar sind. Hier sind einige der häufigsten Vorteile von hochverfügbaren Systemen für Unternehmen [5]:
Erhöhte Flexibilität
Viele Unternehmen setzen auf die digitale Transformation, um ihre Prozesse zu verbessern. Daher ist es wichtig, dass Systeme immer verfügbar sind, damit Mitarbeiter und Kunden jederzeit problemlos auf wichtige Anwendungen zugreifen können.
Sichere Daten
Bei einer Architektur mit hoher Verfügbarkeit sind die wichtigsten Daten einer Organisation immer verfügbar, leicht zugänglich und vor unberechtigtem Zugriff geschützt.
Verbesserte Markenwahrnehmung
Systemausfälle, die schon nach wenigen Minuten oder Stunden auftreten, können für Unternehmen in vielen Bereichen, wie zum Beispiel SaaS, Luftfahrt oder Mobiltechnologie, große PR-Probleme verursachen. Eine zuverlässige Infrastruktur sorgt dafür, dass die Marke nicht unter Ausfällen oder unerwarteten Stillständen leidet.
Besserer Kundenservice
Managed Service Provider (MSPs) müssen sicherstellen, dass ihre Netzwerke immer zuverlässig funktionieren, um die vereinbarten Servicelevel zu erfüllen. Hochverfügbare Systeme helfen ihnen dabei, stabile Netzwerke bereitzustellen, auf die ihre wichtigsten Kunden angewiesen sind – zum Beispiel Netzwerke, die autonome Fahrzeuge sicher fahren lassen oder Krankenhäuser bei der Verwaltung von Patientendaten unterstützen.
Fazit
Die Anforderungen an die Verfügbarkeit von Systemen und Diensten steigen stetig, insbesondere im Hinblick auf die zunehmende Digitalisierung und den Übergang zu Cloud- und Hybrid-Cloud-Lösungen. High Availability (HA) wird daher nicht nur für große Unternehmen, sondern auch für kleinere und mittlere Unternehmen zu einer entscheidenden Notwendigkeit, um die Kontinuität der Geschäftstätigkeit sicherzustellen und den steigenden Ansprüchen an Verfügbarkeit gerecht zu werden. Technologien wie Load Balancing, HA-Cluster und der Einsatz von Monitoring- und Alarm-Systemen werden in Zukunft noch weiter optimiert und müssen kontinuierlich an neue Anforderungen und Herausforderungen angepasst werden. Die Implementierung von High Availability erfordert eine sorgfältige Planung, die Berücksichtigung von Redundanz, eine effiziente Fehlerübernahme und die richtige Kapazitätsplanung. Wer diese Herausforderungen jedoch meistert, profitiert von einer stabilen und zuverlässigen Infrastruktur, die nicht nur die Betriebsabläufe optimiert, sondern auch das Vertrauen der Kunden stärkt und einen Wettbewerbsvorteil verschafft.
Literaturverzeichnis
[1] Nabi, Mina, Maria Toeroe, and Ferhat Khendek. “Availability in the cloud: State of the art.” Journal of Network and Computer Applications 60 (2016): 54-67.
[2] Sheldon, R., Gillis, A. S., & Lutkevich, B. (2024, September 28). Hochverfügbarkeit (High Availibility, HA). ComputerWeekly.de. https://www.computerweekly.com/de/definition/Hochverfuegbarkeit-High-Availibility
[3] Ahuja, Sanjay P., and Sindhu Mani. “Availability of services in the era of cloud computing.” Network and Communication Technologies 1.1 (2012): 2.
[4] What is high availability? (2023, October 5). Cisco. https://www.cisco.com/c/en/us/solutions/hybrid-work/what-is-high-availability.html#~high-availability-clusters-explained
[5] Flinders, Smalley. (2025b). High availability. https://www.ibm.com/think/topics/high-availability
[6] FireHydrant Team. (2022, october 22). https://firehydrant.com/blog/five-nines-availability/
[7] Chaczko,Mahadevan, Shahrzad Aslanzadeh and Christopher Mcdermid. “Availability and Load Balancing in Cloud Computing”. International Conference on Computer and Software Modeling
IPCSIT vol.14 (2011): 135.
[8] Paradkar, S. (2024, November 19). Crafting Highly Available Systems: Challenges, Anti-Patterns and Pitfalls — Part 2. Medium. https://medium.com/oolooroo/crafting-highly-available-systems-challenges-anti-patterns-and-pitfalls-part-2-bbb4fd51beab
Leave a Reply
You must be logged in to post a comment.