Wirtualizacja serwerów zadomowiła się już na dobre w serwerowniach i nikogo nie dziwi fakt kupowania serwera z preinstalowanym hypervisorem. Tymczasem w bliskiej perspektywie mogą pojawić się również komputery stacjonarne wyposażone w specjalne, klienckie wersje hypervisorów. Do czego mogą się przydać i czy zarządzanie nimi będzie łatwiejsze niż tradycyjnymi desktopami?
Dotychczasowe implementacje VDI (wirtualizacji desktopów) polegają na uruchamianiu w serwerowni wirtualnych maszyn, do których użytkownik ma zdalny dostęp. Firmy wdrażają VDI, żeby ograniczyć koszty zarządzania i dostarczać użytkownikom lepsze usługi. Jednak przeniesienie systemu operacyjnego użytkownika do serwerowi nie dostarcza takich korzyści, jakich oczekują firmy. Przede wszystkim, administrator wciąż musi zarządzać poszczególnymi komputerami użytkowników, mimo tego, że stały się one wirtualne. W efekcie nie osiąga się założonej redukcji kosztów zarządzania. Należy też zwrócić uwagę na koszty sprzętu – w przypadku takiego podejścia nawet, jeśli użytkownicy otrzymają proste terminale, to w serwerowni trzeba umieścić dodatkowe serwery i pamięć masową.
Innym podejściem do VDI, pozwalającym osiągnąć korzyści ze skali, jest zarządzanie tylko jedną wirtualną maszyną, tzw. golden image, niezależnie od liczby użytkowników. W tym przypadku wykorzystuje się takie techniki, jak streaming systemu operacyjnego czy tworzenia powiązanych klonów (linked clones), aby dostarczyć system operacyjny użytkownikowi. Aplikacje dostarcza się z wykorzystaniem rozwiązań wirtualizacji aplikacji. Uzupełnieniem całości rozwiązania jest zarządzanie środowiskiem użytkownika, żeby mógł on korzystać z własnego, spersonalizowanego pulpitu.
Zarządzanie środowiskiem użytkownika ma kluczowe znaczenie, ponieważ pozwala użytkownikom pracować w sposób, do którego są przyzwyczajeni, a jednocześnie administratorzy mogą wykorzystywać ustandaryzowane komponenty i dostarczać je użytkownikom w miarę potrzeb. Pod wieloma względami środowisko użytkownika staje się kluczem do stworzenia udanego modelu zarządzania, ponieważ reprezentuje to, co użytkownicy uznają za ważne. Dlatego duże znaczenie ma wybór odpowiedniego rozwiązania do zarządzania środowiskiem pracy użytkownika.
Klienckie VDI
W rzeczywistości tego typu podejście często się nie sprawdzi. Niektórzy użytkownicy pracują z zaawansowanymi aplikacjami graficznymi, w przypadku których protokół zdalnego dostępu nie pozwala na wygodną pracę (opóźnienia w wyświetlaniu obrazu). Jednak znacznie liczniejszą grupą są mobilni użytkownicy laptopów i to na tej właśnie grupie koncentrują swoje wysiłki producenci z branży VDI. Szacuje się, że ok. 50% pracowników korporacji korzysta z przenośnych komputerów, które z punktu widzenia działów IT są drogie w zarządzaniu. Techniki automatyzacji i standaryzacji wdrażane wraz z klienckimi rozwiązaniami VDI zapowiadają się bardzo obiecująco. Mają znacznie ułatwiać zarządzanie laptopami, ale pojawia się szereg wyzwań, którym trzeba sprostać, zanim możliwe będzie zarządzanie laptopami w ten sposób.
Jednym z tych wyzwań jest brak klienckiego hypervisora, pozostałe kwestie dotyczą modelu zarządzania, który na różne sposoby różni się od zarządzania wirtualnymi desktopami działającymi w serwerowni.
Do czego może przydać hypervisor, jeśli zarządza się tylko jedną maszyną? Początkową motywacją do wdrażania wirtualizacji serwerów było zredukowanie liczby fizycznych serwerów poprzez konsolidację wielu obciążeń na jednej maszynie. W tym przypadku potrzeba zastosowania hypervisora jest jasna – umożliwia on uruchamianie wielu wirtualnych maszyn na jednym serwerze. W przypadku klienckiego hypervisora na jednym komputerze będzie, z reguły, uruchamiana tylko jedna wirtualna maszyna, ale może on się przydać z poniższych powodów.
Wykorzystanie komponentów. Aby dostarczać system operacyjny i móc go zmieniać w miarę potrzeb, na komputerze najlepiej jest wdrażać standardowe komponenty, jak system operacyjny czy środowisko użytkownika. Takie podejście jest elementem kilku rozwijanych obecnie modeli zarządzania.
Różnorodność sprzętu. Serwery cechują się stosunkowo niedużą liczbą kombinacji sprzętu i sterowników potrzebnych do obsługi tego sprzętu, zupełnie inaczej jest w przypadku laptopów. Nawet używając w firmie jednego modelu laptopów, może się okazać, że znajdują się w nich różne komponenty. W typowej firmie używa się wielu modeli laptopów, każdy wymagający innych sterowników. Sytuacji nie upraszcza używanie jednego systemu operacyjnego we wszystkich komputerach.
Standaryzacja dzięki hypervisorowi
Jeśli firma zdecyduje się na korzystanie ze standardowych komponentów, np. z jednego systemu operacyjnego, nie może pozwolić sobie na obsługę najróżniejszych konfiguracji sprzętowych w ramach jednego obrazu systemu operacyjnego. Żeby rozwiązać problem, między sprzętem a systemem operacyjnym potrzebna jest dodatkowa warstwa – hypervisor, który umożliwi korzystanie ze standardowych sterowników.
Zasadniczo kliencki hypervisor tworzy między system operacyjnym, a sprzętem warstwę wirtualizacji, która pozwala ukryć różne konfiguracje sprzętu, a systemowi operacyjnemu udostępniać zawsze te same, wirtualne urządzenia. Poza tym kliencki hypervisor będzie umożliwiał uruchomienie więcej niż jednego systemu operacyjnego w komputerze użytkownika. Niektórzy zamierzają to wykorzystać, np. producenci zabezpieczeń przymierzają się, żeby przenieść oprogramowanie ochronne do oddzielnej wirtualnej maszyny, co ma zapewnić lepsze bezpieczeństwo.
W niektórych przypadkach będzie uzasadnione dostarczanie kliku systemów operacyjnych z różnymi politykami bezpieczeństwa. Może to być system operacyjny służący do pracy, z bardziej restrykcyjnymi zabezpieczeniami, oraz drugi służący do prywatnych zastosowań i dający użytkownikowi większą swobodę. Pojawia się jednak problem, czy użytkownik poradzi sobie z takim modelem korzystania z komputera.
Różne podejścia do zarządzania laptopami z wykorzystaniem klienckiego hypervisora
Zasadniczo problem dotyczy tego, jak zarządzać zwirtualizowanymi laptopami? Należy wykorzystać zalety oferowane przez model zarządzania bazujący na wykorzystaniu standardowych komponentów, ale trzeba pamiętać, że zarządzanie laptopami stawia kilka wyzwań. Przede wszystkim mogą być problemy z komunikacją sieciową, kiedy użytkownicy pracują poza miejscem pracy, a regularnie w ogóle nie będzie połączenia, gdy będą pracować offline. Streaming systemu operacyjnego i aplikacji za każdym razem, gdy użytkownik się loguje, jest niemożliwy. Dlatego należy rozważyć różne podejścia do zarządzania.
1. Tradycyjne wdrażanie oprogramowania
Zwirtualizowanymi laptomami można zarządzać tak, jak tradycyjnymi – wdrażać maszyny wirtualne z obrazem systemu operacyjnego użytkownika, a następnie instalować w nim narzędzia do zarządzania instalowaniem aplikacji, np. Microsoft System Center Configuration Manager. Zaletą takiego podejścia jest prostota, a hypervisor pozwoli administratorowi korzystać z jednej, wzorcowej maszyny wirtualnej, bez troszczenia się o instalację sterowników. Wciąż jednak administrator będzie borykał się z problemami związanymi z konfiguracją.
2. Kopiowanie i wgrywanie obrazu
Gdy użytkownik podłącza się do sieci, można pobierać jego maszynę wirtualną na serwer i wgrywać mu ją, gdy odłącza się od sieci. To pozwala wygodnie zarządzać wirtualną maszyną użytkownika, ale ma też wady. Po pierwsze, użytkownicy nie są skłonni tolerować opóźnienia związane z kopiowaniem plików wirtualnej maszyny w momencie odłączania od sieci. Po drugie, nie ma zbyt wielu powodów, by ponownie wgrywać użytkownikowi wirtualną maszynę. Jeśli jest ona zaktualizowana, szybciej można wygenerować nową wirtualną maszynę w centrum danych, a jeśli nie jest ona zaktualizowana, tym bardziej nie należy jej wgrywać z powrotem. W praktyce, wszystko, co powinno być ponownie wgrane, to środowisko pracy użytkownika, które zawiera najbardziej wartościowe dane. Po trzecie, ten model wymaga sprzętu, który będzie w stanie udźwignąć w centralnej lokalizacji wszystkie wirtualne desktopy użytkowników, a to jest zbędny wydatek.
3. Synchronizacja
Gdy użytkownik podłącza się do sieci firmowej, następuje synchronizacja (pobranie) komponentów, które uległy zmianie, a następnie ma miejsce synchronizacja zmian, które zaszły w środowisku użytkownika. Ma to niektóre cechy tradycyjnego podejścia, ale trzeba liczyć się z problemami związanymi z samą synchronizacją. Ciężko jest kontrolować różnorodne konfiguracje, ponieważ nigdy nie wiadomo, czy daną zmianę w wirtualnej maszynie użytkownika należy zachować czy usunąć podczas procesu aktualizacji komponentów. Podobne problemy występują obecnie w rozwiązaniach do wdrażania aplikacji. Poza tym należy uważać, czy synchronizacja nie następuje zbyt wcześnie, co mogłoby doprowadzić do niestabilności sesji użytkownika.
4. Ponowne przesłanie obrazu wirtualnej maszyny
Gdy trzeba wprowadzić zmiany w podstawowych komponentach, można stworzyć nową wirtualną maszynę i przesłać ją w tle do komputerów użytkowników. Podczas kolejnego logowania użytkownik zostanie podłączony do nowego obrazu. Ma to kilka zalet z punktu widzenia standaryzacji obrazu wirtualnej maszyny, a poza tym można zarządzać procesem transmisji nowego obrazu, ponieważ użytkownik nie musi czekać na jego przesłanie. Aby nowy obraz był w pełni funkcjonalny, po ponownym zalogowaniu użytkownika należy dostarczyć mu jego środowisko pracy, a to jest możliwe z wykorzystaniem już istniejących technologii. Takie podejście ma najwięcej zalet z punktu widzenia zarządzania i złożoności całego rozwiązania.