Microsoft Application Virtualization (App-V) přehled

Ondřej Výšek
6 minuty, 19 sekundy
1

Aplikační virtualizace se odlišuje od ostatních virtualizačních technologií jako například Virtual PC či Virtual Server nebo Terminálových služeb tím, že nevyžaduje rozsáhlé investice do nového hardware ani změnu infrastruktury. Při využití virtualizace Softgrid je možné konvertovat aplikace, která jsou provozovány v prostředí Windows do virtuálních služeb, které jsou spravovány a nabízeny centrálně. Takové aplikace (služby) jsou následně spouštěny na koncových počítačích uživatelů na vyžádání.

Při spuštění virtualizované aplikace není na koncovou stanici uživatele tato aplikace instalována, ale je spouštěn balíček, který aplikaci obsahuje. Pomocí Softgrid agenta, který je jediný na koncovém počítači nainstalovaný je možné z virtuální aplikace přistupovat k místnímu PC a využívat veškeré prostředky, jenž jsou na koncové stanici k dispozici – souborový systém, různá zařízení jako tiskárny, zvuková karta, USB zařízení.


Jednotlivé aplikace jsou od sebe navzájem izolovány a proto je možné na jednom počítači používat zároveň aplikace, které nejsou navzájem kompatibilní – například z důvodu kolize různých knihoven.

![](Picture2_a.png?lightbox) ![](Picture2_b.png?lightbox)
Tradiční model provozu aplikací Izolované virtuální aplikace

Pro přípravu aplikací je využito nástroje Softgrid Sequencer, který provede záznam instalace a spuštění aplikace podobně jako tomu je při tvorbě MSI balíčků. Takto připravená aplikace se umístí na Softgrid server, ze kterého jej následně klienti stahují a spouštějí. Při spouštění aplikace není kopírován na klientskou stanici celý balíček, ale vždy jen ta část, která je zapotřebí pro běh základní části aplikace. Balíček, který byl již na stanici spuštěn zůstává uložen na disku pro další použití. Virtuální aplikace je také možné spouštět na počítačích, které nemají připojení na Softgrid server a to distribucí balíčků do mezipaměti například pomocí CD-ROM. Pomocí technologie Softgrid lze také dosáhnout jednoduššího přechodu mezi jednotlivými verzemi operačních systémů, kdy není nutné všechny aplikace instalovat na všechny počítače a tím se i snižují náklady na přípravu instalačních sad pro instalace počítačů.

Komponenty Microsoft Application Virtualization

Microsoft Application Virtualization se skládá z několika komponent. Na serveru, který řídí přiřazení aplikací jednotlivým uživatelům, a je pomocí něj řešena distribuce aplikací na koncové stanice uživatelů, je nainstalována komponenta Microsoft Application Virtualization server. Jedná se o jednoduchou službu, která využívá služeb IIS a souborového systému jako úložiště jednotlivých virtualizovaných aplikací. Komunikace mezi serverem a klientem probíhá po TCP portu 554, který lze měnit v rámci konfigurace. Jako úložiště konfiguračních informací je využíván SQL Server 2005, který může být i ve verzi Express. Přiřazení jednotlivých aplikací uživatelům je řízeno pomocí skupin v  ![](SGAdmin.png?lightbox) Active Directory, a je možné zvolit několik základních modelů přiřazení aplikací. Prvním, v podstatě nejjednodušším modelem, je odpovídající počet skupin pro uživatele odpovídající počtu poskytovaných aplikací. Druhý, poněkud složitější model, který vyžaduje precizní zmapování rolí jednotlivých uživatelů (například účetní, prodejce, skladník a další). Následně je možné vytvořit skupiny pro uživatele, které odpovídají jednotlivým rolím uživatelů v rámci organizace. Takovéto skupiny pak mohou obsahovat i více aplikací. Při volbě druhého modelu je podstatně jednodušší změna pozice uživatele v rámci organizace a přiřazení odpovídajících aplikací uživateli.

 

