Application Virtualization mit SoftGrid

Mit SoftGrid bietet Microsoft seit kurzem eine auf Virtualisierung basierende Technologie zur Bereitstellung von Anwendungen. Wir zeigen, was hinter dem neuen Konzept steckt.

Artikel erschienen in Swiss IT Magazine 2007/07

     

Microsoft nimmt das Thema der Virtualisierung ernst. Das wird schon daran deutlich, dass man nicht nur mit dem Windows Server «Longhorn» neue, Hypervisor-basierende Virtualisierungs­lösungen bringen wird, sondern mit der durch den Erwerb von Softricity erhaltenen SoftGrid Application Virtualization einen weiteren Ansatz der Virtualisierung anbietet.
Die Fragen, die sich damit stellen, sind einerseits die nach dem Konzept einer solchen Anwendungsvirtualisierung und andererseits danach, wie dieser Ansatz zu anderen Virtualisierungstechnologien positioniert ist. Die zweite Frage ist einfacher zu beantworten: Anwendungsvirtualisierung kann auch in der Kombination mit anderen Virtualisierungstechnologien eingesetzt werden. Ob und wann das Sinn macht, ist dann aber doch eine etwas schwierigere Frage, auf die noch eingegangen werden wird.


Die Grundlagen der Anwendungsvirtualisierung

Die Anwendungsvirtualisierung stellt innerhalb eines Betriebssystems für Anwendungen eigene Instanzen der Systemkomponenten bereit. Jede Anwendung wird in einer Art «Sandbox» ausgeführt, also einer geschlossenen Umgebung, in der sie vor anderen Programmen geschützt ist. Die Anwendungen sehen eine System­umgebung, in der sie ihre eigenen Konfigurationsinformationen ablegen können und in der sie, was im Vergleich zu anderen Virtualisierungsansätzen wichtig ist, auch auf alle lokalen Dienste zugreifen können. Funktionen wie das Ausschneiden und Einfügen zwischen Anwendungen, Druckfunktionen, der Zugriff auf Netzwerklaufwerke und lokal angeschlossene Geräte können dadurch genutzt werden.
Das unterscheidet sich deutlich von der Art und Weise, in der Anwendungen normalerweise ausgeführt werden. Gewöhnlich läuft jede Applikation auf dem Betriebssystem und greift auf lokale Ressourcen zu, die auch von anderen Programmen genutzt werden. Der Nachteil dabei ist, dass es potentiell zu Problemen mit anderen Anwendungen kommen kann, beispielsweise durch DLL-Konflikte. Diese Schwierigkeiten hat man inzwischen zwar deutlich besser im Griff als früher – trotzdem können hier auch heute noch hin und wieder Probleme auftreten.
Durch die Bereitstellung einer virtuellen Umgebung für einzelne Programme werden beispielsweise die Daten in einem eigenen Bereich gespeichert. Es werden aber auch Systemdienste abstrahiert. Auf andere Festlegungen in der Registry kann dagegen nur lesend zugegriffen werden, um unkoordinierte Änderungen zu vermeiden.
Das erlaubt die parallele Ausführung von Applikationen in einer Weise, bei der mehrere Anwendungen mit jeweils eigenen Einstellungen arbeiten, also Konflikte zwischen den Programmen oder mit dem Betriebssystem vollständig ausgeschlossen werden.


Die virtualisierten Komponenten

Microsoft SoftGrid virtualisiert wesentliche Teile des Systems. Das beginnt bei der Registry, die aus Sicht der Anwendungen jeweils als virtuelle Registry dargestellt wird. Die Einstellungen, die von einer Anwendung in der Registry vorgenommen werden, sind für andere Einstellungen und für Registry-Editoren auf Systemebene nicht sichtbar. Beim Zugriff wird mit einem «Overlay» gearbeitet, bei der ein Programm einerseits die Registry-Parameter der System­ebene – wo es keine anwendungsspezifischen Änderungen gibt – und andererseits seine eigenen Festlegungen sieht. Alle Änderungen werden aber anwendungsspezifisch gespeichert, so dass die Parameter auf Systemebene unverändert bleiben.
Auf der Ebene des Datei­systems erfolgt eine teilweise Virtualisierung, die pro Anwendung konfiguriert werden kann. Es kann also in ähnlicher Weise wie bei der Registry mit einem virtuellen Dateisystem für ausgewählte Ordner gearbeitet werden. DLLs werden dabei generell pro Anwendung bereitgestellt. Auch COM- und DCOM-Schnittstellen sowie die IPC (Inter Process Communication) können virtualisiert werden. Gleiches gilt auch
für .ini-Dateien und Umgebungsvariablen. Und sogar Schriftarten lassen sich damit pro Anwendung einrichten, um so die Last auf Systemebene minimieren zu können.


Paketierung und Bereitstellung

Die Anwendungen müssen für diese virtuelle Umgebung bereitgestellt werden. Dazu bietet SoftGrid eine eigene Umgebung zur Erstellung von virtuellen Anwendungspaketen. Dabei werden unter anderem auch Abhängigkeiten von DLLs analysiert, um ein Maximum an Zuverlässigkeit zu bieten.
Die Pakete werden anschliessend auf einem Distributionsserver bereitgestellt und können von diesem auf die Client-Systeme übertragen werden. Dabei wird mit einer als Application Streaming bezeichneten Technologie gearbeitet, die Pakete sehr schnell verfügbar machen soll. Microsoft nennt für die Office-2003-Suite einen Zeitraum von weniger als zwanzig Minuten für eine vollständige Übertragung.






