Po przygodach z Virtual PC i Virtual Box bohaterem posta zostaje mój aktualny przystanek w wirtualnej podróży, czyli...
VMware Workstation from VMWare
Plusy
Co tu dużo gadać, wreszcie posiadam środowisko wirtualne dla którego nie szukam alternatywy. Już na samym początku VMware dosłownie zmiażdżył zarówno VPC jak i VBoxa swoją wydajnością. Byłem w szoku. Trudno w to uwierzyć (i gdybym tego nie doświadczył, to bym pewnie nie uwierzył... widocznie nie jestem błogosławiony;) ), ale wirtualka VMware na Core2Duo z 4GB RAMu działała O WIELE SZYBCIEJ niż VPC czy VBox na Quadzie z 8GB RAMu.
Po otrząśnięciu się z tak oszałamiającego pierwszego wrażenia zabrałem się za odkrywanie innych świetności pakietu. Przy tworzeniu nowego środowiska od razu wpadła mi w oko funkcjonalność "snapshots", czyli zapamiętywania aktualnego stanu maszyny z możliwością powrotu do niego w każdym momencie. Zainstalowałem Windows -> snapshot. Skonfigurowałem - snapshot. Dodałem VS i SQL Server -> snapshot. przygotowałem system do pracy z aktualnym projektem -> snapshot. W tym momencie mogę wrócić do "gołego" windowsa i w osobnej gałęzi postawić sobie Sharepointa (na szczęście nie muszę tego robić, uff) czy inne wielkie ustrojstwo. Niby można to samo osiągnąć nawet w VPC tworząc dyski różnicowe, jednak tutaj całość ubrano w funkcjonalne UI. I działa to po prostu bardzo sprawnie.
Zaraz potem natknąłem się na klonowanie. Po doświadczeniach z klonowaniem w VBox podszedłem do tego dość sceptycznie, jednak okazało się, że moje obawy były nieuzasadnione. Mamy do dyspozycji dwa rodzaje klonów. Pierwszy - linked clone - działa na zasadzie dysku różnicowego: gdzieś obok źródłowej maszyny tworzona jest nowa, bazująca na jej fizycznych plikach. Druga opcja - full clone - także tworzy nową maszynę startując w wybranym punkcie, jednak kopiuje i łączy wszystkie źródłowe pliki dając w efekcie całkowicie niezależny byt. Oba sprawują się znakomicie i czas potrzebny na realizację tych zadań jest o wiele krótszy niż się spodziewałem.
Po kilku tygodniach pracy z VMware coś mnie tknęło... i spróbowałem zbadać możliwość podpięcia do wirtualki kilku monitorów. Jak pisałem wcześniej sztuczka ta nie udała mi się w VBox. Tutaj jednak (niestety po dobrych 2-3 godzinach walki) uzyskałem pożądany efekt i... radość moja była doprawdy ogromna. Mam teraz jeden monitor dla systemu hosta, drugi monitor dla VS na wirtualce oraz laptop podłączony przez MaxiVista jako kolejny ekran wirtualki na wszelkie inne bajery, jak konsola Gita, Management Studio etc. Po prostu bomba!
Wszystkie wymienione zalety powodują, że nie muszę pisać w tej sekcji nic więcej. Po prostu tyle (działających) możliwości nie znalazłem nigdzie indziej.
Minusy
Niestety, nie ma róży bez ognia. Za te wszystkie bajery trzeba trochę zapłacić (nie jest to jednak powalająca kwota: 189$).
I nie jest to jedyny mankament VMware. Przy pracy z 4GB RAMu doświadczałem niekiedy irytujących przeszkadzajek. A to maszyna potrzebowała dobrych kilkunastu (!) minut do poprawnego "rozkręcenia" się po suspend. A to podczas pracy wirtualka się przywiesiła na 1-2 minuty skutecznie uniemożliwiając wydajną pracę. Na szczęście po przejściu na 8GB te problemy zniknęły - widocznie czegoś tam trochę brakowało (chociaż teoretycznie nie powinno....).
Do dziś jednak zmagam się z symptomem "szybkiego suspend/resume". Objawia się on tym, że bardzo często nie da się odtworzyć stanu maszyny chwilę po jej zatrzymaniu. Żadne dane nie są tracone, ale jakiś wewnętrzny system locków w VMware po prostu blokuje takie operacje. Czasami pomaga ubicie wszystkich procesów VMware, ale zdarza się, że konieczny jest restart hosta. Baaardzo nieładnie.
Zauważałem także problemy z wydajnością przy korzystaniu z differencing disks oraz linked clones, jeśli jednocześnie uruchomiło się więcej niż jedną maszynę wymagającą danego pliku. Akurat to dość łatwo obejść - każda "długotrwała" maszyna to u mnie full clone, dzięki czemu wszystko śmiga jak powinno.
Do listy minusów można jeszcze dodać dwie pierdoły - trochę szukane na siłę, ale... Pierwsza z nich to definicja tzw. "hot key", czyli klawisza pozwalającego na wyjście z kontekstu maszyny gościa i wykonanie na niej jakichś operacji lub przeniesienie się do systemu hosta. U konkurencji rolę tą może pełnić dowolny klawisz/sekwencja klawiszy, a tutaj mamy do wyboru raptem kilka predefiniowanych zestawów. Da się z tym żyć. Druga pierdoła to sposób konfiguracji sieci. Nie do końca odpowiada mi GLOBALNE definiowanie zestawu interfejsów sieciowych, zdecydowanie preferuję pełną konfigurację tego aspektu na poziomie poszczególnych maszyn jak w VPC. Ale podobnie - da się z tym zyć.
Podsumowanie
Wniosek wynikający z powyższych wypocin jest chyba oczywisty - zdecydowanie polecam VMware jako software do wirtualizacji maszyn służących do programowania. Kosztuje i nie jest wolne od wad, ale pozostawia darmową konkurencję daleeeko w tyle.
Macie może ciekawe (lub nie;) ) przemyślenia na ten temat? Czekam na komentarze!