VMware ThinApp
Mit VMware ThinApp schickt sich der Marktführer in Sachen Servervirtualisierung an, auch im Geschäft der Applikationsvirtualisierung Fuß zu fassen. Die Virtualisierung von Desktopanwendungen soll vor allem die Administration von PCs in größeren Umgebungen durch installationsfreie Softwareverteilung vereinfachen und Migrationsvorhaben wie beispielsweise Vista-Einführungen sicherer gestalten.
Überblick
VMware übernahm das Softwarehaus Thinstall, um die ThinApp-Produkte ins Portfolio zu integrieren und wählte damit einen ähnlichen Weg wie Konkurrent Microsoft mit App-V (kaufte Softricity mit dem Produkt Softgrid). Neben den Redmondern dürfte vor allem auch Citrix einer der Hauptwettbewerber um das Applikationsvirtualisierungsgeschäft sein, denn dort virtualisiert man Applikationen schon seit längerem, aber eben auch Server und Desktops, genau wie die EMC-Tochter.
ThinApp ist die eigene Weiterentwicklung der ehemals Thinstall genannten Produkte und erscheint deswegen direkt in Version 4.
Funktionsweise
Vergleichbar mit anderen Systemen für Applikationsvirtualisierung generiert ThinApp auf dem PC eine „Sandbox“, welche eine Art Container ist, in dem die Anwendung abgeschottet gegen das Host-Betriebssystem läuft. Die Sandbox verfügt über einen eigenen Dateibaum und eine eigene Registry. Benutzereinstellungen werden transparent im jeweiligen normalen Profil gespeichert; Änderungen an der Anwendung wie z.B. Updates erfolgen ausschließlich innerhalb dieser geschützten Containerumgebung.

Architektur einer virtualisierten Applikation
Trotzdem ist das System schlank und sorgt für eine schnelle Ausführung, indem je nach Bedarf nur die benötigten Teile der Anwendung auf den Rechner geladen werden.
Die Verteilung erfolgt denkbar einfach über ein Netzwerklaufwerk, als URL über einen Webserver oder „portabel“ z.B. auf einem USB-Stick.

