Mit dem Kauf der Firma Softricity im Sommer 2006 füllte Microsoft mit "Softgrid" eine Lücke im Virtualisierungsportfolio. Die aktuelle Version 4.5 ist die erste von Microsoft in Eigenregie erstellte Ausführung. Mit dem Update änderte sich der Name von Softgrid zu Microsoft Application Virtualization ("App-V").
Microsoft Application Virtualization ist eine ganze Suite aus Softwarekomponenten, die der Virtualisierung, dem Streaming und der zentralisierten Verteilung von Applikationen dient.
Funktionsweise
Anwendungen werden auf dem Client-PC in einem Container ausgeführt, so dass sie gegenüber dem Betriebssystem abgeschottet sind. Die Software-Verteilung erfolgt ohne Installation, dadurch werden Konflikte mit anderer Software sowie Inkompatibilitäten mit unterschiedlichen Betriebssystemversionen vermieden. Bei Bedarf können mehrere Versionen ein und desselben Programms parallel betrieben werden, etwas was beispielsweise bei MS Office sonst nicht möglich wäre.
App-V benötigt eine fest installierte Client-Komponente ("Agent") auf dem Arbeitsplatz-PC. Die auszuführenden Applikationen residieren auf dem App-V-Server, sie werden hier verwaltet und von dort verteilt. Der Client fordert die Applikation bei Bedarf an, ihr Code wird dann in Echtzeit zum Client übertragen ("gestreamt"). Dabei werden nur tatsächlich benötigte Komponenten heruntergeladen, um das Netz nicht über Gebühr zu belasten. Bei Aktualisierung der zentral vorgehaltenen Applikation erhält der Benutzer-PC automatisch das entsprechende Update.
Würde ein Unternehmen konsequent alle Anwendungen über App-V ausliefern, müssten PCs und Laptops nur mit einem standardisierten Betriebssystem-Image sowie einem App-V-Client versehen werden. Sobald sich der Benutzer anmeldet, erscheinen automatisch sämtliche Verknüpfungen zu allen Applikationen, die der Administrator für ihn vorgesehen hat.
App-V regelt den Zugriff auf Applikationen über definierbare Rollen und Zugriffsprofile im Active Directory. Anwendungen können auf dem Client zwischengespeichert oder aber bei jedem Aufruf neu geladen werden. Außerdem lassen sich Applikationen untereinander verknüpfen, um Programme beispielsweise mit einer Middleware oder einem Plugin zusammenzubringen ("Dynamic Suite Composition"). Abhängige Komponenten, wie etwa eine Java Virtual Machine für den Internet Explorer können dabei auch später hinzugeladen werden.
Einrichtung einer App-V-Umgebung
Der Aufbau einer App-V-Infrastruktur erfolgt grundsätzlich in drei Schritten:
-
Application Virtualization Management Server installieren: Dabei wird eine Datenbank im SQL Server definiert und angelegt. Der Server enthält eine Konsole mit dem imposanten Namen "Microsoft System Center Application Virtualization Management Console", mit der sich die zentrale Softwareverteilung steuern lässt.
-
Software-Pakete mit Hilfe des " Sequencer" generieren
-
Client "Microsoft Application Virtualization for Desktops" auf allen benötigten PCs installieren
Als zentrale Komponente zur Bereitstellung von Anwendungen dient der Sequencer. Er muss separat installiert werden und lässt sich bei Bedarf auch auf einem anderen Rechner als dem App-V-Server eingerichten. Das Tool zeichnet alle Änderungen auf, die das Setup-Programm einer Anwendung am Betriebssystem vornimmt. Dazu zählt, welche Dateien es auf die Platte kopiert und welche Werte es in die Registrierdatenbank einträgt. Auf Basis dieser Informationen kann der Agent auf dem Client jeder Software eine Umgebung vorgaukeln, als sei sie auf herkömmliche Weise eingerichtet worden. Darüber hinaus steht es dem Administrator offen, die virtuelle Registry des Programmpakets manuell anzupassen.
Bei der Erstellung von Paket bietet der Sequencer eine Reihe von Optionen, darunter die Wahl des Übertragungsprotokolls (RTSP, HTTP), die Ausführung der Software im Standalone-Modus im MSI-Format, die Einschränkung auf bestimmte Betriebssysteme oder ob die Aktualisierung des Pakets über Microsoft Update erwünscht ist.
Nach der Verpackung durch den Sequencer muss die Anwendung - sofern sie nicht ausschließlich im Standalone-Mode verteilt und ausgeführt werden soll - zunächst über die App-V-Management-Konsole importiert und in die Liste der zu verteilenden Applikationen aufgenommen werden. Dabei wird unter anderem definiert, welche Benutzergruppen Zugriff haben dürfen.
Nach der Installation der Client-Komponente auf jedem PC müssen der oder die Server, die Applikationen bereithalten, angegeben werden. Der Client lädt dann von dort typischerweise bei jedem Login die aktuelle Softwareliste. Der Server publiziert die Verknüpfungen mit den Anwendungen automatisch auf der Workstation. Lediglich ein kleines Icon im Infobereich der Taskleiste verrät dem aufmerksamen Anwender, dass die Anwendung nicht von der lokalen Platte startet, sondern im Hintergrund vom App-Server geladen wird. Anwenderspezifische Änderungen in der Konfiguration der Applikation lassen sich im Benutzerprofil speichern und stehen somit auch an anderen Arbeitsplätzen zur Verfügung.
Sofern es sich bei der Client-Plattform um einen Terminal-Server handelt, stellt Microsoft ein anderes Softwarepaket zur Verfügung. Dieses verhält sich bei der Installation und Handhabung identisch wie der normale Desktop-Client.
Drei Betriebsmodi
App-V lässt sich auf drei Arten nutzen, die entweder den vollen Funktionsumfang über eine komplexe Installation bieten oder in einer reduzierten Variante die gesamte Umgebung auf einen USB-Stick speichern kann:
-
"System Center Application Virtualization Management Server": der komplexe Ansatz mit Authentisierung über Active Directory, zentralem SQL-Server und dem vollen Streaming-Ansatz inklusive umfassender Management-Optionen.
-
"System Center Application Virtualization Streaming Server": leichtgewichtige Variante des App-V-Servers. Ohne Datenbank und Active Directory eignet er sich beispielsweise für kleinere Niederlassungen eines Unternehmens. Diese Variante übernimmt nur das Streaming, verzichtet unter anderem aber auf die Verteilung und Desktop-Verknüpfungen für Programmpakete.
-
Stand-alone: Dieser Modus erlaubt die virtuelle Ausführung von Anwendungen, jedoch ohne Streaming und zentraler Steuerung (etwa von Lizenzkontingenten). Diese Art der Ausführung ist jedoch kompatibel zum " Systems Management Server/System Center Configuration Manger 2007", so dass sich die Pakete mit dessen Hilfe verteilen lassen. Sie können auch über eine Web-Server (nur IIS) via http, über Laufwerksfreigaben in Form von MSI-Installationspaketen oder auch über CDs oder USB-Sticks zum Endbenutzer gelangen.
Systemanforderungen und Verfügbarkeit
Application Virtualization 4.5 ist ausschließlich für Microsoft-Kunden mit Software Assurance als Bestandteil des Microsoft Desktop Optimization Pack (MDOP) verfügbar.
Der App-V-Server setzt mindestes einen Windows 2003 SP2, das.NET-Framework 2, einen SQL Server (auch die "Express"-Version) sowie ein Active Directory voraus. Am Client werden Windows XP und Vista unterstützt.
Microsoft benennt einige Applikationen, die sich nur mit höherem Aufwand oder gar nicht virtualisieren lassen. Dies ist besonders dann der Fall, wenn sie einen Treiber auf Systemebene (etwa einen USB-Gerätetreiber) oder Boot-Dienste installieren, COM+ verwenden, MAPI-Virtualisierung erfordern oder wenn ihre Lizenzierung an die Hardware gebunden ist, beispielsweise über einen Dongle.
Fazit
Microsoft legt mit App-V eine umfassende Plattform für Applikations-Virtualisierung vor, die nahezu sämtliche Anforderungen berücksichtigt. Dadurch wächst zwar die Komplexität der zu betreibenden Umgebung, aber bei sorgsamer Planung und Wahl verschiedener Modi lässt sich App-V gut auf die Bedürfnisse eines Unternehmens abstimmen.
Für den Endbenutzer verhalten sich die Anwendungen wie gewohnt, beispielsweise ist auch ein Copy and Paste zwischen diesen möglich. Das Streaming führt zu keinen messbaren Geschwindigkeitseinbußen im Vergleich zu installierten Anwendungen. (ws)
Stärken und Schwächen
Plus
Zentrale Steuerung der gesamten Virtualisierungsumgebung
Integration in vorhandene Umgebung und Tools
Verschiedene Verteilungs- und Nutzungsmodi, inklusive Offline, verfügbar
Minus
Aufwendige Installation und Konfiguration, hohe Komplexität
Installation einer Client-Komponente notwendig