Was ist Hochverfügbarkeit

Was ist Hochverfügbarkeit

Sicher hat der eine oder anderen Entwickler oder Systemadministrator bereits das Wort “Hochverfügbarkeit” gehört, oder wie es auf Englisch heißt: High Availability (HA). Das Wort “Hochverfügbarkeit” bezieht sich auf Systeme, die langlebig sind und bestmöglich über einen langen Zeitraum hinweg ohne Ausfall arbeiten sollen.

Bei der Analyse der Hochverfügbarkeit eines Systems wird häufig nach dem schwächsten Glied gesucht, sei es ein bestimmtes Stück Hardware oder ein Element des Systems, z. B. die Datenspeicherung. Um eine langlebigere Datenspeicherung zu ermöglichen, können Entwickler, die eine hohe Verfügbarkeit anstreben, zum Beispiel ein RAID verwenden. Server können auch so eingerichtet werden, dass sie bei Bedarf die Zuständigkeiten auf einen entfernten Server verlagert, der als Failover bezeichnet wird.

Obwohl ein gutes Infrastruktur-Design ein wichtiger Faktor für die Hochverfügbarkeit ist, ist es auch wichtig, dass jedes Stück Hardware auf seine Haltbarkeit hin überprüft wird. Hier sind spezifische Metriken von Anbietern hilfreich, um genau zu bestimmen, wie lange ein Stück Hardware in einem bestimmten System voraussichtlich funktionieren wird. Hier werden Metriken wie die mittlere Zeit zwischen zwei Ausfällen (MTBF) für Entwickler nützlich.

100%ige Verfügbarkeit?

Immer häufiger werben Anbieter mit der Bezeichnung “100%ige Verfügbarkeit” oder “99,999% Verfügbarkeit” für ihre Systeme. Dabei kann man sich darauf beziehen, dass die Systeme “nie ausfallend” gemessen werden oder “100% betriebsbereit” sind.

In der Informationstechnologie (IT) hat sich inzwischen der Verfügbarkeitstandard von 99,999% für Systeme oder Produkte verbreitet, die sogenannten “Fünf Neunen”. Ebenfalls werben beispielsweise bei Cloud-Hosting Anbietern auch immer häufiger 11 Neunen, also 99,999999999%[1] verwendet, um eine (fast) unterbrechungsfreie Leistung zu bieten / suggerieren.

Ab wann ist etwas hochverfügbar?

Die Bezeichnung “Hochverfügbarkeit” ist nicht an bestimmte Werte gebunden, weshalb auch 97%,78% oder nur 99% als Hochverfügbar verstanden werden können. Damit etwas aber Hochverfügbar sein kann, muss es jedoch zuvor lange und gründlich auf “Herz und Niere” getestet werden. Da Computersysteme und große Netzwerke meist aus vielen einzelnen Systemen und Komponenten besteht, ist ein Konzept für die Tests erforderlich.
So benötigt man Pläne für die Hochverfügbarkeit für Backup- und Failover-Verarbeitung sowie Datenspeicherung und -zugriff.

Messung der Verfügbarkeit

Es gibt keine offizielle Formel zur Messung der Verfügbarkeit, jedoch hat sich folgende Formel inzwischen als Standard durchgesetzt:
Verfügbarkeit = ( (Gesamtanzahl – Ausfallzeit ) / Gesamtanzahl) * 100 )

Beispiel: Der Monat hat 43.200 Minuten, davon gab es 5 Minuten Downtime des Servers

( (43.200 – 5) / 43.200 ) * 100 = 99,988425925% = 99,988% Verfügbarkeit im Monat

Wie man eine hohe Verfügbarkeit erreicht

