Was ist Applikationsvirtualisierung?
Übersicht
Das wesentliche Ziel von Applikationsvirtualisierung besteht darin, Anwendungen von ihrer Umgebung zu isolieren, so dass Konflikte mit anderen Programmen oder dem Betriebssystem vermieden werden. Dadurch soll sich das Systemmanagement vereinfachen und die Sicherheit verbessern.
Der Unterschied zur Desktop- und Server-Virtualisierung besteht darin, dass nicht die Hardware virtualisiert wird, sondern dass nur eine Abstraktionsschicht zwischen einzelnen Anwendungen und das Betriebssystem eingezogen werden. Im Gegensatz zum klassischen Desktop entfällt die Installation von Programmen.
Verfahren
Bei allen Lösungen läuft die Anwendung in einer vom Betriebssystem abgeschotteten Umgebung. Sie regelt den Zugriff auf externe Objekte und gaukelt der Software Systemressourcen wie die Registrierdatenbank oder das Dateisystem vor. Versucht die Applikation etwa in ein gesperrtes Verzeichnis zu schreiben, wird der Zugriff entweder blockiert oder für die Anwendung transparent in die virtuelle Umgebung umgelenkt. Physisch befindet sich die virtuelle Anwendung in einem Verzeichnis, das sich meist in der Konfiguration einstellen lässt. Wird die Virtualisierungsschicht deaktiviert, verschwindet die darin ablaufende Anwendung und alle von ihr vermeintlich am System vorgenommen Änderungen.
Der Grad der Virtualisierung ist bei den verschiedenen Lösungen unterschiedlich. Bei einigen Produkten ist es möglich, das Ausmaß der Isolierung festzulegen. Beispielsweise lässt sich häufig festlegen, welche Verzeichnisse von der Virtualisierung ausgenommen sind. So kann man etwa das Benutzerverzeichnis für den Schreibzugriff freizugeben, damit der Anwender Dateien auf seinem PC speichern kann.
Softwareverteilung
Ein Anliegen aller Lösungen ist es, auf die fehleranfällige und aufwändige Installation von Anwendungen auf dem Desktop-PC zu verzichten. Da die virtuelle Umgebung schon alles mitbringt, was zur Ausführung der Anwendung notwendig ist, ist ihr Aufruf von einem Netzwerklaufwerk oder auch über das Web möglich. In Zusammenspiel mit einer Client-Management-Lösung vereinfacht sich der Software-Verteilungsprozess erheblich, weil die Applikation lediglich auf den Arbeitsplatz-Rechner kopiert, aber nicht installiert werden muss.

