Was ist Software Virtualisierung?
Im Gegensatz zur Server Virtualisierung wird hier keine Hardware (Prozessor, HDD, Speicher, etc…) einem oder mehreren virtuellen Gästen bereitgestellt, sondern eine komplette Anwendung in eine eigene isolierte Umgebung (auch Sandbox genannt) erstellt bzw. in der App-V Sprache: “sequenciert”. Diese Umgebung ist vom Betriebssystem abgekapselt.
In dieser virtuellen Laufzeitumgebung befinden sich für die jeweilige Anwendung notwendigen virtuellen Verzeichnisse, virtuellen Registry Einträge und virtuelle .dlls etc… Der Clou hierbei ist, dass Konflikte zwischen Betriebssystem – virtuelle Anwendung, virtuelle Anwendung – “normale” Anwendung oder virtuelle Anwendung – virtuelle Anwendung vermieden werden.
[Quelle: http://www.microsoft.com/systemcenter/appv/techoverview.mspx]
Die virtuelle Applikation liest Konfigurationsdateien aus dem Betriebssystem und verarbeitet diese in der virtuellen Umgebung.
Durch die Isolierung und der Ausweg aus der dll-Hölle ergeben sich zahlreiche faszinierende Möglichkeiten, auf die ich später eingehen möchte.
Der Ablauf der Sequencierung einer Software ähnelt dem einer konventionellen Softwareverteilung und dauert auch ungefähr genauso lange – ist auch kein Wunder, da die Software installiert sequenciert und angepasst werden muss.
Der Hauptunterschied zwischen der konventionellen Softwareverteilung und der Applikations-Virtualisierung liegt in der Bereitstellung. Die fertig sequencierte Software wird nicht auf den Arbeitsplätzen lokal installiert, sondern gestreamt und zwar on demand. Die Anwender sehen je nach Konfiguration z.B. das Desktop-Icon und beim Ausführen werden nur die Datenblöcke gestreamt, die gerade von der Software benötigt werden. So werden zum Beispiel bei einem virtualisierten Adobe Reader 9.0 nur ein Bruchteil der gesamten Größe übertragen, die zum Starten der Anwendung benötigt wird. Bei weiteren Aktivitäten in der Anwendung werden im Hintergrund die benötigten Programmblöcke nachgeladen. Cache-Funktionalitäten helfen dabei den Netzwerktraffic gering zu halten und einmalig gestreamte Anwendungen sogar Offline zu benutzen.
Hört sich doch interessant und vielversprechend an, oder? Im nächsten Beitrag versuche ich die Frage zu beantworten, warum und ob man überhaupt diese Technik braucht, wenn man bereits eine Terminal Server Umgebung und/oder eine Softwareverteilungslösung besitzt.
Gruß
Andy