Ein hochverfügbares System sollte in der Lage sein, sich schnell von jeder Art von Fehlerzustand zu erholen, um die Unterbrechung für den Endbenutzer zu minimieren. Techniken dafür sind z.B folgende:

  • Beseitigung von SPOF’s (Single Point of Failure), also einzelnen Komponenten, die bei Ausfall gleich das gesamte System lahmlegen
  • Redundanzen aufbauen, sowohl in Software als auch in Hardware
  • Einfache Wiederherstellungsmöglichkeit für einzelne Komponenten oder ganze Systeme
  • LoadBalancing Software, die per Software oder Hardware den Zugriff/Traffic verteilt
  • Kontinuierliche Überwachung von LiveSystemen, als auch Backupsystemen
  • Entwicklung von HA-Systemen, die extra für den Fehlerfreien- / Dauerbetrieb entwickelt werden

Es gibt mehrere Komponenten die bei der Umsetzung von Hochverfügbarkeit beachtet werden müssen. Viel wichtig als nur die richtige Softwarekonfiguration und Implementierung sind Faktoren wie:

  • Netzwerk: Ungeplante Netzwerkausfälle stellen einen weiteren möglichen Fehlerpunkt für hochverfügbare Systeme dar. Es ist wichtig, dass eine redundante Netzwerkstrategie für mögliche Ausfälle vorhanden ist.
  • Festplatten & Datenverarbeitung: Hochverfügbare Server sollten widerstandsfähig gegenüber Stromausfällen und Hardwarefehlern sein, einschließlich Festplatten und Netzwerkschnittstellen. Datenverlust und -inkonsistenz können durch verschiedene Faktoren verursacht werden und sind nicht auf Festplattenausfälle beschränkt. Hochverfügbare Systeme müssen die Sicherheit der Daten im Falle eines Ausfalls berücksichtigen.
  • Region: Alle Systeme und Server an einem Ort oder einem Rechenzentrum zu haben, kann bei regionalen Netz- oder Stromausfällen fatal sein. Die Systeme in verschiedenen Rechenzentren redundant aufzubauen ist daher ein gute Strategie.

Wann ist Hochverfügbarkeit wichtig?

Bei der Entwicklung und Einrichtung von robusten Produktionssystemen hat die Minimierung bzw. Terminierung von Ausfall- und Unterbrechungszeiten eine sehr hohe Priorität. Unabhängig davon, wie zuverlässig die Systeme und Software sind, können Probleme auftreten, die die Anwendungen oder den Server zum Absturz/Ausfall bringen.

Die Implementierung von Hochverfügbarkeit für die Infrastruktur ist eine nützliche Strategie, um die Auswirkungen dieser Art von Ereignissen zu reduzieren. Hochverfügbare Systeme können sich nach einem Server- oder Komponentenausfall automatisch wiederherstellen.

Welche Software kann ich zur HA verwenden?

Jede einzelne Systemkomponenten benötigt eigene Pläne um eine Ausfallsicherheit zu bieten. Auf jeder Anwendungsebene jedoch auf LoadBalancer zu setzen, ist eine wichtiger Bestanteil jeder HA-Strategie und ein hochverfügbares Setup zu haben.

Zum Loadbalancing empfehlen wir Software wie: HAProxy
HaProxy kann sein Lastenverteilsystem für verschiedene Layer zur Verfügung stellen und unterstützt verschiedene Server und Anwendungsarten, als auch Datenbanken.

Schlusswort

Seine Systeme und die Infrastruktur hochverfügbar aufzubauen und für alle Fälle Ersatzsysteme zu besitzen, auf welche man zurückgreifen kann, ist für jede wachsende Infrastruktur in Produktionssystem essentiell wichtig. Man muss sich immer überlegen, was höhere Kosten verursacht, ein mehrstündiger Ausfall oder die doppelten Systeme bzw. die Einrichtung dieser. Zumal die Einrichtung meist nur einmal komplett gemacht werden kann und bei einem guten Konzept auch einfach erweitert werden kann.

Wie DevStorage® seine Systeme redundant und Hochverfügbar konzipiert und aufsetzt, kommt in einem der folgenden Artikel.

Autor: Thomas Michaelis

Verweise:
  • [1] https://aws.amazon.com/de/s3/storage-classes/

administrator