Wie andere bereits erwähnt haben, hängt es von mehreren Dingen ab:
- Wie sieht Ihre Umgebung aus?
- Haben Sie ausreichende Zugriffsrechte für die Entwicklung?
- Hat deine HW Lust zu schnupfen?
Umgebung
Die Verwendung einer VM kann hilfreich sein, wenn Sie an mehreren Versionen eines Projekts arbeiten. mehrere Projekte; oder ein anderes Betriebssystem als das, das Sie normalerweise ausführen (Host-Betriebssystem). Ich arbeite viel mit SharePoint und es ist hilfreich, einen anderen Computer für die verschiedenen Versionen einer Version ausführen zu können, da ich einfach einen anderen Computer starten kann und ein gutes Gefühl für den Status der GAC / Datenbank habe. Auch wenn Sie auf eine * nix-Anwendungsumgebung abzielen müssen, aber einen Windows-Computer haben, können Sie die Entwicklung trotzdem in einer VM durchführen (so lerne ich Ruby zu Hause, obwohl ich im Allgemeinen .NET-Entwickler bin). Ich empfehle im Allgemeinen, wenn Sie die ASP.NET-Entwicklung auf derselben Version von IIS testen / entwickeln, unter der die App letztendlich ausgeführt wird (dasselbe gilt für andere Serverzielumgebungen). Abhängig von der Version des Betriebssystems kann es einige kleine, aber kritische Unterschiede geben. Beachten Sie, dass dies nicht bedeutet, dass Sie auf eine bestimmte Version von IIS / OS programmieren sollten, aber seien wir ehrlich, es muss wirklich funktionieren, wo Sie es bereitstellen wollen, nicht nur auf Ihrem lokalen Computer.
Mit VMs (abhängig von der verwendeten Software) können Sie außerdem Snapshots des aktuellen Maschinenzustands erstellen und / oder klonen. Dies kann von unschätzbarem Wert sein, wenn Sie einen Prototyp erstellen, und Sie müssen sich nicht so viele Gedanken darüber machen, was in Ihrem GAC / Ihrer Registrierung / usw. vor sich geht. Da sich die Demo-Umgebung in einer VM befand, konnte ich weiterarbeiten, bis dem Kunden gezeigt wurde, was wir erledigt hatten, weil ich auf einer anderen Maschine arbeitete .
Ausreichende Rechte
Dies gilt im Allgemeinen für Personen, die für ein Unternehmen arbeiten und über recht strenge Richtlinien für Zugriffsrechte verfügen. Wenn Sie keinen uneingeschränkten Administrator auf Ihrem Computer haben können, ist dies ein guter Zeitpunkt, um in einer VM zu arbeiten. Normalerweise sorgen sich die Befugnisse nur darum, Ihr Host-Betriebssystem zu sperren. Der Gast kann weit offen sein (in Bezug auf Berechtigungen). Ich habe seltsame Probleme mit Roaming-Profilen, eingeschränkten Administratorrechten und der Ausführung von VS 2010. Mit einer VM konnte ich diese Probleme vermeiden.
Hat deine HW Lust zu schnupfen?
Dies hat zur Folge, dass sich Ihre VM-Images entweder auf einem Server befinden und Ihre Fernbedienung in sie einbindet, ODER Sie sie lokal ausführen. Wenn Sie auf dem Server ausgeführt werden, besteht die größte Sorge wahrscheinlich darin, dass zu viele VMs auf derselben Hardware ausgeführt werden. Vor Ort möchten Sie grundsätzlich viel RAM und minimieren, wie oft Sie den R / W-Puffer für Ihre Festplatte überlasten. Für die grundlegende LOB / SharePoint / ASP.NET-Entwicklung habe ich festgestellt, dass mindestens 8 GB RAM und eine Konfiguration mit zwei Festplatten in der Praxis einwandfrei funktionieren (mit einem i5, aber ich habe auch mit einem Core 2 gearbeitet). Die zweite Festplatte macht den größten Unterschied in der Leistung.
Hinweis: Ich habe keine Statistiken, um dies zu sichern, aber ich habe festgestellt, dass Virtual PC im Vergleich zu VMWare und Virtual Box tendenziell eine Underperformance aufweist. Ich kann nicht mit Hyper-V sprechen, da ich nicht damit gearbeitet habe. Ich wäre nicht überrascht, wenn die Verwendung von Virtual PC (als erster Einstieg in die Verwendung von VMs) den Entwicklern die Verwendung von Virtualisierungssoftware erschweren würde.