Virtualisierung ist en vogue. Doch so begeistert sich alle auf Virtualisierung stürzen - sie führt auch zu einer rasant anwachsenden Dynamik in der Infrastruktur, die ins Chaos führen kann. Klassische Verwaltungswerkzeuge sind machtlos gegen die Geschwindigkeit, mit der Anwendungen unterschiedliche Ressourcen nutzen. Abhilfe schaffen automatisierte Verwaltungsprozesse, die das Beziehungsgeflecht der Anwendungslandschaft und IT-Infrastruktur steuern.
Ausgangspunkt des Virtualisierungsbooms ist die Forderung an die IT, Geschäftsprozesse optimal zu unterstützen. Zwangsläufig nimmt die Verzahnung zwischen Geschäftsprozessen und IT immer mehr zu - mit der Folge, dass die Verantwortlichen die gleichen Anforderungen hinsichtlich Ausfallsicherheit, Anpassungsfähigkeit und Effizienz, die sie an betriebliche Abläufe richten, auch an die IT stellen. Ganz oben auf der Wunschliste steht die Automation von Geschäftsprozessen. In direktem Zusammenhang folgen Themen wie flexiblere Prozesse, Business Continuity (ununterbrochener Geschäftsbetrieb), IT-Sicherheit und klar definierte Service-Levels für eine objektive Bewertung der Qualität von IT-Leistungen.
Als Lösung für all diese Anforderungen fällt immer häufiger das Schlagwort SOA (serviceorientierte Architektur): Die IT wird in frei konfigurierbare Services aufgeteilt, um betriebliche Prozesse flexibel abbilden zu können. Die Services lassen sich in der Idealvorstellung beliebig kombinieren, sodass eine extrem leistungsfähige, anpassbare und effiziente Infrastruktur entsteht.
Die Vision ist bestechend einfach - und die zugrunde liegende Technik mindestens ebenso komplex. Ohne eine Trennung der physischen Ressourcen von den logischen Prozessen ist diese Architektur kaum denkbar. Und genau hier liegt der Grund für den Siegeszug von Virtualisierung. Denn Virtualisierung vereint IT-Ressourcen zu applikationsunabhängigen Pools. Das altbekannte Prinzip "eine Applikation = ein Server oder eine Serverfarm" wird aufgebrochen. Vielmehr entkoppelt dieser Ansatz die Anwendungsebene von der zugrunde liegenden Server- und Speicherstruktur. Dank dieser Entflechtung sind Geschäftsanwendungen und Daten nicht mehr von bestimmten Servern oder Speichermedien abhängig und können nach Bedarf die notwendigen Rechen-, Netzwerk- und Speicherressourcen nutzen. Sie lassen sich unterbrechungsfrei in der gesamten Infrastruktur verschieben. Die Folge sind hohe Kapazitätsauslastung und bedarfsgerechte Anpassungsfähigkeit.
Was den IT-Architekten und Prozessdesigner begeistert, ist allerdings für denjenigen, der die Infrastruktur managen soll, ein Albtraum. Eine Anwendung, die automatisiert ständig verschiedene Serverressourcen nutzt, ist für ihn nicht kalkulierbar. Wie soll er beispielsweise eine notwendige Abschaltung von Servern für Wartungsarbeiten planen, wenn er nicht weiß, welche Anwendungen gerade auf die betroffenen Rechenkapazitäten zugreifen? Wie kann er abschätzen, welche Geschäftsprozesse vom Ausfall einer Netzwerkkomponente betroffen sind?
Schon in nicht virtualisierten Umgebungen ist es eine Herausforderung, das Beziehungsgeflecht zwischen Prozessen, Anwendungen und der Infrastruktur zu identifizieren. Der Sinn der Übung liegt darin, ein umfassendes Bild der IT-Landschaft zu bekommen: In einer Infrastruktur ohne Virtualisierung dient dies dazu, Fehlerquellen zu identifizieren, Störungen schneller zu beheben und die wirtschaftlichen Folgen eines Ausfalls vorherzusagen, um die Bearbeitung entsprechend zu priorisieren.
In einer virtualisierten Welt erweist sich dies als Grundvoraussetzung jeglichen Handelns. Denn mit der Dynamik der Infrastruktur wandeln sich logischerweise auch ständig das Beziehungsgeflecht und die Abhängigkeiten. Nur wer diese Faktoren zu jedem Zeitpunkt exakt kennt, hat auch die IT-Infrastruktur insgesamt im Griff.
Die Erkennung und Verwaltung von IT-Infrastrukturbestandteilen wird in der ITIL (IT Infrastructure Library) unter den Bereich Configuration-Management gefasst. Dabei sollten die eingesetzten Tools logische Beziehungen über heterogene Strukturen oder Systemgrenzen hinweg erkennen. Die Dokumentation der gesamten Umgebung inklusive ihrer Veränderungen (via Change-Management) und die Darstellung der Anwendungsstruktur sind nicht nur für die Fehlererkennung und schnelle -behebung wichtig (Incident-Management, Root-Cause-Analyse), sondern können auch bei Audits zur Einhaltung gesetzlicher oder unternehmensinterner Regelungen (Compliance-Management) hilfreiche Dienste leisten.
Es gibt eine Reihe von Administrationswerkzeugen, um die Verfügbarkeit und Leistungsfähigkeit einzelner Komponenten sicherzustellen. Doch diese Tools erfassen in der Regel nicht die Logik und das Beziehungsgeflecht von Anwendungen. In der Vergangenheit hat man sich damit beholfen, den Zustand der Anwendungslandschaft manuell zu ermitteln. Doch dieses Vorgehen ist extrem zeitaufwändig und damit für dynamische Landschaften nicht einsetzbar: Die Bestandsaufnahme wäre schon veraltet, sobald sie vorliegt.
Gefragt sind also Lösungen zur automatischen Erkennung verteilter Geschäftsanwendungen, um die dynamischen Beziehungen zwischen Services, Anwendungen und der Infrastruktur sowie die Abhängigkeit vom Netzwerk und den Speicherressourcen zu identifizieren. Damit dies auch in virtualisierten Umgebungen funktioniert, muss es vor allem in Echtzeit erfolgen. Nur so lassen sich die ständigen Veränderungen nachvollziehen.
Natürlich könnte man in alle Komponenten und Anwendungen so genannte Agenten integrieren, die eine zentrale Verwaltungskonsole kontinuierlich über aktuelle Ressourcennutzung, Auslastung, Datenverkehr etc. informieren. Doch dies würde das Netzwerk in erheblichem Maße belasten. Außerdem ist die Fehleranfälligkeit eines solchen Ansatzes hoch. Sinnvoller ist hier ein modellbasierter Ansatz für das Ressourcenmanagement. Hier muss sich nicht jede Komponente über einen Agenten identifizieren, sondern die Lösung erkennt passiv auf Basis des jeweiligen Verhaltensmusters, um was für eine Komponente es sich handelt und in welchem Beziehungsgeflecht sie sich befindet.
Eine zentrale Rolle spielt im Rahmen dieses modellbasierten Ansatzes die CMDB (Configuration Management Database). Sie dient dem Zugriff und der Verwaltung von Configuration Items, also den eigentlichen IT-Komponenten oder Betriebsmitteln. Die CMDB ermöglicht jederzeit eine aktuelle Sicht auf Konfiguration und Abhängigkeiten. Dies gilt auch für Anwendungen, die sich im Rechenzentrumsbetrieb befinden. Über die IP-Header der Datenblöcke einer Anwendung lassen sich so die relevanten Informationen herausfiltern: Um welche Applikation handelt es sich? Wo befindet sie sich gerade? Mit wem kommuniziert sie? Wie intensiv kommuniziert sie?
Mit den erhobenen Daten wird eine topologische Darstellung (eine so genannte Dependency Map) erstellt, aus der sich die Abhängigkeiten zwischen den Anwendungen über alle Stufen ableiten lassen (Application Dependency Mapping, ADM). Diese Informationen werden dem CMDB-Verbund (einer föderierten CMDB) bereitgestellt. Durch eine gezielte Analyse lassen sich Veränderungen im Vorfeld besser planen und virtuelle Umgebungen effizienter pflegen. IT-Verantwortliche können somit noch vor geplanten Änderungen Aussagen darüber treffen, welche Risiken ein solcher Change birgt. Die zusätzliche automatische Kontrolle von Konfigurationsänderungen gegenüber Compliance-Richtlinien sorgt ebenfalls für eine bessere Betriebsstabilität. Weil passive und aktive Komponenten im Netz in Echtzeit erkannt werden, ergibt sich ein dynamisches Bild der gesamten Umgebung.
Wichtig ist in diesem Zusammenhang natürlich, dass eine solche Dependency Map auch über Domänengrenzen und über einzelne Rechenzentren hinaus greift. Dies erfordert offene Abgleichsfunktionen, um Abhängigkeiten über verschiedene Quellen hinweg zu synchronisieren. Anstatt System- und Komponenteninformationen per Hand in ein einziges Repository einzugeben, können so alle Informationen automatisch integriert und aktualisiert werden.
Durch die Skalierbarkeit einer ADM-Lösung über mehrere Rechenzentren hinweg erhalten Unternehmen einen einheitlichen Einblick in die Verteilung ihrer Anwendungen, unabhängig von deren Standort. Nur so bleiben alle Konfigurationsinformationen stets auf dem neuesten Stand. Für einen schnellen Überblick empfiehlt sich eine strukturierte und zentralisierte Aufbereitung der Daten. IT-Administratoren können sich die Beziehungen und Abhängigkeiten von virtuellen Maschinen dynamisch anzeigen lassen und wissen jederzeit, wie sich diese virtuellen Ressourcen aufteilen, um laufende Geschäftsapplikationen zu unterstützen.
Die Transparenz von Applikationen und deren Abhängigkeiten ist eine Grundvoraussetzung, um in virtuellen Umgebungen Prozesse für den Schutz des Datenbestands und die Notfallvorsorge (Disaster Recovery) zu planen. Außerdem erhalten die IT-Verantwortlichen so eine deutlich bessere Kontrolle über ihre virtualisierten Umgebungen: Sie können ungenutzte virtuelle Maschinen automatisiert löschen, IT-Compliance in Vmware-Umgebungen gewährleisten, Best Practices im Betrieb nutzen und regulatorische Vorgaben wie PCI-DSS (Payment Card Industry Data Security Standard) and HIPAA (Health and Insurance Portability and Accountability Act) erfüllen. Denn durch die ständige Überwachung der laufenden Anwendungen und der genutzten Ressourcen lassen sich im Fall von Compliance-Verletzungen automatische Prozesse anstoßen, die den entsprechenden Vorgang entweder unterbrechen oder korrigieren.
ADM erlaubt es, viele Managementprozesse in virtualisierten Umgebungen zu automatisieren. Nur mit einem akkuraten Abbild der IT-Landschaft ist eine Managementlösung in der Lage, Ausfallzeiten zu minimieren, Speicherressourcen optimal einzuteilen, Änderungen risikoarm zu planen und die von Fachabteilungen geforderten Service-Levels einzuhalten. ADM-fähige Ressourcen-Managementsysteme unterstützen Unternehmen, indem sie ständig aktuelle Informationen über die Konfiguration der Infrastruktur liefern, die Elemente innerhalb einer Gesamtkonfiguration zueinander in Beziehung setzen und so bei auftretenden Fehlern Rückschlüsse erlauben. Somit tritt neben Virtualisierung auch die Automation als notwendige Basistechnik für eine SOA - für eine erfolgreiche Synchronisation von Business und IT.