Diese Installation ist allerdings nur eine Methode des Zugriffs. Beim ersten Start einer Anwendung wird generell über das Streaming zunächst nur die Basis des benötigten Anwendungscodes übertragen. Microsoft nennt 20 bis 40 Prozent des gesamten Codes als Anhaltspunkt. Weitere Teile werden im Hintergrund geliefert.
Auf diese Weise können Benutzer Anwendungen aber – je
nach Grösse und Netzwerk-Performance – schnell starten und nutzen. In jedem Fall übertragen werden allerdings die nötigen virtuellen Strukturinformationen für die Applikation.
Die Umgebungsinformationen wie beispielsweise die virtuelle Registry bleiben in jedem Fall auf dem Zielsystem gespeichert. Anwendungen können aber auch vollständig übertragen werden, um beispielsweise bei Netzwerkproblemen oder bei der mobilen Nutzung verwendet werden zu können. Der Reiz des Streaming liegt also weniger darin, Programme generell über das Netzwerk für die lokale Ausführung zu laden, sondern vor allem in der schnelleren Bereitstellung von Anwendungen für eine erstmalige Ausführung.
Wichtig ist auch die Steuerung der Anwendungen und ihrer Ausführung über Richtlinien. Damit kann konfiguriert werden, wer welche Applikation sehen darf. Zusätzlich lässt sich auch die Lizenzierung überwachen.


Integration mit SMS und Terminal Services

Für SoftGrid gibt es zwei wichtige Erweiterungen. Eine ist der SMS Connector, mit dem die Bereitstellung von Anwendungen über die SMS-Infrastruktur erfolgen kann. Diese können damit sowohl vorab installiert als auch für die On-Demand-Nutzung bereitgestellt werden. Sie lassen sich aber wie andere Softwarepakete innerhalb der SMS-Infrastruktur verwalten. Das ist vor allem für Unternehmen, die den SMS bereits einsetzen, wichtig, um nicht zwei unterschiedliche Infrastrukturen für die Verwaltung von Anwendungen zu haben.




Die zweite Erweiterung ist die SoftGrid Application Virtualization for Terminal Services. In diesem Fall können mehrere Anwendungen in virtualisierter Form parallel auf Terminal-Servern bereitgestellt werden. Damit lassen sich die Ressourcen solcher Server besser nutzen, da künstliche Trennungen von Servern aufgrund von Anwendungskonflikten nicht mehr erforderlich sind. Ausserdem sind die SoftGrid-Pakete so ausgelegt, dass es keine Unterschiede zwischen der lokalen Installation und der Nutzung auf Terminal-Servern gibt, was die Bereitstellung vereinfacht.
Darüber hinaus gibt es von Microsoft inzwischen auch ein Desktop Optimization Pack for Software Assurance, mit dem weitergehende Funktionen beispielsweise im Bereich des Asset-Managements und der Business-Intelligence-Funktionen für die Auswertung des Software-Status bereitgestellt werden.






Grafik


Fazit

SoftGrid ist mit seiner Funktionalität eine sehr interessante Ergänzung zum bisherigen Portfolio von Microsoft sowohl im Bereich des Systemmanagements als auch bei der Virtualisierung. Es spricht einiges dafür, dass die Technologie die Art und Weise, wie Anwendungen zukünftig bereitgestellt werden, grundlegend verändern wird. In jedem Fall lohnt sich bereits heute ein näherer Blick auf dieses Produkt für jeden, der für das Deployment und den Betrieb von Anwendungen auf Desktops verantwortlich ist.


SoftGrid versus klassische Virtualisierung

Microsoft SoftGrid ist, wenn man
diese Funktionen in Summe betrachtet, eine der wichtigsten Technologien für die Bereitstellung von Anwendungen. Die bisherigen Alternativen in diesem Bereich sind neben der lokalen Installation insbesondere die klassische Softwareverteilung beispielsweise über den SMS und die Verwendung von Terminal-Servern.
Gegenüber diesen beiden Fällen bringt SoftGrid den Vorteil, dass Konflikte zwischen verschiedenen Anwendungen minimiert werden, da jede Applikation in ihrer eigenen virtuellen Umgebung ausgeführt wird. Gerade auch bei Terminal-Servern werden viele Probleme, die anson­sten zwischen Anwendungen entstehen können, umgangen, was die Technologie hier zu einer sinnvollen Ergänzung macht.




Die unterschiedlichen Deployment-Mechanismen, also eine vollständige Installation oder das Streaming on Demand, sind ebenfalls interessant, um Applikationen bereitzustellen. Grundsätzlich geht so etwas natürlich auch mit dem SMS. Der Reiz von SoftGrid liegt hier aber in dem effizienten Streaming-Mechanismus.
Deutlich wird aber auch, dass Microsoft SoftGrid wenig Überdeckung mit anderen Konzepten der Virtualisierung hat. Da die Client-Virtualisierung bisher noch eher die Ausnahme ist und wenn, dann vor allem in Testumgebungen genutzt wird, in denen sie auch die sinnvolle Lösung ist, stellt SoftGrid eine wichtige Ergänzung dar.




Eine Server-Virtualisierung ist dagegen unabhängig von SoftGrid. Denn es geht eben nicht um die Virtualisierung vollständiger Systemumgebungen, sondern um eine Optimierung der Anwendungsbereitstellung. Die einzige Überlappung findet sich bei Terminal-Servern, wo man heute teilweise mit der Server-Virtualisierung arbeitet, um kleinere Instanzen bereitzustellen. Hier könnte man mit SoftGrid die Notwendigkeit für solche kleineren und isolierten Instanzen verringern, wenn diese nur zur Vermeidung von Anwendungskonflikten definiert werden.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wie hiess im Märchen die Schwester von Hänsel?
GOLD SPONSOREN
SPONSOREN & PARTNER