Die Streaming-Komponente von Symantec Altiris SVS Professional lässt sich zentral administrieren.
Ein Großteil der Produkte unterstützt darüber hinaus das Streaming von Anwendungen. Dazu gehören unter anderem Citrix XenApp Application Streaming, Endeavors Technologies Application Jukebox, Microsoft App-V und Symantec Altiris SVS Professional. Dabei wird zunächst nur der Anteil der Applikation auf den Desktop geladen, der zum Start notwendig ist. Ruft der Anwender Funktionen auf, deren Programmteile sich noch nicht auf dem Desktop befinden, werden die entsprechenden Programmblöcke nachgeladen und in der Regel im Cache abgelegt. Um den Offline-Betrieb zu ermöglichen, ist bei einigen Lösungen auch das Herunterladen der gesamten Anwendung vorgesehen. Unterschiede gibt es bei den unterstützten Protokollen, üblich sind HTTP, HTTPS, SMB und RTSP.
Bei der Verteilung der Anwendungen verfolgen die Anbieter ebenfalls unterschiedliche Strategien. Produkte wie VMware ThinApp oder Xenocode Virtual Application Studio, die ohne Agent auskommen, bringen häufig auch keine Backend-Komponenten mit. Der Administrator stellt hier Anwendungen über ein Netzwerklaufwerk oder über die Software-Verteilungslösung eines Drittanbieters auf den PC-Arbeitsplätzen bereit. Die Integration in die Shell erfolgt in der Regel mit Hilfe von Microsoft-Installer-Dateien (MSI). Ein Doppelklick auf eine DOC-Datei startet dann beispielsweise ein virtualisiertes Word. Die MSI-Dateien müssen dann aber auf herkömmliche Art und Weise verteilt werden, was eigentlich dem Grundgedanken der Software-Virtualisierung widerspricht, da man ja möglichst ohne Installation auskommen möchte.
Benutzereinstellungen
Nachdem möglichst keine Einstellungen im System gespeichert werden sollen, können einige Lösungen die Benutzerdaten zusammen mit der virtualisierten Anwendung auf dem Server speichern. Änderungen an der virtuellen Umgebung werden in diesem Fall mit einer Server-Komponente synchronisiert. Bei diesem Verfahren ist es dann auch möglich, dass Benutzer selbst Add-ins installieren oder die Applikation aktualisieren, ohne dass Administratorrechte erforderlich wären.
Einige Tools erlauben es dem Systemverwalter, solche Erweiterungen in einem eigenen virtuellen Paket abzulegen. Bei ausgefeilteren Lösungen wie jener von InstallFree kann man zentral festlegen, welche Anwender ein bestimmtes Plug-in angeboten bekommen. Zum Beispiel lässt sich so auf Knopfdruck bei diesen Benutzern der aktuelle Adobe Reader oder die Google Toolbar in den Web-Browser integrieren.
Software-Management
Die Erstellung einer virtualisierten Anwendung ist bei allen Produkten mit der Anfertigung von herkömmlichen Installationspaketen vergleichbar. Die Anwendung wird auf einem Master-PC installiert, während der Packager im Hintergrund mitläuft. Dabei gibt es zwei unterschiedliche Methoden. Entweder es wird vor und nach der Installation jeweils ein Snapshot des Gesamtsystems erzeugt und die Differenz für das Paket verwendet, oder der Packager schiebt sich zwischen die Installationsroutine und das Betriebssystem und protokolliert alle Zugriffe mit.
Produkte, die auch die Verteilung virtualisierter Applikationen erlauben, bieten Features die traditionellen Client-Management-Produkten fehlen. Beispielsweise lässt sich bei InstallFree die Shell-Integration dann ebenfalls virtualisieren. Noch bevor der Benutzer die Anwendung zum ersten Mal startet, werden Verknüpfungen in das Startmenü des Anwenders eingeblendet. Entzieht der Administrator dem Benutzer oder der Gruppe die Berechtigung für den Zugriff auf die Anwendung, verschwinden auch automatisch die Verknüpfungen.
In vielen Bereichen muss die die Systemverwaltung umdenken. Beispielsweise lässt sich auch das Patch-Management nicht mehr auf die herkömmliche Art und Weise regeln. Häufig lohnt sich der zusätzliche Aufwand nur, wenn das gesamte Software-Deployment auf die Virtualisierungs-Lösung umgestellt werden kann.
Lizenz-Management
Das Lizenz-Management ist unter Umständen anzupassen. Schließlich fallen nur Lizenzkosten an, wenn ein Programm tatsächlich vom Anwender auf den Arbeitsplatz geladen worden ist. Dabei werden auch konkurrierende Lizenzen unterstützt, wobei sich die Einhaltung von Lizenzbedingungen erzwingen lässt. Stehen für eine bestimmte Anwendung keine Lizenzen mehr zur Verfügung, wird dem Nutzer der Zugriff verweigert. Die Virtualisierungs-Lösung sollte dem Rechnung tragen und über ein entsprechendes Software-Metering im Backend verfügen.

