Von den Branchenriesen lernen
Hochverfügbarkeit richtig umsetzen
Business Process Monitoring als Effektivitätskontrolle
Die verwendete Software auf technische Fehler zu prüfen, ist damit einfacher - doch erfüllt sie auch ihr Ziel? Hier hilft Business Process Monitoring. Business Process Monitoring ist ein weites Feld, doch gilt in jedem Fall: die gewonnene Erkenntnis ist abhängig von der Menge an Zeit und Geld, die man bereit ist, zu investieren. Je nach vorhandenem Budget lassen sich Metriken auswählen, die für das jeweilige Unternehmen Sinn machen.
Bei Webportalen ist dieses Monitoring von zentraler Bedeutung. Die Klicks der Nutzer müssen verfolgt werden, weil die Unternehmen davon leben, dass die Werbung gesehen und angeklickt wird. Eine Vielzahl kleiner Business-Prozesse sammelt diese Informationen. Startups aus dem Silicon Valley überwachen jede mögliche Metrik rund um die Uhr. Auch Netflix oder Google registrieren jede Interaktion, die Fahrt des Mauszeigers, Pausen, Klicks - all das sind Events, die für Millionen User gespeichert und ausgewertet werden.
Dieser Umfang von Monitoring macht nicht für jedes Unternehmen Sinn. Wichtig ist, dass man sich einen Überblick verschafft. Denn jede IT-Abteilung wird empfindlich gelähmt, wenn sie keine Informationen über ihr eigenes System erhält. Hat ein Unternehmen sich ein Bild der Lage gemacht, geht es daran, passende Konzepte auszuwählen, um den richtigen Weg zur Hochverfügbarkeit zu finden.
Was bedeutet Verfügbarkeit? Hier eine Auflistung, die zeigt, welche Zeiträume dieser Begriff bei einem 24/7-Betrieb umfasst (mit Werten von Wikipedia).
Die Uptime eines IT-Systems ist ein wichtiger Faktor, wenn über Verfügbarkeit geredet wird: Sie wird immer ab dem letzten Systemstart berechnet und im System angezeigt.
Der grundlegende Aufbau eines Failover-Clusters ist relativ einfach: Wichtig ist dabei der "Heartbeat", der es den Systemen ermöglicht, den Zustand des anderen Servers zu überwachen (Quelle: Stratus).
Failover-Cluster fest eingebaut: Beim Windows Server 2012R können Administratoren diese Funktionalität direkt über den Server Manager einrichten und betreuen.
Hilfe bei der Einrichtung: War es vor dem Windows Server 2008 noch kompliziert und aufwändig, einen Failover-Cluster zu konfigurieren, so bekommen Administratoren nun auch beim Windows Server 2012 sehr viele Hilfen an die Hand.
Erfolgreich erstellt: Mit Hilfe des Assistenten wurden zwei Windows Server 2012R2 als Failover-Cluster konfiguriert.
Eine Softwarelösung, die mit Hilfe von virtuellen Maschinen Hochverfügbarkeit anbieten kann: Double-Take von Vision Solution hier noch in der Version 6.
Eine weitere Software-gestützte Lösung, die dem Nutzer eine Hochverfügbarkeit zur Verfügung stellt und auch mit virtuellen Maschinen zusammenarbeitet: everRun der Firma Stratus.
Stratus OneView: Mit Hilfe dieser Lösung ist es auch möglich, die eigenen Anwendungen und Systeme mit Disaster Recovery-Fähigkeiten auszustatten.
Auswahl der passenden Konzepte
Server zu provisionieren ist Alltag in einer IT-Abteilung. Gerade bei der größten Routine passieren Unachtsamkeiten - etwa fehlerhafte manuelle Änderungen oder vergessene Versionsangleichungen. Eine automatische Provisionierung spart daher nicht nur enorm Zeit, sondern vermindert auch Fehler. Puppet-Manifeste oder Chef-Rezepte sorgen beispielsweise dafür, dass die gleiche Serverkonfiguration hunderte Male kopiert werden kann, um Server per Knopfdruck einzurichten.
Viele Unternehmen haben diese Prozesse bereits integriert, so dass sich die nächste Stufe erreichen lässt: die Autoskalierung unterstützt dabei, automatisiert Ressourcen bereitzustellen und dabei besonderen Fokus auf eine kurze Reaktionszeit zu legen.
Soll die Verfügbarkeit der Datenbanken gesteigert werden, so hat dies unmittelbare Auswirkungen auf die Datensicherung. Ein Backup auf Band ist dafür nicht mehr zeitgemäß; es empfiehlt sich vielmehr, zwei Rechner als Master und Slave aufzusetzen. Im normalen Fall einer niedrigen bis durchschnittlichen Last wird hierfür eine Datenbank als Instanz eingesetzt. Nimmt die Auslastung der Datenbank zu, lassen sich Datenbank-Slaves hinzufügen, die den aktuellen Stand der Datenbank vom Master replizieren. Slaves decken dann die Lesefunktion ab, Schreibzugriffe werden über den Master abgewickelt.
Ein solches Setup ermöglicht es, Load Balancing auf dem Datenbank-Cluster zu implementieren. Dies erfordert allerdings eine erhöhte Ausfallsicherheit, da der Datenbank-Master zu einem Single Point of Failure wird. Statt des relativ komplexen Slave-Promoting empfiehlt es sich, einen zweiten Master im Hot-Standby-Modus hinzuzufügen. Zwar werden auch beim zweiten Master Änderungen repliziert, jedoch wird dieser erst aktiv, wenn der erste ausfällt.
Um die Last generell zu reduzieren, sind Caches wie EhCache oder Suchindexe wie Solr und ElasticSearch geeignete Komponenten. Bereits berechnete Ergebnisse können in Applikations-Caches oder Key Value Stores abgelegt werden. Diese Cache-Einträge können über den Cluster repliziert werden und stehen somit auch anderen Nodes zur Verfügung. Volltext-Suchindizes wie Solr oder ElasticSearch sollten eingesetzt werden, um die Datenbank bei Suchabfragen zu entlasten.