Anwendungsvirtualisierung mit Microsoft App-V 5: Der Einstieg

Einen „Opener“ für das Thema Anwendungsvirtualisierung mit Microsoft App-V 5.0 zu finden fiel uns ehrlich gesagt nicht ganz einfach. Das Thema „Anwendungsvirtualisierung“ ist heute eigentlich noch ein klassisches Nischenthema, das aber sehr stark im „Kommen“ ist. Da wir uns jetzt schon einige Jahre mit diesem Thema beschäftigen, häufig aber beim Erwähnen der Buzzwords „App-V“ oder „Anwendungsvirtualisierung“ leere Blicke ernten, starten wir „seicht“ in diese Kategorie unseres Blogs. Denn eins ist klar: Die Expertise in diesem Bereich ist rar gesät und die Musik spielt eigentlich im englischsprachigen Bereich des Internets. Wir wagen trotzdem den Versuch euch das Thema näher zu bringen und starten mit unserer Antwort auf die Fragestellung „warum wir Anwendungsvirtualisierung betrieben sollten“. Los geht’s!

Was ist Anwendungsvirtualisierung?

Laut Wikipedia ist „Anwendungsvirtualisierung eine Softwaretechnologie, die die Anwendung vom ausführenden Betriebssystem isoliert und eine Zwischenschicht zwischen Anwendung und Betriebssystem als Laufzeitumgebung zur Verfügung stellt“. Soweit so gut. Was bedeutet das aber eigentlich nun genau?

Vermutlich jeder von euch kennt „Servervirtualisierung“ und hat an der einen oder anderen Stelle schon einmal mit virtuellen Maschinen gearbeitet. Die anderen kennen zusätzlich vielleicht noch die Präsentationsvirtualisierung und können diese auch einordnen. Die Anwendungsvirtualisierung verfolgt das gleiche Prinzip, setzt aber genau zwischen diesen beiden Schichten an.

 

Formen der Virtualisierung

Übersicht der unterschiedlichen Formen der Virtualisierung auf den verschiedenen Ebenen eines Systems.

 

Gehen wir, wie in der Abbildung zu sehen, davon aus, dass ein System so aufgebaut ist. So wird deutlich, dass die Applikationen mit Hilfe der Anwendungsvirtualisierung vom Betriebssystem isoliert werden. Isolieren bedeutet in diesem Zusammenhang, dass die Anwendungen unabhängiger vom Betriebssystem laufen. Man spricht hier auch häufig davon, dass die Applikationen, die über Microsoft App-V bereitgestellt werden, in ihren eigenen „Blubbles“ bzw. „Blasen“ laufen. Die virtualisierte Anwendung kommuniziert dann nur mit Hilfe von definierte Schnittstellen über diesen Virtualisierungslayer, in unserem Falle der Microsoft App-V 5 Client, mit dem Betriebssystem oder/und anderen Anwendungen. Dabei spielt es zunächst einmal keine Rolle, ob die anderen Anwendungen ebenfalls virtualisiert sind oder nativ installiert wurden. Ohne den Weg über diesen Virtualisierungslayer läuft nichts.

Warum eigentlich Anwendungsvirtualisierung?

Um der Frage „Warum sollten wir Anwendungsvirtualisierung einsetzen?“ zu begegnen, müssen wir uns einmal kurz angucken was eigentlich die Herausforderungen im Umgang mit Anwendungen aus Sicht der IT-Administration sind.

  • Anwendungen verändern das Betriebssystem während der Installation
  • Die Automatisierung der Installation ist teilweise unmöglich oder aber dauert sehr lange
  • Die Installation von Anwendungen erfordert unter Umständen eine Downtime des Systems
  • Einige Anwendungen verursachen Datei- und Registrierungskonflikte
  • Viele De-Installationsprozesse sind oft unvollständig und hinterlassen Reste auf dem System
  • Updates für Anwendungen müssen eingespielt werden
  • usw.

