Microsoft App-V (Softgrid)
Die Produktfamilie Microsoft Application Virtualization 4.5 soll Unternehmen dank virtualisierter Ausführung von Applikationen helfen, Kompatibilitätsprobleme zu vermeiden und die Systemverwaltung zu vereinfachen.
Überblick
Mit dem Kauf der Firma Softricity und deren Produkt Softgrid im Sommer 2006 füllte Microsoft 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 (etwas griffiger auch als App-V bezeichnet) 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 bereitzustellenden Applikationen residieren auf dem App-V-Server, sie werden hier verwaltet und von dort verteilt. Der Client fordert die Applikation bei Bedarf an, sie wird dann in Echtzeit zum Client gestreamt, wobei nur tatsächlich benötigte Komponenten übertragen werden, um die Bandbreite zu schonen und die Wartezeit zu verkürzen.
Würde ein Unternehmen konsequent alle Anwendungen über App-Virt 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 für ihn vorgesehenen Applikationen. Beim ersten Start eines Programms wird diese in Echtzeit vom Server gestreamt. Bei Aktualisierung der zentral gehosteten Applikation erhält der Benutzer-PC automatisch das entsprechende Update.
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 virtualisierte Applikationen untereinander verknüpfen („Dynamic Suite Composition“). Abhängige Komponenten, wie beispielsweise eine Java Virtual Machine für den Internet Explorer - können auch später hinzugeladen werden.
Installation
Der Aufbau einer App-V-Umgebung vollzieht sich 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.
- Sequencer einsetzen, um Software-Pakete zu generieren
- Client „Microsoft Application Virtualization for Desktops“ auf allen benötigten PCs installieren
Server-Installation
Das Paket App-V-Server installiert die Server-Komponente sowie die Management-Konsole. Dabei wird der SQL-Server angegeben, in diesem richtet die Installation eine eigene Datenbank für den App-V-Server ein. Bei der Installation ist außerdem anzugeben, welche Gruppen zur Administration sowie zur Nutzung der Applikationen berechtigt sein sollen.
Die später generierten Applikationen werden zentral im content-Ordner gespeichert. Dieser sollte über das Netzwerk im Lesezugriff für alle Benutzer freigeben werden.
Im Anschluss an die Installation kann die App-V-Management-Konsole gestartet werden. Die Anmeldung darf nur mit einem für die Verwaltung des App-V-Servers berechtigten Benutzerkonto erfolgen.
Sequencer
Der Sequencer muss separat installiert werden und lässt sich bei Bedarf auch auf einem anderen Rechner als dem App-V-Server eingerichten. Der Sequencing-Prozess erstellt eine virtualisierte Applikation zur Verteilung im Netzwerk. Der Sequencer schneidet mit, welche Dateien das Setup-Programm einer Anwendung auf die Platte kopiert und welche Änderungen es am System vornimmt. Eine Generierung von Paketen durch den Anwender selbst ist von Microsoft nicht vorgesehen.
Bei der Paketierung bietet der Sequencer folgende Optionen:
- Übertragungsprotokoll (RTSP, HTTP)
- Standalone als MSI-Installationspaket
- Für welche Betriebssysteme das Paket gültig ist
- ob das Paket über Microsoft Update aktualisiert werden soll
- Weiterhin können manuell Änderungen an der virtuellen Registry des Programmpakets vorgenommen werden.
Nach der Paketierung durch den Sequencer muss das Package - sofern es 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.
Dynamic Suite Composition (DSC) nennt Microsoft die Technik, welche dafür sorgt, dass zwingende oder optionale Abhängigkeiten automatisch berücksichtigt werden. Diese müssen bei der Paketierung definiert sein. So würde bei Firefox automatisch die Java-VM gestreamt werden, wenn diese benötigt wird.