Bei VMware ThinApp lässt sich konfigurieren, welche Benutzer berechtigt sind,
auf die virtualisierte Anwendung zuzugreifen.
Der Betreuungsaufwand dieser komplexen Lösungen ist sicher höher. Der Agent muss verteilt und gewartet werden. Im ungünstigsten Fall erfordert eine neue Version der Ablaufumgebung die Neuerstellung der Pakete für die virtualisierten Anwendungen. Die Administratoren müssen zudem erst das zugehörige Backend-System beherrschen sowie die nötige Infrastruktur einrichten und warten.
Ausblick
Bei Virtualisierung denken die meisten an die Konsolidierung und bessere Auslastung von Servern. Die Virtualisierung von Anwendungen ist dagegen noch weithin unbekannt und fristet noch ein Nischendasein. Laut einer Studie von IDC und Credit Suisse wird jedoch die jährliche Wachstumsrate von derartigen Lösungen in den USA bis 2012 auf 36 Prozent geschätzt, Server-Virtualisierung soll dagegen im Durchschnitt nur mit 22,6 Prozent wachsen. Die Desktop-Virtualisierung soll der Untersuchung zufolge sogar noch schneller zulegen soll (58,7 Prozent).
Dieses starke Wachstum für Anwendungsvirtualisierung beginnt allerdings auf einem niedrigen Niveau. Das dürfte daran liegen, dass bis vor nicht allzu langer Zeit kleinere Hersteller dieses Segment dominierten. Eine Reihe von Übernahmen durch Branchenschwergewichte dürfte diese Produkte für viele Unternehmen erst jetzt hoffähig machen. Dazu zählen „VMware ThinApp“ (vormals „Thinstall“), Microsofts „Application Virtualization“ („Softgrid“) und Symantecs „Altiris Software Virtualization“.
Stärken und Schwächen
- Einfache Entfernung einer virtualisierten Anwendung, weil keine Verflechtungen mit dem Betriebssystem existieren oder diese nur virtuell bestehen.
- Anwendungspakete lassen sich unabhängig von der Windows-Version bereitstellen. Ältere Programme, die sich unter Windows Vista nicht installieren lassen, können so häufig doch zum Laufen gebracht werden.
- Einsatz des 64-Bit-Windows wird erleichtert, denn so lassen sich auch Anwendungen ausführen, die von dieser Variante nicht mehr unterstützt werden (z.B. 16-Bit-Software und DOS-Programme).
- Anwendungen können bei mehreren Lösungen (z.B. VMware ThinApp) in verschiedenen Versionen problemlos auf demselben Desktop koexistieren
- Applikations-Virtualisierung verbessert auch die Sicherheit. So tut sich Malware erheblich schwerer, die Virtualisierungsschicht zu durchdringen und das Betriebssystem zu infizieren.
- Eine Anwendung, die normalerweise nur mit Administratorrechten läuft, kann virtualisiert sogar auf einem Kiosksystem, das nur minimale Benutzerrechte gewährt, gestartet werden kann. Die Anwendung hinterlässt dabei keinerlei Spuren auf dem System. („Zero Footprint“). Dieses Feature bieten nur die Produkte, die ohne die Installation eines Agenten auf dem Ziel-PC auskommen.
- Die Registry wird durch neue Programme nicht aufgebläht und man entgeht der berühmt-berüchtigten DLL-Hölle.
- Fehlerhaft programmierte Software kann das System kaum lahmlegen und vom Anwender kaputtkonfigurierte Umgebungen lassen sich ohne großen Aufwand wieder in den Originalzustand zurücksetzen. Und sollte doch einmal das Betriebssystem, zum Beispiel wegen eines Hardware-Defekts, neu aufgespielt werden müssen, stehen die Anwendungen sofort wieder bereit, da sich diese ja ohne vorherige Installation sofort über das Netz starten lassen.
- Wie bei jeder Virtualisierungs-Technologie zieht auch die Anwendungsvirtualisierung eine weitere Komplexitätsebene ein. Zwar bewerben alle Anbieter ihre Produkte damit, dass sich durch das geringere Konfliktpotential zwischen den Anwendungen der Aufwand für Regressiontests vermindert. Allerdings muss man dafür schon im Vorfeld mehr Zeit für die Erstellung der Pakete einplanen.
- Es muss sichergestellt werden, dass eine Anwendung auch wirklich ordnungsgemäß in einer Umgebung funktioniert, für die sie eigentlich nicht entwickelt wurde.
- Es gibt einige Applikationen, die sich nicht virtualisieren lassen. Dazu gehören vor allem Programme, die eigene Gerätetreiber mitbringen.
- Im Problemfall steht man jedoch meist vor der Frage, ob das Virtualisierungs-Tool oder die Anwendung für einen Fehler verantwortlich ist. Das könnte zu Schwierigkeiten führen, wenn man den Hersteller-Support bemühen muss.
- Das Streaming von Anwendungen erfordert erhebliche Bandbreiten.
- Lösungen für die Applikation-Virtualisierung kosten zwischen 30 und 100 Dollar pro Client.
Hersteller und Produkte
| Ceedo | Ceedo Enterprise |
| Citrix | XenApp Application Streaming |
| Endeavors Technologies | Application Jukebox Enterprise Edition |
| InstallFree | InstallFree |
| LanDesk | Application Virtualization (OEM-Version von ThinApp) |
| Microsoft | Application Virtualization (App-V, ehemals Softgrid) |
| RingCube | MojoPac Enterprise Suite |
| Symantec | Altiris Software Virtualization Solution Professional |
| Trigence | Trigence AE |
| VMware | ThinApp |
| Xenocode | Virtual Application Studio |
Weblinks
— Michael Pietroforte 04.08.2008, 16:52