Wenn wir jetzt gewissenhaft an die Administration unserer Systeme herangehen, kommen wir ziemlich schnell zu den Schluss, dass wir unsere Systeme häufiger komplett neu aufsetzen und weniger deinstallieren sollten. Genau hier setzt jetzt Microsoft App-V an. Wir erkaufen uns mit Microsoft App-V also folgende Vorteile:

  • Applikationskonflikte werden eliminiert
  • Anwendungen werden im Grunde wie normale Office-Dateien, also Daten, behandelt
  • Updates können im laufenden Betrieb eingespielt werden
  • Anwendungen können im laufenden Betrieb entfernt werden
  • Parallelbetrieb von Anwendungen, die sich ansonsten gegenseitig stören, ist möglich
  • Der Fokus des Troubleshooting richtet sich auf die Applikation und nicht mehr auf das Betriebssystem
  • Grundeinstellungen können während des Sequenzierens der Anwendung definiert werden
  • Benutzerkonfigurationen werden automatisch benutzerdefiniert abgelegt.

Alles in allem eine schöne Liste an Vorteilen, oder?

Welche Anbieter gibt es am Markt?

Wie viele Anbieter es tatsächlich gibt, weiß ich gar nicht so genau. Eine größere Rolle spielen aber bislang lediglich

  • Microsoft App-V (ehemals Softricity)
  • VMWare ThinApp
  • Citrix mit dem Citrix Profiler

Microsoft ist hier mit App-V ganz klar Marktführer. Zu Citrix mit dem Citrix Profiler ist zu sagen, dass Citrix das Produkt aufgibt und bereits offiziell empfiehlt auf Microsoft App-V umzusteigen. Wenn ihr euch also mit anderen Anbieter als Microsoft auseinandersetzen wollt, macht bitte um Citrix und den Citrix Profiler einen Bogen herum. Das endet sonst in einer Sackgasse! 🙂

Wie sehen die benötigten Komponenten für eine Microsoft App-V 5 Infrastruktur aus?

Microsoft App-V 5 Management Server:

Der „Management Server“ stellt in einer Microsoft App-V 5 Infrastruktur den Administrationspunkt dar und wird zum Verwalten der Umgebung genutzt. Es werden zum Beispiel sequenzierte Applikationen eingecheckt, die berechtigten Usergruppen konfiguriert usw. Wichtig ist hierbei zu wissen, dass einzig der Management Server direkt mit der Datenbank kommuniziert. Das Ganze ist als Web-Service auf einem IIS realisiert. Der Management Server „lauscht“ also auf einem anderen Port als der IIS. Diesen Port muss man während der Installation explizit festlegen.

Microsoft App-V 5 Publishing Server:

Der Publishing Server fungiert in einer Microsoft App-V Infrastruktur als Schnittstelle zwischen dem App-V Client und dem Management Server. Der Publishing Server fragt den Management Server regelmäßig auf neue Informationen ab. In früheren Versionen war es so, dass der Publishing Dienst „auf Abruf“ reagiert hat. Das ist also eine grundlegende Änderung zu früheren Versionen. Wenn jetzt der Client Informationen vom Publishing Server erfragt, liefert dieser ein XML-Dokument zurück. Das Ganze kann man sich auch wunderbar angucken, wenn man über einen Browser auf die entsprechende Adresse navigiert.

Analog zum Microsoft App-V 5 Management Server ist auch der Publishing Server wieder eine IIS-Anwendung und muss ebenfalls auf einem zusätzlichen Port konfiguriert werden. Sollten der Management Server und der Publishing Server auf dem gleichen System laufen, müssen natürlich auch zwei unterschiedliche Ports konfiguriert werden.

Microsoft SQL-Server:

