Durch die Virtualisierung von Servern wurden die Techniken der virtuellen Nachbildung von Umgebungen etabliert. Sie ist aber längst nicht mehr auf Server beschränkt, sondern wird auch in anderen Zweigen der IT-Nutzung angeboten und eingesetzt. Dabei hat jede der virtuellen Spielarten eigene Anforderungen, aber auch Einsatzzwecke. Worin diese liegen, wollen wir unter anderem in diesem Beitrag aufzeigen.
Neben der schon traditionellen Virtualisierung von Serversystemen ist heute die virtuelle Nachbildung von Applikationen, Desktops, Clients, der Präsentationsschicht oder auch Speichersystemen möglich. Dabei sind die prinzipiellen Konzepte so neu nicht. Die Nachbildung von physisch nicht realen Systemen durch virtuelle Ebenbilder ist so alt wie die Rechner selbst. In den folgenden Erläuterungen soll daher der Bogen über alle Möglichkeiten der virtuellen Nachbildung gespannt werden. Dies schließt die Servervirtualisierung ein, endet aber nicht bei ihr.
Client-Virtualisierung
Die Client-Virtualisierung ermöglicht die dynamische Bereitstellung von Client-Desktops. Sie ist, was die technische Umsetzung betrifft, der Virtualisierung von Servern ähnlich. Die Client-Virtualisierung zielt allerdings auf den Einsatz für Benutzer-Notebooks. Das System erlaubt den parallelen Betrieb von mehreren Anwendungssystemen auf einem Benutzer-Notebook. Damit lässt sich beispielweise ein Notebook sowohl für den geschäftlichen als auch für den privaten Einsatz verwenden.
Neuester Spross aller Virtualisierungsmodelle ist die Client-Virtualisierung. Durch sie lassen sich die Konzepte von "Bring your own Device" (ByoD) umsetzten. Bei ByoD sollen die Benutzer ihre eigenen Arbeitsgeräte in das Unternehmen mitbringen. Mithilfe der passenden Verwaltungssoftware, beispielweise eben die Client-Virtualisierung, werden diese dann an die jeweiligen unternehmensspezifischen Anforderungen angepasst. Durch die Trennung der Systems in den unternehmensspezifischen und privaten Anteil sind Sicherheitsübergriffe ausgeschlossen oder zumindest erschwert.
Der Client-Hypervisor ermöglicht dabei den Betrieb mehrerer paralleler Clients auf einem einzigen Gerät. Der größte Unterschied zur Servervirtualisierung liegt in den Aspekten der Leistung, der Ausfallsicherheit, der Flexibilität und all der fortgeschrittenen Funktionen, die im Rechenzentrum benötigt werden. Bei der Nachbildung von Servern werden mehrere virtuelle Server in einem Host zusammengefasst. Bei der Client-Virtualisierung hingegen werden mehrere Client-Betriebssysteme gruppiert. Zu den bekanntesten Vertretern der Letztgenannten zählt XenClient von Citrix.
Client-Virtualisierung kurz und bündig:
-
Virtuelle Umgebung für mehrere parallele Betriebssysteme und Anwendungen
-
Vergleichbar mit Multi-Boot-Umgebungen, aber einfacher und bessere Verwaltungsmöglichkeiten
-
Ziel: Ein Notebook kann mit unterschiedlichen Betriebssystemen betrieben werden
-
Anbieter: Citrix XenClient, VMware Workstation, Sun VirtualBox, Microsoft Virtual PC, VMware Player, Parallels Workstation
Desktop-Virtualisierung
Die Virtualisierung von Desktops zielt, wie auch die von Applikationen, auf den Benutzer-Desktop. Dieser läuft vollständig auf einem zentralen Server. Zum Benutzer hin übertragen werden nur die Bildschirmausgaben. Der Unterschied zu Präsentationsvirtualisierung besteht darin, dass der Benutzer einen vollständigen Desktop zugewiesen erhält. Hierbei werden unterschiedliche Modelle angeboten.
Der Standard-Desktop etwa könnte über die Techniken der Präsentationsvirtualisierung abgebildet werden. Individuelle Desktops verlangen aber einen eigenen Rechner auf der Serverseite. Dieser Rechner wiederum kann bei hohem Leistungsbedarf durch einen Blade-Einschub im Rechenzentrum realisiert sein.
Bei weniger leistungshungrigen Umgebungen kann der Desktop wiederum in einer virtuellen Serverumgebung nachgebildet werden. Neben diese Variante der festen Zuordnung des Benutzers zu seinem zentralen Rechner existieren allerdings auch Mischformen. Durch Connection Broker erfolgt dann beim Verbindungsaufbau des Benutzers die Zuweisung eines virtuellen Desktops an den Benutzer. Dieser wiederum wird dann, wenn benötigt, aus einem vorbereiten Pool entnommen oder neu aufgebaut.
Desktop-Virtualisierung kurz und bündig:
-
virtuelle Laufzeitumgebungen für Benutzer-Desktops
-
effizienter, weil zentrale Verwaltung der Benutzer-Desktops
-
unterschiedliche Modelle mit oder ohne Streaming
-
Anbieter: Citrix XenDesktop; VMware View
Servervirtualisierung
Bei der Servervirtualisierung wird ein x86-Rechner weitgehend vollständig virtuell nachgebildet. Im Kontext dieser Emulation wird dann ein weiteres Betriebssystem ausgeführt. Hierbei handelt es sich meist um ein Serverbetriebssystem und die darauf laufenden Programme. Davon hat sich auch der Begriff der Servervirtualisierung abgeleitet, obgleich diese nicht auf einen Server eingeschränkt ist, sondern einen x86-Rechner nachbildet. Die Zielsetzung der Servervirtualisierung liegt in einer besseren Auslastung der physischen Server. Durch die Virtualisierung werden nun mehrere Serversysteme parallel ausgeführt. Somit steigt die Auslastung des physischen Gerätes, des Hosts.
Die virtuellen Gäste beinhalten ihrerseits ein eigenes Betriebssystem und sind voneinander unabhängig. Die Grundlage dafür bildet ein Hypervisor. Er kümmert sich um die Speicher-, Prozess- und IO-Verwaltung, setzt direkt auf der Hardware auf und kontrolliert sie. Auch die virtuelle Nachbildung der Rechner für die Gäste gehört zu seinen Aufgaben. Dies aber kostet Zeit und Rechenressourcen. Um den Einsatz zu optimieren, sind die CPU-Hersteller dazu übergegangen Virtualisierungsfunktionen direkt in die CPUs zu integrieren. Die aktuellen Hypervisoren benötigen allesamt die Unterstützung der Virtualisierung durch die Host-CPU.
Servervirtualisierung kurz und bündig:
-
virtuelle Umgebungen für Serversysteme
-
effizientere Nutzung der Serverhardware
-
höhere Dynamik durch automatisches Deployment von Anwendungen
-
Anbieter: VMware ESX/ESXi; Microsoft Hyper-V, Citrix XenServer; KVM
Applikationsvirtualisierung
Bei der Applikationsvirtualisierung wird, anders als bei der Servervirtualisierung, nicht ein Rechnersystem, sondern die Ausführumgebung für eine Applikation, also eigentlich ein Betriebssystem, virtuell nachgebildet. Die Applikationsvirtualisierung zielt damit in erster Linie auf die Client-Desktops und die dort ausgeführten Anwendungen. Prinzipiell könnte es sich auch um eine Serverapplikation handeln, denn auch hier ist die Abgrenzung weniger eine technische als eine, die durch den Einsatzzweck bestimmt wird. Die Grundlage aufseiten des Benutzers stellt, wie auch heute, ein Windows-Betriebssystem dar. Auf diesem Gerät können Applikationen fest installiert sein. Die virtualisierten Applikationen jedoch kommen immer von einem zentralen Server oder anderen Speicherstellen, auf die das Client-Gerät Zugriff hat. Der Benutzer erhält in der Regel lediglich einen Link auf den zentralen Speicherplatz und die Applikation auf seinem Desktop oder das Startmenü. Wenn er diesen Link aktiviert, so wird die Applikation geladen und ausgeführt. Hierfür hat sich auch der Begriff des Streamings etabliert.
Die Applikationsvirtualisierung hat eine Reihe von Vorteilen. Erstens entfallen all die Schritte, die bei einer festen Installation einer Software auf den Benutzergeräten notwendig sind. Die sind in vereinfachter Darstellung das Schnüren eines Installationspaketes, dessen Verteilung auf die Zielgeräte und der Anstoß der Installation aus diesen Paketen heraus. Zwar werden diese Prozesse durch eine Vielzahl an Client-Management-Suiten unterstützt, aber Aufwand verursachen die Abläufe dennoch. Zweitens treten bei den installierten Applikationen mitunter Inkompatibilitäten auf, die sich derart äußern, dass bestimmte Anwendung sich gegenseitig stören. Die gilt nicht nur für die reine Laufzeit, sondern generell. Sobald ein Applikation einmal installiert wird, kann es passieren, dass just eine andere Anwendung nicht mehr lauffähig ist und umgekehrt.
Der dritte Schwachpunkt der festen Installation von Anwendungen - und damit der dritte Vorteil der Virtualisierung - liegt darin, dass von einer Anwendung, obgleich sie wieder deinstalliert wurde, Reste in der Registry oder im Dateisystem zurückbleiben, die ihrerseits wieder zu Problemen führen können. Vorteile hat die Applikationsvirtualisierung auch im Hinblick auf die Sicherheit der Desktops und dessen Daten. Wie erwähnt, laufen die virtualisierten Applikationen in einer eigenen Betriebssystemumgebung. Dabei werden sowohl die Registry als auch das Dateisystem von Windows nachgebildet. Alle Änderungen, welche die virtualisierte Applikation vornimmt, betreffen ausschließlich diese virtualisierten Umgebung, deren Registry und Dateisystem. Handelt es sich bei der virtualisierten Applikation allerdings um eine zentrale Dateien oder etwa die Inhalte einer zentralen Datenbank, so gilt dies natürlich nicht.
Die Nachteile der Applikationsvirtualisierung bestehen darin, dass sie eine gute Netzwerkanbindung an den zentralen Server, von dem sie die Applikation beziehe, aufweisen müssen. Dies gilt zumindest für den Zeitpunkt des ersten Aufrufs der Applikation, den sie muss ja schlussendlich erst geladen werden.
Um das Laden der Applikation zu optimieren, hat man sich jedoch diverse Techniken einfallen lassen. Durch die Pufferung muss die Applikation somit nur ein einziges Mal über das Netz transferiert werden. Mithilfe der etablierten Client Management Suiten lassen sich die virtualisierten Applikationen auch in größeren Mengen effizient verteilen. Ein weiterer Schwachpunkt kann in der Separierung der Laufzeitumgebung liegen - ein Aspekt, der weiter oben unter den Vorzügen erwähnt wurde. Ein virtualisierte Applikation kann daher keinen Datenaustausch mit anderen Applikationen vornehmen.
Applikationsvirtualisierung kurz und bündig:
-
virtuelle Laufzeitumgebungen für Client-Applikationen
-
einfache Verwaltung der Applikationen, weil traditionelle Softwareinstallationen (Rollouts) entfallen
-
erhöht die Sicherheit der Client-Desktops
-
Anbieter: VMware ThinApp, Microsoft App-V, Altiris SVS Symantec Endpoint Virtualization Suite, Landesk
Präsentationsvirtualisierung
Die Applikationsvirtualisierung ist für den Benutzer-Desktop gedacht. Sie führt damit zu einem ähnlichen Ergebnis wie die Präsentationsvirtualisierung, ist aber gänzlich anders umgesetzt.
Bei der Präsentationsvirtualisierung wird nur die Darstellung der Bildschirminhalte, also die Präsentationsschicht einer Applikation, virtuell nachgebildet. Sie läuft dann getrennt von der Applikationslogik. Das Verfahren orientiert sich an der Aufteilung der Applikation in mehrere Schichten (3 Tier). Heute findet sich die Umsetzung der Präsentationsvirtualisierung vor allem in den Produkten von Citrix und deren XenApps (früher Presentation Server) und Microsoft und ihren Terminal Services wider.
Die Applikationen laufen dabei auf einem zentralen Server, die oftmals in größeren Gruppen einer Farm zusammengeschlossen werden. Dabei teilen sich alle der Farm zugeordneten Benutzer einen gemeinsamen Rechner. Die größten Vorzüge diese Konzeptes liegen im vereinfachten Management: Die Verwaltung der Farm, ihrer Benutzer und Applikationen erfolgt ausschließlich serverseitig, Eingriffe auf dem Client sind, außer dem Einrichtern der Verbindung zur Farm, nicht notwendig.
Die traditionelle Softwareverteilung entfällt beziehungsweise wird zu einer Zuweisung. Damit ist dieses Verfahren unschlagbar in puncto Verwaltung und Zuweisung von Software für die Benutzer. Die Nachteile des Verfahrens liegen darin, dass eine Verbindung zur Farm für die gesamte Nutzungszeit der Applikation zwingend notwendig ist. Anders als bei der Applikationsvirtualisierung, bei der die Applikation ja auf dem Client gepuffert werden kann, muss bei der Präsentationsvirtualisierung das Benutzergerät immer eine Verbindung zum Server aufweisen.
Präsentationsvirtualisierung kurz und bündig:
-
Gruppierung von mehreren Benutzer-Sessions in einer Farm
-
sehr einfache Applikationszuweisung
-
Thin Clients statt "Fat"-PC als Benutzergerät
-
keine individuellen Anwendungen; alle Benutzer der Farm erhalten die gleichen Anwendungen
-
Client-Geräte benötigen Anbindung an das Rechenzentrum
-
Anbieter: Citrix XenApp; Microsoft Terminal Services
Rechenzentrumsvirtualisierung
Bei der Rechenzentrumsvirtualisierung werden nicht nur einzelne Server virtualisiert sondern der gesamte Betrieb des Rechenzentrums; so nähert man sich den Cloud-Modellen an. Im Prinzip werden damit die Techniken der Servervirtualisierung weitergespannt und fortgeschrieben. In der Cloud werden die IT-Ressourcen in Pools gebündelt. Daneben stehen die Applikationsdienste. Wird ein Dienst (eine Anwendung) benötigt, so erhält dieser seine Ressourcen aus dem Pool zugewiesen. Diese Bereitstellung der Applikationen und der zum Lauf benötigten Ressourcen erfolgt dynamisch.
Um den Prozess der Aktivierung und Deaktivierung von Anwendungenb schnell ausführen zu können, werden Skripte und Automatisierungs-Tools eingesetzt. Nicht mehr benötigte Anwendungen lassen sich auf diese Art und Weise auch wieder deaktivieren. Bei den Cloud-Modellen unterscheidet man nach folgenden Varianten: Beim Modell der Private Cloud werden die Ressourcen des eigenen Rechenzentrums genutzt; sie steht in der Regel nur für das eigene Unternehmen zur Verfügung. Bei der Public Cloud werden die Ressourcen im Internet angeboten beziehungsweise von dort genommen. Die hybride Cloud ist eine Mischform aus Private und Public Cloud.
Rechenzentrumsvirtualisierung kurz und bündig:
-
bessere Auslastung des Rechenzentrums
-
höhere Dynamik durch automatisches Deployment der Anwendungen
-
Self-Service-Portale für die Anwender
-
aufwandsgerechte Verrechnung
-
Anbieter: diverse (Amazon, Apple, Google oder Microsoft) von Diensten für Public und Private Cloud