Softgrid-Applikationsvirtualisierung

Anwendungen "to go"

17. Juni 2008, 22:00 Uhr | Thomas Joos/wg

Die Virtualisierung von Servern und Storage ist bereits als Faktor für den Aufbau einer effizienten Infrastruktur etabliert. Zur Anwendungsbereitstellung mittels Terminalservices hat sich die Desktop-Virtualisierung gesellt (Vmware VDI, Citrix Xendesktop). Eine weitere Variante ist die Anwendungsvirtualisierung. Dabei stellt ein Server Anwendungen bereit, die Client-PCs führen sie aber selbst lokal aus.

Bei der Anwendungsvirtualisierung arbeiten die Anwender mit ihren herkömmlichen PCs.
Virtualisierte Anwendungen stehen als Pakete auf einem Virtualisierungsserver zur Verfügung,
ähnlich dem Terminalserverkonzept. Ruft ein Anwender auf seinem PC eine solche Anwendung auf, wird
diese auf dem lokalen Computer gestartet, aber von einem Virtualisierungsserver in einer
virtualisierten Umgebung bereitgestellt.

Application Streaming

Der Server streamt die Applikation wie bei einem Videoserver zum Client des Anwenders. Die
Anwendungen arbeiten losgelöst vom lokalen Betriebssystem des Desktops in einer eigenen virtuellen
Umgebung. Diese Technik ist auch vom Sandbox-Verfahren auf Firewalls bekannt, das Anwendungen
strikt von anderen Anwendungen und dem Betriebssystem trennt.

Für Anwender ist diese Variante der Virtualisierung transparent, da das Aufrufen und Arbeiten
mit den Applikationen keinen Unterschied zu einer lokalen Installation ergibt. Systemverwalter
erhalten den Vorteil, dass es für jede Anwendung im Unternehmen nur noch ein Paket gibt, das zu
pflegen und zu aktualisieren ist, nämlich das auf dem Virtualisierungsserver. Eine Installation von
Anwendungen mit Patches und Updates auf den einzelnen Arbeitsstationen entfällt.

Microsoft stellt mit Softgrid eine solche Applikationsvirtualisierung zur Verfügung. Softgrid
basiert auf einer Technik des Anbieters Softricity, den Microsoft 2006 übernommen hat. Auf den
Rechnern im Unternehmen ist nur noch der Softgrid-Client erforderlich, der den Anwendern den Zugang
zu den Applikationen auf dem Softgrid-Server ermöglicht. Die Anwender können sich an beliebigen PCs
im Netzwerk anmelden und über den Softgrid-Server sofort auf ihre freigeschalteten Applikationen
zugreifen. Microsoft Softgrid ist Bestandteil des Microsoft Desktop Optimization Packs (MDOP), das
für Windows XP und Windows Vista erhältlich ist, aber auch für Terminalserver unter Windows 2000
Server und Windows Server 2003 funktioniert. 64-Bit-Systeme unterstützt diese Technik
ebenfalls.

Softgrid besteht aus mehreren Komponenten: Zunächst gibt es den Microsoft System Center Virtual
Application Server (Softgrid Application Server), der die Softwarepakete hostet und auf die PCs
streamt. Dieser Server protokolliert auch die Softwarenutzung und verwaltet die Authentifizierung
der Anwender. Alle Pakete sind in einer eigenen SQL-Datenbank gespeichert. Systemverwalter bereiten
die Anwendungen mit dem Softgrid Sequencer zu Paketen auf, dazu später mehr.

Der Sequencer erfasst und paketiert alle benötigten Dateien, Einstellungen und Registry-Einträge
der Anwendung, ähnlich dem Erstellen von Softwarepaketen zur automatisierten Installation. Im
Fachjargon heißen solche Pakete "SFT-Dateien". Der Softgrid Client sorgt dann für die Ausführung
auf dem Anwender-PC und liefert die Ausführungsumgebung (Runtime Environment) für die
virtualisierte Anwendung. Der Client funktioniert sowohl auf Desktop-PCs als auch in
Terminalserverumgebungen. Erforderlich ist beim Einsatz beider Techniken nur ein Paket, das überall
lauffähig ist. Auch der parallele Einsatz von Softrgrid und Citrix Xenapp (Presentation Server) ist
möglich, da auch Citrix die Softgrid-Pakete nutzen kann.