In der Microsoft SQL Datenbank für App-V werden sämtliche Informationen mit Ausnahme der eigentlichen Software-Pakete gespeichert. Das können zum Beispiel Meta-Informationen zu den Softwarepaketen, Konfigurationsinhalte zu den „Access Groups“ sein oder aber auch Informationen zur eigentlichen Infrastruktur. Guckt am besten einfach mal selber rein! 🙂

Microsoft App-V 5 Reporting (Server):

Hinter dem Reporting Server befinden sich im Endeffekt wieder eine IIS-Webapplikation sowie eine Datenbank. Der Microsoft App-V 5 Client muss jetzt aber noch extra konfiguriert werden. Standardmäßig werden unter anderem Daten wie Betriebssystem, Hostname, App-V Client Version, Anwendungsname, Streaming Server und noch vieles mehr gespeichert.

Package Repository / Download Server:

RTSP ist weg! Das war es auch schon. 🙂 Nein! – Microsoft setzt mit Einführung der Version 5 von App-V auf http(s) oder zum SMB. Das bedeutet, dass kein spezieller Server mehr benötigt wird, sondern einfach ein Webserver oder ein Fileserver als Ablageort benutzt werden kann. Es wird also kein proprietäres Streaming-Protokoll mehr verwendet. Das Handling von größeren Paketen und die damit verbundenen Probleme von abbrechenden Downloads bei großen Paketen werden auch abgefangen. Abgebrochene Downloads werden nicht komplett wiederholt, sondern lediglich die fehlerhaften bzw. fehlenden Daten fließen erneut.

Das Package Repository wird übrigens vom Management Server angesprochen und liefert dann Meta-Daten sowie Konfigurationsvorlangen. Der Client spricht das Repository an, um die eigentlichen Softwarepakete herunterzuladen.

Microsoft App-V 5 Client:

Der App-V 5 Client ist, wie in den früheren App-V Versionen, das Herzstück. Komplett überholt und mit vielen Aufgaben beauftragt, besteht der Client aus vielen Modulen. Beispielsweise wären das das Abrufen von Publishing Daten, das Herunterladen von Softwarepaketen, dem Erzeugen der virtuellen Umgebung (sprich, der „Bubble“) und noch vieles mehr. Der Microsoft App-V Client kommuniziert mit dem Publishing Server, dem Report Server sowie dem Package Repository. Er kommuniziert hingegen nicht mit dem Management Server und auch nicht mit der Datenbank direkt.

Microsoft App-V 5 Sequencer:

Der Microsoft App-V Sequencer wird benötigt, um das Sequenzieren von Anwendungspaketen durchzuführen. „Sequenzieren“ ist der Prozess, bei dem alle Installations- und Einrichtungsprozesse einer Software überwacht und aufgezeichnet werden. Am Ende kommen dann vereinfacht gesagt „ein paar Dateien heraus mit denen der App-V Client etwas anfangen kann“. Der Sequencer nimmt die Position einer Stabstelle ein. Er benötigt keinen direkten Kontakt zu anderen Microsoft App-V 5 Komponenten.

 

Übersicht der Microsoft App-V 5 Komponenten

Microsoft App-V 5 Komponenten im Überblick.

 

Man kann alle serverseitigen Dienste auf einer Maschine betreiben. Das ist unter Beachtung der unterschiedlichen Portkonfiguration pro Service ohne Probleme realisierbar, aber für Produktionsumgebungen aus Performancegründen nicht unbedingt zu empfehlen. Zusätzlich können die einzelnen App-V 5 Dienste natürlich auch auf separaten Maschinen, bzw. virtuellen Maschinen betrieben werden. Der Einsatz von HTTP und SMB anstatt des proprietären Streaming-Protokolls bietet auch viel Potenzial, um Microsoft App-V 5 besser in die vorhandene Umgebung zu integrieren.

Alles in allem gehört die Anwendungsvirtualisierung (mit Micrsoft App-V 5) zu den Themen, um die man kaum noch herum kommt.

 

Print Friendly, PDF & Email
0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.