Zentrale Server-Einstellungen für die Publikation eines Softwarepakets
Client-Installation
Die Client-Software Microsoft Application Virtualization for Desktops muss auf jedem PC installiert werden. Einzige Voraussetzung dafür ist Internet Explorer ab Version 6.
Anschließend müssen der oder die Server, von dem/denen Applikationen bezogen werden können, angegeben werden. Der Client lädt dann - üblicherweise bei jedem Login - die aktuelle Liste von Applikationen vom Server. Dieser publiziert die Verknüpfungen der 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 gestartet, sondern im Hintergrund zunächst vom App-Server gesaugt wird.
Konfigurationseinstellungen des Benutzers werden dabei normal im Benutzerprofil gespeichert und stehen somit auch an anderen Arbeitsplätzen zur Verfügung.
Sofern es sich bei der Client-Plattform um eine Terminalserver-Umgebung handelt, stellt Microsoft ein anderes Softwarepaket zur Verfügung. Dieses verhält sich bei der Installation und Handhabung identisch wie der normale Desktop-Client.
Betriebsmodi
Der Betreiber kann im Wesentlichen zwischen drei Varianten zur Verteilung von Anwendungen wählen:
- System Center Application Virtualization Management Server: der oben beschriebene komplexe Ansatz mit Authentisierung über AD, zentralem SQL-Server und dem vollen Streaming-Ansatz inklusive umfassender Managementoptionen.
- System Center Application Virtualization Streaming Server: „leichtgewichtige“ Variante des App-Servers. Ohne Datenbank und Active Directory, z.B. für kleinere Niederlassungen eines Unternehmens. Sorgt nur für das Streaming, nicht aber für Verteilung, Bereitstellung von Verknüpfungen usw.
- Standalone: erlaubt die virtuelle Ausführung von Anwendungen, jedoch ohne Streaming und zentraler Steuerung z.B. von Lizenzkontingenten. Dieser Modus ist jedoch kompatibel zum Microsoft Systems Management Server/System Center Configuration Manger 2007. Die Bereitstellung der Packages kann über den IIS-Webserver per HTTP oder über Laufwerksfreigaben in Form von MSI-Installationspaketen erfolgen oder auch über CDs oder USB-Sticks.
Architektur
Die Architektur des Microsoft Application Virtualization Produktpakets setzt sich aus folgenden Hauptkomponenten zusammen:
- Virtual Application Server (VAS), welcher die virtualisierten Applikationspakete hostet und diese an die Clients streamt. Hierbei kommt zumeist das RTSP-Protokoll (Real Time Streaming Protocol) zum Einsatz. Der Server ist für die Zugriffskontrolle verantwortlich und protokolliert die Nutzung
- Sequencer: Applikationen werden mittels dieses assistentengetriebenen Programms in virtualisierte Pakete umgewandelt.
- Application Virtualization for Desktops, die Runtime-Komponente auf dem Anwendergerät. Sie fordert die Applikation an, stellt die Verknüpfungen dar und sorgt für das Caching der abgerufenen Software. Sie führt die Anwendung lokal in der virtualisierten Umgebung aus.
- Management Console zur Konfiguration der Softwareverteilung, der Zugriffsrechte, zum Reporting usw.
Hinzu kommt ein Microsoft SQL Server, welcher sämtliche Konfigurationsdaten des VAS speichert sowie Active Directory für die Verwaltung der Zugriffsberechtigungen und Benutzer.
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.
Systemvoraussetzungen
App-V-Server:
- Windows 2003 SP2 oder höher
- .NET Framework 2, MMC3, ASP.NET
- IIS
- SQL Server (Express)
- Active Directory
Clients:
- Windows XP Professional
- Windows Vista
Applikationen
Microsoft benennt Applikationen, die sich nur mit höherem Aufwand oder gar nicht virtualisieren lassen. Die folgende Liste dürfte auch für andere Virtualisierungsprodukte gelten:
- solche die einen Treiber auf Systemebene installieren, wie z.B. einen Druckertreiber oder einen USB-Gerätetreiber
- Anwendungen, die Boot-Dienste installieren
- solche, die COM+ verwenden
- Anwendungen, die MAPI-Virtualisierung erfordern
- Anwendungen, bei denen die Lizenzierung an die Hardware gebunden ist, z.B. Dongle
Datenblatt
| Allgemeine Kriterien | |
| Unterstützte Betriebssysteme | Server: Windows 2003 Client: Windows XP Pro, Windows Vista |
| Lizenzmodell-/kosten | Nur für Software-Assurance Kunden im Rahmen des MDOP-Pakets |
| Technik und Architektur | |
| Eingesetzte Protokolle und Technologien | Streaming mit RTSP oder HTTP. Bereitstellung auch per MSI Standalone. |
| Unterstützte Betriebssysteme der Applikationen | Win 2000/2003/XP/Vista |
| Unterstützte / Nicht unterstützte Applikationen | Anwendungen mit Systemtreibern, Dongles, COM+-Anbindung |
| Client-Infrastruktur installationsfrei | Nein, Client-Agent nötig |
| Bereitgestellte Pakete updatefähig | Ja |
| Verknüpfung verschiedener voneinander abhängiger Applikationen (z.B. Java-VM oder .Net-Framework) | Ja, mittels DSC |
| Mehrere Versionen einer Applikation gleichzeitig | Ja |
| Bandbreitesteuerung beim Streaming | Nein. Streaming kann jedoch im Hintergrund mit niedriger Prio erfolgen. |
| User-Experience: Handling der Anwendung transparent, z.B. Copy+Paste | Ja |
| Offline-Nutzung möglich | Ja |
| Administration | |
| Unterstützung bei Paketgenerierung | Ja, Sequencer-Assistent |
| „user self-packaging“ möglich | Nein, nur Admins |
| Unterstützung bei Publishing/Verteilung | Ja, zentral |
| Anwendungen in den Desktop integrieren („publizieren“) | Ja |
| Gruppen- und User-spezifische Pakete | Ja |
Fazit
Microsoft legt mit App-V eine umfassende Plattform für Applikations-Virtualisierung vor, welche nahezu sämtliche Anforderungen berücksichtigt. Während dadurch die Komplexität der zu betreibenden Umgebung wächst, können durch sorgsame Planung und Wahl der Komponenten verschiedene Modi genutzt werden, um einen maßgeschneiderten Betrieb aufzubauen und zu gewährleisten.
Für den Anwender ist die ganze Angelegenheit transparent, die Anwendungen verhalten sich 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.
Die Virtualisierung erfordert allerdings als Voraussetzung die Installation - und damit auch die Pflege - eines Agenten auf dem Anwender-PC.
Stärken und Schwächen
- Zentrale Steuerung der gesamten Virtualisierungsumgebung
- Integration in vorhandene Umgebung und Tools
- Verschiedene Verteilungs- und Nutzungsmodi bis hin zur Offline-Nutzung verfügbar
- Aufwendige Installation und Konfiguration, hohe Komplexität
- Installation einer Client-Komponente notwendig
- Keine Unterstützung für 64-Bit-Clients
Weblinks
— Autor: Andrej Radonic 28.07.2008, 19:09



