Virtualizace aplikací - Application virtualization

Virtualizace aplikací (také známá jako Process Virtualization) je softwarová technologie, která zapouzdřuje počítačové programy ze základního operačního systému, na kterém je spuštěna. Plně virtualizovaná aplikace není nainstalována v tradičním smyslu, i když je stále spouštěna, jako by byla. Aplikační chová za běhu, jak to je přímo propojení s původním operačním systémem a všemi prostředky, které spravuje, ale může být izolován nebo izolovaném prostoru v různé míře.

V této souvislosti se termín „virtualizace“ vztahuje na zapouzdřený artefakt (aplikace), což je zcela odlišné od jeho významu v hardwarové virtualizaci , kde se odkazuje na abstrahovaný artefakt (fyzický hardware).

Popis

Schéma virtualizace aplikací
Ilustrace aplikace spuštěné v nativním prostředí a spuštěné v prostředí virtualizace aplikace

Plná virtualizace aplikací vyžaduje virtualizační vrstvu. Vrstvy virtualizace aplikací nahrazují část běhového prostředí běžně poskytovaného operačním systémem. Vrstva zachycuje všechny diskové operace virtualizovaných aplikací a transparentně je přesměruje do virtualizovaného umístění, často do jednoho souboru. Aplikace si stále neuvědomuje, že přistupuje k virtuálnímu prostředku místo k fyzickému. Vzhledem k tomu, že aplikace nyní pracuje s jedním souborem namísto mnoha souborů rozšířených po celém systému, je snadné spustit aplikaci na jiném počítači a dříve nekompatibilní aplikace lze spouštět vedle sebe. Mezi příklady této technologie pro platformu Windows patří:

Výhody

Virtualizace aplikací umožňuje aplikacím běžet v prostředích, která nevyhovují nativní aplikaci. Například Wine umožňuje provoz některých aplikací Microsoft Windows na Linuxu .

Virtualizace aplikací snižuje náklady na integraci a správu systému tím, že udržuje společnou základní úroveň softwaru napříč různými počítači v organizaci. Menší integrace chrání operační systém a další aplikace před špatně napsaným nebo chybným kódem. V některých případech poskytuje ochranu paměti, funkce ladění ve stylu IDE a může dokonce spouštět aplikace, které nejsou správně zapsány, například aplikace, které se pokoušejí ukládat uživatelská data do umístění ve vlastnictví systému jen pro čtení. (Tato funkce pomáhá při implementaci principu nejmenšího oprávnění odstraněním požadavku, aby koncoví uživatelé měli oprávnění správce, aby mohli spouštět špatně napsané aplikace.) Umožňuje nekompatibilní aplikace spouštět současně, současně as minimálním regresním testováním proti sobě. Izolace aplikací z operačního systému má také bezpečnostní výhody, protože vystavení aplikace automaticky znamená vystavení celého OS.

Virtualizace aplikací také umožňuje zjednodušenou migraci operačního systému . Aplikace lze přenášet na vyměnitelná média nebo mezi počítači, aniž byste je museli instalovat a stát se tak přenosným softwarem .

Virtualizace aplikací využívá méně prostředků než samostatný virtuální stroj .

Omezení

Ne všechny počítačové programy lze virtualizovat. Některé příklady zahrnují aplikace, které vyžadují ovladač zařízení (forma integrace s OS) a 16bitové aplikace, které je třeba spouštět v prostoru sdílené paměti. Antivirové programy a aplikace, které vyžadují náročnou integraci OS, jako jsou WindowBlinds nebo StyleXP, se virtualizují obtížně.

V licencování softwaru navíc virtualizace aplikací nese velká úskalí licencování, hlavně proto, že jak software pro virtualizaci aplikací, tak virtualizované aplikace musí být správně licencovány.

Zatímco virtualizace aplikací může řešit problémy s kompatibilitou souborů a úrovní registru mezi staršími aplikacemi a novějšími operačními systémy, aplikace, které hromadu nezvládají správně, se v systému Windows Vista nespustí, protože stále přidělují paměť stejným způsobem, bez ohledu na to, zda jsou virtualizovaný. Z tohoto důvodu mohou být stále potřeba speciální opravy (shimy) kompatibility aplikací, i když je aplikace virtualizovaná.

Související technologie

Mezi technologické kategorie spadající pod virtualizaci aplikací patří:

  • Streamování aplikací . Kusy kódu, dat a nastavení aplikace jsou doručeny, když jsou poprvé potřeba, namísto dodání celé aplikace před spuštěním. Spuštění zabalené aplikace může vyžadovat instalaci odlehčené klientské aplikace. Balíčky se obvykle dodávají prostřednictvím protokolu, jako je HTTP, CIFS nebo RTSP .
  • Služba Vzdálená plocha (dříve Terminálová služba) je serverová komponenta pro výpočetní / prezentační virtualizaci systému Microsoft Windows, která umožňuje uživateli přístup k aplikacím a datům hostovaným ve vzdáleném počítači přes síť. Relace služby Vzdálená plocha běží v jediném operačním systému sdíleného serveru (např. Windows Server 2008 R2 a novější) a jsou přístupné pomocí protokolu vzdálené plochy .
  • Softwarové technologie pro virtualizaci desktopů zlepšují přenositelnost, správu a kompatibilitu desktopového prostředí osobního počítače oddělením části nebo celého desktopového prostředí a přidružených aplikací od fyzického klientského zařízení, které se k němu používá. Běžnou implementací tohoto přístupu je hostování více instancí operačního systému pro stolní počítače na hardwarové platformě serveru se spuštěným hypervisorem. Toto se obecně označuje jako „infrastruktura virtuálních desktopů“ (VDI).

Viz také

Reference