Der Client ruft die Pakete vom Server mit allen notwendigen Einstellungen ab, nimmt aber keine
Änderungen vor oder installiert Software wie bei einer automatisierten Softwareinstallation. Alle
Dateien, Registry-Einstellungen und sonstigen Bestandteile der virtualisierten Anwendung liegen in
einer eigenen, vom System getrennten virtuellen Umgebung auf dem Client. Beim Beenden der Anwendung
verschwinden diese Einstellungen wieder vom Client, der Computer bleibt dabei unangetastet.
Parallel laufende virtuelle Anwendungen beeinflussen sich gegenseitig nicht, sodass Fehler und
Abstürze einer Anwendung nicht mehr den ganzen Rechner oder andere Anwendungen beeinflussen.
Benötigen einzelne Anwendungen spezielle Editionen von Middleware, also bestimmte Versionen von
Datenbank-Clients, Java oder verschiedene Dotnet-Versionen, sind diese direkt mit dem jeweiligen
Paket verknüpft. Verschiedene virtuelle Anwendungen verwenden somit ihre eigenen Clients, ohne sich
gegenseitig zu beeinflussen. Dadurch gehören Versionskonflikte der Vergangenheit an.

Die Bereitstellungszeiten neuer Versionen oder Anwendungen verringern sich, da die Installation
auf den Clients im Unternehmen wegfällt. Durch den virtuellen Betrieb der Applikationen benötigen
Anwender keine Administratorrechte auf den Computern mehr, da die Anwendungen in eigenen virtuellen
Umgebungen laufen. Ausnahme bei der Virtualisierung sind die Ereignisprotokolle: Auch
virtualisierte Anwendungen schreiben Meldungen in die Ereignisanzeigen der lokalen Computer, um
Fehlerbehebungen zu optimieren.

Nachteil Komplexität

Auch wenn Softgrid auf den ersten Blick als perfekte Lösung erscheint, gibt es einiges zu
beachten. Die neue Technik ist nicht gerade einfach zu bedienen. Es gibt viele komplexe Vorgänge,
zum Beispiel das Sequenzieren der Anwendungen. Da diese Technik noch nicht stark verbreitet ist,
gibt es noch keine umfassenden Erfahrungswerte und wenige Hilfen im Internet. Auch Fachliteratur
ist derzeit noch dünn gesät. Der Administrator muss seine Infrastruktur perfekt beherrschen, denn
wenn ein Paket nicht mehr funktioniert, können die Anwender im Unternehmen nicht mehr arbeiten. So
entsteht sehr schnell eine zentrale Fehlerquelle (Single Point of Failure). Vor allem den Umgang
mit Skripten und mit der Paketierung von Anwendungen gilt es zu beherrschen, da dies die Basis von
Softgrid ist.

Die Verwaltung der Infrastruktur hat derzeit noch einige Haken und Ösen, die sich darin äußern,
dass die Verwaltungskonsole manchmal keine Verbindung zum Server aufbauen kann oder Anwendungen
nicht gestreamt werden. Auf der Internetseite www.softgrider.de erhalten Systemverwalter eine
FAQ-Liste, in der häufige Fehler und deren möglichen Problemlösungen aufgezeigt sind. Schon das
Durchlesen zeigt schnell, wie viele Probleme eine solche komplexe Struktur derzeit noch bereiten
kann. Vor allem nach der Installation auf einem neuen Server besteht oft das Problem, dass sich
keine Verbindung zum Softgrid-System aufbauen lässt. Im Artikel [8] (siehe Kasten) wird dieser Fall
ausführlich besprochen. Die Ursache liegt häufig an Berechtigungsproblemen des Benutzers "
Netzwerkdienst". Dieser muss in den Komponentendiensten eingetragen sein sowie volle Zugriffsrechte
auf die Verzeichnis C:\Windows\Temp und C:\Windows\Microsoft. NET\Framework\\Temporary ASP.NET
Files erhalten. Wie dies funktioniert, erklärt der Artikel.

Der Sequencer

Um herkömmliche Anwendungen als virtuelle Umgebung über den Softgrid-Server auf die Clients zu
streamen, sequenziert der Systemverwalter sie zunächst. Der erforderliche Sequencer ist eine
Softgrid-Komponente, die sich unabhängig vom Softgrid-Server installieren lässt. Der erste Schritt
beim Sequencing ist die Planung: Für jede Anwendung ist es wichtig zu wissen, welche Änderungen
diese bei einer herkömmlichen Installation auf einem Computer durchführt. Beachtenswert sind zum
Beispiel die Programmdateien, DLLs, INI-Dateien und natürlich die Registry-Einstellungen. Microsoft
empfiehlt, das Sequencing auf einer speziellen Arbeitsstation durchzuführen, auf der nur das
Betriebssystem und der Sequencer installiert sind. Während des Sequencings überwacht Softgrid,
welche Änderungen die Installation der Anwendung an der Registry vornimmt, und baut diese in das
Paket ein. Natürlich dürfen während des Sequencings keine anderen Änderungen laufen, da Softgrid
diese sonst ebenfalls in das Paket einbauen würde. Hier liegt eine weitere Schwachstelle von
Softgrid: Systemverwalter müssen beim Erstellen von Paketen exakt darauf achten, was aufgenommen
wird und was nicht. Schnell schleichen sich Fehler ein, was darin resultiert, dass virtuelle
Applikationen nicht funktionieren. Idealerweise steht ein Image der Sequencer-Arbeitstation zur
Verfügung, mit dessen Hilfe der Computer nach dem Sequencing einer Anwendung wieder in den
urspünglichen Zustand zurückgesetzt wird.

