Jak wspomnieli inni, zależy to od kilku rzeczy:
- Jak wygląda twoje środowisko?
- Czy masz wystarczające prawa dostępu do programowania?
- Czy Twój sprzęt jest gotowy na tabakę?
Środowisko
Korzystanie z maszyny wirtualnej może pomóc, jeśli pracujesz nad wieloma wersjami projektu; wiele projektów; lub celowanie w inny system operacyjny niż normalnie uruchamiany (system operacyjny hosta). Dużo pracuję w SharePoint i możliwość uruchomienia innego komputera dla różnych wersji wydania jest pomocna, ponieważ mogę po prostu uruchomić inny komputer i mieć dobry obraz stanu GAC / bazy danych. Ponadto, jeśli musisz kierować reklamy do środowiska aplikacji * nix, ale masz komputer z systemem Windows, nadal możesz programować na maszynie wirtualnej (w ten sposób uczę się Ruby w domu, chociaż generalnie pracuję nad platformą .NET). Ogólnie rzecz biorąc, zalecam podczas testowania / programowania rozwoju ASP.NET na tej samej wersji IIS, pod którą ostatecznie będzie działać aplikacja (to samo uzasadnienie dotyczy innych docelowych serwerów). W zależności od wersji systemu operacyjnego mogą występować niewielkie, ale krytyczne różnice. Zauważ, że nie oznacza to, że powinieneś kodować do określonej wersji IIS / OS, ale bądźmy szczerzy, naprawdę, naprawdę musi działać tam, gdzie zamierzasz ją wdrożyć, nie tylko na komputerze lokalnym.
Maszyny wirtualne również (w zależności od używanego oprogramowania) umożliwiają robienie migawek bieżącego stanu komputera i / lub ich klonowanie. Może to być nieocenione podczas tworzenia prototypów i nie musisz martwić się o to, co dzieje się w twoim GAC / Registry / itp. Uważam również, że są one bardzo cenne w przygotowaniu dema klienta przed czasem. Ponieważ środowisko demonstracyjne znajdowało się na maszynie wirtualnej, mogłem kontynuować pracę do momentu pokazania klientowi, co ukończyliśmy, ponieważ pracowałem na innej maszynie .
Wystarczające prawa
Zasadniczo dotyczy to osób, które pracują dla firmy z dość ścisłym zestawem zasad dotyczących praw dostępu. Jeśli nie możesz mieć nieograniczonego administratora na swoim komputerze, byłby to dobry moment na pracę na maszynie wirtualnej. Zazwyczaj moce martwią się tylko o zablokowanie systemu operacyjnego hosta, gość może być szeroko otwarty (jeśli chodzi o uprawnienia). Wystąpiły dziwne problemy z profilami mobilnymi, sparaliżowanymi prawami administratora i systemem VS 2010; użycie maszyny wirtualnej pozwoliło mi uniknąć tych problemów.
Czy Twój sprzęt jest gotowy na tabakę?
Sprowadza się to do tego, że obrazy maszyn wirtualnych znajdują się na serwerze, a Twój pilot na nich LUB uruchamiasz je lokalnie. Jeśli działasz na serwerze, najprawdopodobniej będzie to największe obawy, czy zbyt wiele maszyn wirtualnych działa na tym samym sprzęcie. Lokalnie zasadniczo potrzebujesz dużej ilości pamięci RAM i aby zminimalizować częstotliwość przeciążania bufora R / W na dysku twardym. W przypadku podstawowego programowania LOB / SharePoint / ASP.NET odkryłem, że co najmniej 8 GB pamięci RAM i konfiguracja podwójnego dysku twardego działają dobrze w praktyce (na i5, ale pracowałem również z Core 2). Drugi dysk twardy ma największą różnicę w wydajności.
Uwaga: Nie mam żadnych statystyk, które mogłyby to potwierdzać, ale zauważyłem, że Virtual PC ma tendencję do gorszych wyników w porównaniu do VMWare i Virtual Box. Nie mogę rozmawiać z Hyper-V, ponieważ nie pracowałem z tym. Nie zdziwiłbym się, gdyby użycie Virtual PC (jako wstępny sposób korzystania z maszyn wirtualnych) zmęczyło programistę korzystaniem z oprogramowania do wirtualizacji.