Wirtualizować można wszystko!

Wirtualizacja aplikacji i desktopów

Wbrew powszechnej opinii wirtualizacja jest nie tylko dla centrów danych. Od najbardziej zaawansowanych aplikacji dla desktopów po najprostsze biblioteki DLL - wirtualizacja coraz bardziej widoczna jest w komputerach stacjonarnych i laptopach.

Dobrym przykładem tego stanu rzeczy jest wirtualizacja aplikacji, umożliwiająca odizolowanie jej od komputera, na którym jest wykonywana. Głównym celem wirtualizacji aplikacji jest eliminacja wielu problemów związanych z konfiguracją i wzajemnym zakłócaniem się uruchomionych na komputerze aplikacji. Rozwiązania do wirtualizacji aplikacji umieszczane są pomiędzy aplikacją a zasobami systemu operacyjnego, takimi jak system plików, czy, w przypadku systemu Windows, rejestrem. Stosowane są bardzo różne podejścia, aby osiągnąć ten cel.

Jeden cel, różne metody

Po jednej stronie znajdują się takie produkty, jak Altiris Software Virtualization Solution (SVS). Narzędzia jak SVS stosują dość "brutalną" metodę: specjalny, zainstalowany w Windows sterownik przechwytuje wszystkie wywołania wejścia-wyjścia z zarządzanych przez SVS aplikacji. W praktyce każdy aspekt interakcji aplikacji z systemem operacyjnym (od załadowania biblioteki DLL po dostęp do rejestru) jest przekierowywany do lokalnego pliku cache, zarządzanego przez SVS.

Zaletą tego podejścia jest to, że system operacyjny jest w pełni odizolowany od aplikacji. Dowolne zmiany wykonane przez aplikację (wpisy do rejestru, zmiany w systemie, zapisanie własnych plików) są w rzeczywistości wykonywane w zarządzanym przez SVS pliku cache. Ponieważ w systemie nie są wykonywane żadne zmiany, przez cały czas pozostaje on "czysty", a aplikacja może być "wyłączona" po prostu poprzez kliknięcie odpowiedniego przycisku lub zdalnie dezaktywowana przez konsolę zarządzania. Zaś wadą tej metody są problemy z zarządzaniem równocześnie uruchomionymi różnymi wersjami tej samej aplikacji.

Po drugiej stronie mamy takie rozwiązania, jak SoftGrid firmy Softricity (ostatnio przejętej przez Microsoft, wkrótce jej rozwiązania zostaną dołączone do modułu Active Directory w platformie Windows Server). SoftGrid to pełne środowisko wirtualizujące - aplikacje są strumieniowane do klienta z odpowiedniego serwera i uruchamiane w kompletnie odizolowanym od systemu operacyjnego środowisku. Zaletą tej metody jest możliwość uniknięcia problemów z uruchamianiem różnych wersji tych samych aplikacji. Natomiast dość skomplikowany jest proces wdrożenia całego systemu - wymaga od administratorów stworzenia "obrazów" aplikacji i optymalizacji ich do procesu strumieniowania.

Są też rozwiązania korzystające z zalet obu metod. Thinstall łączy prostotę SVS z elastycznym podejściem SoftGrid. Poprzez połączenie wirtualnego środowiska i obrazu aplikacji w jeden wykonywalny plik Thinstall eliminuje konieczność dodatkowego zarządzania całą infrastrukturą - wystarczy przekopiować plik do klienta i wykonać go. Wadą jest konieczność przystosowania wirtualizowanej aplikacji za pomocą narzędzia Thinstall Virtualization Suite.

Klasyczne maszyny wirtualne

W niektórych sytuacjach wymagane jest bardziej wszechstronne rozwiązanie, takie jak możliwość uruchomienia starszej wersji aplikacji w nowym systemie operacyjnym. W tym przypadku najlepszą drogą może być wyizolowanie aplikacji wraz z całym środowiskiem systemowym w klasycznej maszynie wirtualnej. To pozwala przetestować aplikację z różnymi wersjami systemu operacyjnego oraz zaplanować proces migracji.

Rynek oprogramowania do tworzenia klasycznych maszyn wirtualnych jest zdominowany przez dwie firmy - VMware i Microsoft, ze znaczną przewagą tej pierwszej. VMware dba także o rozwój rynku, aktywnie angażując się w prace konsorcjum VDI (Virtual Desktop Initiative), którego członkami są firmy promujące rozwiązania do zarządzania aplikacjami i desktopami.

VMware bardzo szybko reaguje na pojawiające się nowe technologie, jak na przykład przetwarzanie 64-bitowe czy możliwość instalacji rozszerzonej pamięci dla aplikacji następnej generacji. Ma też wiele unikatowych cech, docenianych przez środowisko programistyczne, jak możliwość tworzenia kopii migawkowych z działającej maszyny wirtualnej czy przywrócenie zapisanego obrazu maszyny.

Ale warto też wspomnieć o dążeniu VMware'a do wejścia na rynek konsumencki. Takie projekty jak VMware Player, narzędzie, które pozwala "odtwarzać" wirtualne maszyny stworzone przez VMware na dowolnym komputerze z systemem Windows, uczyniły wirtualne maszyny VMware de facto standardem na tym rynku. Ponadto na internetowej stronie producenta dostępnych jest wiele od razu przygotowanych obrazów maszyn wirtualnych, zawierających oprogramowanie open source.

Swojego największego konkurenta - Microsoftu - VMware na razie nie musi się obawiać. Konkurencyjny dla VMware Workstation program MS Virtual PC wciąż niewiele różni się od tego, gdy Microsoft kupił go wraz z firmą Connectix kilka lat temu. W nowej wersji Virtual PC 2007 dodano głównie wsparcie dla Windows Vista, ale niewiele więcej. Wciąż brak jest wsparcia dla 64-bitowego przetwarzania i chociażby tak ważnych rzeczy jak obsługa urządzeń USB.

Solą w oku VMware coraz bardziej stają się rozwiązania Citrix Systems. Jako dominujący od kilku lat gracz na rynku przetwarzania serwerowego, Citrix Systems jawi się jako lider wirtualizacji aplikacji. Wśród wprowadzonych ostatnio zmian do swoich produktów wskazać należy właśnie wirtualizację aplikacji i możliwość strumieniowania jej, podobnie jak w rozwiązaniach SoftGrid.

VMware mógłby także trochę nauczyć się od Citriksa i poprawić niewystarczające wsparcie dla sprzętu, ograniczoną mobilność klientów i bardzo duże wymagania sprzętowe po stronie serwera. VMware obecnie, zamiast hostować wiele sesji użytkowników na jednym serwerze terminalowym, hostuje wiele takich serwerów, każdy tylko z jednym użytkownikiem. To zaś powoduje dość duże ograniczenia w skalowalności całego rozwiązania i wymusza dużo większe inwestycje w zaplecze sprzętowe, które jest w stanie utrzymać tak duże obłożenie.


TOP 200