Verteilung über Standard-Mechanismen
Administratoren können solchermaßen verteilte und im Einsatz befindliche Anwendungen über einen zentralen Mechanismus sowohl mit Updates als auch mit Erweiterungen z.B. in Form von Plugins versorgen.
Installation
Die Installation ist simpel, denn sie beschränkt sich auf das Einrichten des ThinApp-Softwarepakets auf einem Windows-Rechner, der das Generieren von virtualisierten Anwendungspaketen übernehmen soll.
Dabei sollte sich um einen möglichst für diese Aufgabe dedizierten Rechner handeln, der lediglich das Basisbetriebssystem enthält und sonst keine Erweiterungen, damit der ThinApp-Packager bei der Generierung von Applikationspaketen eine möglichst „saubere“ Umgebung mit einer schlanken Registry vorfindet.
Je nach gewünschter Verteilungsweise ist noch eine Laufwerksfreigabe einzurichten oder aber ein Webserver, auf dem die Pakete abgelegt und - entsprechend gesichert - verteilt werden.
Der Client ist vollständig installationsfrei, kommt also ohne einen Agenten aus wie er teilweise von anderen Lösungen für Applikationsvirtualisierung wie beispielsweise bei Microsoft App-V benötigt wird.
Applikationen virtualisiert bereitstellen
Lediglich zwei überschaubare Schritte sind notwendig, um Anwendungen wie beispielsweise Microsoft Office virtualisiert bereitzustellen:
- „Paketierung“ mittels Capture: Mittels der ThinApp Software „Setup Capture“ wird das gewünschte Paket generiert.
- Deployment: Das Paket wird als exe- (installationsfrei) oder msi-Paket (für feste Installation) verteilt.
Für das Capturen sollte zum einen ein Rechner verwendet werden, der lediglich über ein „nacktes“ Betriebssystem verfügt. Zum anderen sollte dieses den kleinsten gemeinsamen Nenner im Hinblick auf die gewählte OS-Variante abbilden. Wenn beispielsweise der Betrieb der Anwendung auf Windows 2000, Windows XP, Windows 2003, und Windows Vista geplant ist, sollte die Capture-Plattform eine Windows 2000 Installation sein.
Dementsprechend bietet sich hierfür eine virtuelle Maschine an, da auf dieser Basis einfacher mehrere Varianten gepflegt werden können und nach Paketierungsvorgängen auf Knopfdruck wieder der vorherige jungfräuliche Zustand hergestellt werden.
Der Capture-Vorgang ist dabei für jeden Administrator auch ohne Einarbeitung zu erledigen:
- Das Programm Setup Capture starten, dieses erzeugt zunächst automatisch einen Snapshot der momentanen Umgebung.
- Anschließend die zu verteilende Applikation installieren - das Capture-Programm „fängt“ sämtliche Änderungen dabei ein.
- Danach kann das Paket je nach Anforderungen konfiguriert und optimiert werden, dazu gehört der gewünschte Isolationsgrad, Kompression, Zugriffsberechtigungen über Active Directory Zuordnung sowie die Verknüpfung mit anderen Applikationen oder Plugins.
- Zuletzt wird das Paket zu einer exe-Datei (und ggf. zu einem msi-Paket) kompiliert und im capture-Verzeichnis abgelegt. Dieser Vorgang kann jederzeit über die Datei build.bat, die automatisch je Applikation bereitsteht, wiederholt werden, z.B. nach Änderungen an der virtuellen Registry oder Zusatzpaketen.
- Für das Deployment muss lediglich das generierte Paket aus dem bin-Verzeichnis an den gewünschten Ort kopiert werden.
Benutzung
Für den Anwender ergibt sich eine völlig transparente Nutzung: Er führt einmalig das Exe-File aus. Daraus wird automatisch die Anwendung gestartet und eine Desktop-Verknüpfung angelegt. Lediglich ein kleiner Statusbalken am unteren Bildschirmrand weist beim Starten daraufhin, dass ThinApp hinter den Kulissen werkelt.
Copy+Paste zwischen virtualisierten und normalen Anwendungen funktioniert wie gewohnt, ebenso wie auch die Benutzung von Treibern und Druckern. Dateien die aus der Anwendung gespeichert werden landen normal auf Platte. Alle sonst von der App gespeicherten Dateien (z.B. Konfigurationen) landen in der Sandbox. Sämtliche Registryänderungen werden in den isolierten Bereich geschrieben.
Administration
Plugins für Applikationen oder andere abhängige Module wie z.B. das .Net-Framework oder die Java Runtime können auf verschiedenen Wegen bereitgestellt werden:
- Von vorneherein im Package integriert
- Dynamisches Nachladen der Plugins vom „Host“ via Application Link Feature
- Nachinstallation in die Sandbox durch den Administrator
Das benötigte Verhalten lässt sich über die package.ini konfigurieren.
Upgrades verteilter Anwendungen können von zentraler Stelle aus durchgeführt werden. Zum einen ist es natürlich möglich, die bereitgestellte Version durch eine neue zu ersetzen. Alternativ bietet Application Sync die Möglichkeit, dass die beim Anwender laufende Applikation selbständig in vorher definierten Abständen beim Heimatserver nach Updates fragt und diese automatisch nachlädt. Auf diesem Wege lassen sich automatisiert beispielsweise Service Packs via Webserver an alle verteilten Anwendungen schicken und auch Rollbacks durchführen, falls ein Update fehlschlägt oder zurückgerufen werden muss.
Architektur
VMware ThinApp ermöglicht eine installationsfreie Softwareverteilung, indem es die Anwendung in eine virtuelle Umgebung einpackt, welche der Software ein vollständiges Programmhabitat inkl. Dateien, virtueller Registry, Umgebungsvariablen und sogar COM/Active X Controls sowie Diensten vorgaukelt. Dabei werden am eigentlichen Rechner keinerlei Änderungen vorgenommen. Grundlage ist das VOS (Virtual Operating System), welches zusammen mit einem komprimierten virtuellen Dateisystem und Registry in einer nach außen normalen Exe-Datei verpackt ist.
Die zweite wichtige Architekturkomponente ist die Streaming-Technologie: Applikationen und Teile davon werden bei Bedarf zum jeweiligen Endgerät geliefert, um Bandbreiten zu schonen und die jeweils aktuellste Version bereitzustellen. Die tatsächlich vom Benutzer bzw. Gerät benötigten Komponenten werden lokal gecached. Blockbasiertes Streaming ermöglicht dabei eine sehr effiziente Übertragung von Dateipartikeln, so dass auch große Pakete sofort auf dem PC geöffnet und gestartet werden können.
Verfügbarkeit
Die Lösung ist als VMware ThinApp Suite zum stattlichen Preis von rund 4.500 Euro erhältlich, neben 50 Clientlizenzen ist im Paket auch eine VMware Workstation Lizenz (für den Capturing-PC) sowie 1 Jahr Support enthalten. Weitere Client-Lizenzen lassen sich einzeln zum Preis von 35,- Euro ordern.
Eine kostenfreie Evaluation mit 60 Tagen Laufzeit ist möglich.
Fazit
ThinApp kann die Einführung von Applikationsvirtualisierung und die Nutzung der Vorteile für Unternehmen durch die geringe Komplexität und einfache Handhabbarkeit sehr einfach und effektiv gestalten. Buchstäblich lässt sich die Art und Weise, wie Software installiert, verteilt und verwaltet wird, binnen Minuten vollständig ändern.
Aufgrund der Architektur gestaltet sich die Installation und Verwaltung fast schon trivial, so dass die Einarbeitung keine großen Hürden stellt. ThinApp-Anwendungen lassen sich sehr einfach und dabei sicher über in allen Unternehmen vorhandene Transportmechanismen wie Laufwerksfreigaben und das HTTP-Protokoll verteilen. Die Benutzung ist für die Anwender völlig transparent.
Somit dürfte sich ThinApp für kleinere bis mittlere Unternehmen mit oder ohne eigene IT-Abteilung eignen. Unternehmen, welche auch serverseitig sehr Microsoft-lastig sind und ggf. noch keine Tools für Softwareverteilung und Lizenzmanagement einsetzen, dürften sich dagegen unter Umständen aufgrund des sehr umfangreichen Toolsets und Funktionsumfangs eher bei Microsoft App-V besser aufgehoben fühlen.
Ein Faktor, der viele IT-Verantwortliche vor allem in Deutschland, einem Markt in dem Applikationsvirtualisierung sich noch nicht auf breiter Front durchgesetzt hat, vor einer Kaufentscheidung zurückschrecken lassen wird, ist der vergleichsweise hohe Preis sowie das Lizenzmodell, welche das Produkt erst ab 50 Desktop-PC/Arbeitsplätzen überhaupt erst sinnvoll einsetzbar macht.
Stärken und Schwächen
Pro:
- Sehr schlank: kein Client und kein Server notwendig
- Dadurch geringer Aufwand bei Einrichtung und Betrieb
- Performante und transparente Nutzung der virtualisierten Anwendungen
- Breite Unterstützung von Anwendungen und Windows-Varianten
Contra:
- Lizenzmodell nicht für kleinere Firmen geeignet
- Hoher Preis
- Zentrale Paketeinstellungen müssen manuell in ini-Datei editiert werden
Fakten im Überblick
| * Allgemeine Kriterien | |
| Unterstützte Betriebssysteme | 32-Bit: Windows NT, 2000, 2000 Server, XP, XPE, 2003 Server, Vista 64-Bit: Windows XP, Windows 2003, Windows Vista |
| Lizenzmodell | Suite mit 50 Usern, danach einzeln lizenzierbar |
| Lizenkosten | ab 4.500,- EUR |
| * Technik und Architektur | |
| Eingesetzte Protokolle und Technologien | Blockbasiertes Streaming. Deployment über SMB/CIFS, HTTP, … |
| Unterstützte Betriebssysteme der Applikationen | 16-bit Anwendungen auf 32-Bit Windows (alle Plattformen) 32-bit Anwendungen auf 32- und 64-Bit Windows (alle Plattformen) |
| Unterstützte / Nicht unterstützte Applikationen | unter anderem: Anwendungen mit Systemtreibern, 16-Bit und 64-Bit Anwendungen |
| Client-Infrastruktur installationsfrei | Ja |
| Bereitgestellte Pakete updatefähig | Ja |
| Verknüpfung verschiedener voneinander abhängiger Applikationen (z.B. Java-VM oder .Net-Framework) | Ja, mittels Application Link |
| Mehrere Versionen einer Applikation gleichzeitig | Ja |
| Bandbreitesteuerung beim Streaming | nein |
| User-Experience: Handling der Anwendung transparent, z.B. Copy+Paste | Ja |
| Offline-Nutzung möglich | Ja |
| * Administration | |
| Unterstützung bei Paketgenerierung | Ja, Setup Capture |
| „user self-packaging“ möglich | Ja |
| Unterstützung bei Publishing/Verteilung | Nein |
| Anwendungen in den Desktop integrieren („publizieren“) | Ja (Dienstprogramm ThinReg) |
| Gruppen- und User-spezifische Pakete | Ja |
Weblinks
Offizielle VMware-Quellen
Drittquellen
ThinApp Testbericht (bei virtualfuture.info)
— Autor: Andrej Radonic 12.08.2008, 19:09