![](Reporty.png?lightbox)

Administrátorská konzole je postavena na technologii Microsoft Management Console (MMC) 3.0, jedná se tedy o standardní administrátorské rozhraní, které je využíváno i v jiných nástrojích. Vlastní konzole je pak rozdělena do několika přehledných částí, ve kterých se například přidávají aplikace, jež mají být zpřístupněny uživateli, přiřazují licence pro jednotlivé aplikace či provádí reportování toho, jakým způsobem jsou jednotlivé aplikace využívány nebo který uživatel jaké aplikace používá.

 

Microsoft Application Virtualization (MAV) klient musí být nainstalovaný na všech počítačích, na kterých mají být zpřístupněny virtualizované aplikace. Tohoto klienta lze instalovat na systémech Microsoft Windows 2000, XP a Vista. Instalace na Windows Server 2003 je také možná a virtualizované aplikace lze nabízet v rámci terminálové relace.

SGcli Klient jako takový sestává ze dvou služeb a několika systémových ovladačů (sftplay.sys – ovladač SystemGuard, Sftfltr.sys – ovladač virtuálního souborového systému, Sftrec.sys – starost o virtuální diskové jednotky). Instalace MAV klienta je prováděna pomocí Windows Installer a lze tak provést jednoduše distribuci.

Klient se následně stará o komunikaci se serverem, kde jsou zpřístupněny aplikace. Jakmile klient zjistí, že uživatel má zpřístupněnu novou aplikaci, automaticky stahuje zavaděč, kde jsou uvedeny informace o tom, v jakém pořadí a jaké informace mají být přesunuty na klientskou stanici.

 

SpouštěníPo spuštění aplikace uživatelem jsou postupně přenášeny informace na počítač, kde je aplikace spouštěna – data jsou streamována. Aktuální stav o spouštěné aplikaci je možné sledovat ve stavové části obrazovky. Jakmile jsou data spouštěné aplikace přenesena  na počítač, jsou uložena v lokální cache paměti a při dalším spuštění aplikace nejsou žádná data přenášena ze serveru. Doba, po kterou jsou aplikace uchovány v lokální cache paměti, je možné centrálně nastavit. Také je možné cache paměť předvyplnit aplikacemi, které má uživatel zpřístupněn, například pomocí System Center Configuration Manageru 2007 a tím tak snížit nároky na přenášená data po síti při spouštění aplikací.

 stream

sequencingSequncer je naprosto nezávislá komponenta Microsoft Application Virtualization. Pomocí tohoto nástroje jsou instalace programů převáděny na balíčky, které je možné následovně distribuovat pomocí MAV serveru. Proces sekvencování je v podstatě totožný s převodem klasických exe instalací do instalací Windows Installer. Tento proces se nazývá „repackaging“. Výsledkem tohoto procesu není však MSI balíček, ale sada souborů (OSD – definice aplikace, SFT – balíček obsahující vlastní aplikaci, SPRJ – definice celého balíku aplikací).

Při vytváření virtuální aplikace je nutné všechny aplikace, které jsou obsaženy v balíčku aplikací spustit, aby bylo možné určit jaká data a v jakém pořadí mají být předána na lokální počítač při spouštění aplikace.

Pomocí Sequenceru je možné snadno modifikovat existující balíčky, například jeli nutné provést nějakou aktualizaci aplikace apod.

Autor: Ondřej Výšek

Ondřej je Microsoft MVP od roku 2004, v roce 2008 založil komunitní web optimalizovane-it.cz. Za svou IT karieru, jenž započala v roce 1993 prošel celou řadou pozic, od konzultanta, přes architekt, až po vytváření vizí a strategií zákazníků. V prostředích, ve kterých pomáhal byly desítky, ale i stovky tisíc uživatelů a systémů. V posledních letech se zabývá především cloudovými technologiemi Microsoft 365 a Azure ve společnosti KPCS CZ.

Následující článek