Da jede Anwendung in einer eigenen virtuellen Umgebung läuft, muss die Basis des Betriebssystems
nämlich immer gleich sein. Genaues und sorgfältiges Arbeiten ist hier vonnöten, um die virtuelle
Infrastruktur so stabil wie möglich zu gestalten. Idealerweise existiert auf der Arbeitsstation für
den Sequencer eine eigene Partition, um das Betriebssystem von der virtuellen Anwendung zu trennen.
Durch die Möglichkeit, die Testumgebungen auch auf virtuellen Computern zu betreiben, sollte dies
keine Probleme verursachen.

Nach der Vorbereitung der Arbeitsstation spielen Systemverwalter den Sequencer auf, der als
MSI-Datei innerhalb von Softgrid vorliegt. Nach der Installation findet sich für den Sequencer eine
eigene Programmgruppe auf dem PC. Ein Assistent hilft, Anwendungen zu installieren und als
SFT-Dateien zu sequenzieren. Anwendungen streamt der Server natürlich auch auf Basis von
Richtlinien. Damit steht eine weitgehend automatisierte Infrastruktur für die Desktop-Optimierung
zur Verfügung.

Dass verschiedene Anwendungen in getrennten virtuellen Umgebungen laufen, bietet einerseits
Vorteile, da zum Beispiel Abstürze einzelner Anwendungen andere Programme nicht in Mitleidenschaft
ziehen. Andererseits birgt dies auch einen erheblichen Nachteil: Der Austausch von Daten zwischen
zwei Applikationen ist durch diese Technik nämlich nur über Umwege, mitunter auch gar nicht
möglich. Soll zum Beispiel ein ERP-System Daten nach Excel exportieren, kann dieser Datenaustausch
nicht auf herkömmlichem Wege stattfinden, da beide getrennt voneinander betrieben werden. Was auf
normalen Arbeitsstationen einfach funktioniert, stellt Systemverwalter daher unter Umständen vor
Probleme. Deshalb müssen die Einführung von Softgrid und die Paketierung genau geplant sein, vor
allem im Hinblick auf einen notwendigen Datenaustausch verschiedener Programme untereinander. Mit
der kommenden Version 4.5 nimmt sich Microsoft dieses Problems an.

Ausblick: Application Virtualization 4.5

Microsoft arbeitet an der Version 4.5 von Softgrid mit der Bezeichnung "Microsoft Application
Virtualization". Diese ist derzeit als Beta-Version zu Testzwecken verfügbar. Die kommende Version
ergänzt Microsoft um einige neue Techniken. So soll es künftig möglich sein, von einer virtuellen
Umgebung auf Ressourcen einer anderen virtuellen Umgebung zuzugreifen. Virtuelle Anwendungen sollen
dadurch besser miteinander kommunizieren können. Auch lassen sich damit gemeinsam verwendete
Middleware oder Plug-ins besser nutzen.

Außerdem bietet die Version 4.5 eine Unterstützung von Zweigstellen: Der Systemverwalter
installiert in den Niederlassungen einen untergeordneten Softgrid-Server, der sozusagen als Proxy
zum Softgrid-Server in der Zentrale dient. Dieser untergeordnete Server benötigt weder ein Active
Directory noch einen SQL-Server. Die Verwaltung findet über die Zentrale statt. Zusätzlich wollen
die Redmonder die Sequenzierungstechniken verbessern und neue Verwaltungsmöglichkeiten auch für die
Befehlszeile einführen. Die Veröffentlichung der Version 4.5 ist für Sommer 2008 geplant.
Interessante Informationsquellen für die neue Version sind die Websites www.brianmadden.com und
www.softgridguru.com. Auch die deutsche Seite www.softgrider.de bietet zahlreiche Informationen
sowie Tipps und Tricks zum Thema.

Info: Microsoft Tel.: 01805/251195 Web:
www.microsoft.com/systemcenter/softgrid


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+