Frage

Zuletzt die Begeisterung der Virtualisierung erreicht hat meinen Arbeitsplatz, wo Entwickler, die versuchen aus virtuelle Maschinen auf Ihrem Computer.Ich habe bereits gehört haben, von mehreren verschiedenen Entwicklern über das einrichten der virtuellen Maschine in Ihrem desktop-Computern für den Willen halten Ihre Entwicklungsumgebungen zu reinigen.

Es gibt viel in der Virtuellen Maschine software-Produkte im Markt:

Ich bin daran interessiert zu wissen, wie Sie mit der Virtualisierung effektiv in Ihrer Arbeit.Meine Frage ist wie verwenden Sie Virtuelle Maschinen für Tag-zu-Tag-Entwicklung und aus welchem Grund?

War es hilfreich?

Lösung

Ich baute ein echtes bullige Maschine zu Hause und so konnte ich die Ausführung mehrerer VMs auf einmal.Mein Fall ist wohl die extremen, aber hier ist meine Logik für so tun.

Prüfung

Wenn ich testen, insbesondere einen desktop-app, die ich normalerweise erstellen Sie mehrere VMs, eine für jede Plattform, dass meine software sollte laufen (Windows 2000/XP/Vista etc).Wenn 32-und 64-bit-Aromen sind erhältlich, auch ich bauen jeweils einen.Außerdem Spiele ich mit der VM-hardware-Einstellungen (z.B.viel RAM, wenig RAM, 1 core, 2 core, etc).Ich fand viele kleine bugs auf diese Weise, das würde auf jeden Fall haben es in der wilden hatte ich nicht verwendet diesen Ansatz.

Dieser Ansatz macht es auch einfach zu Spiel mit verschiedenen software-Szenarien (was passiert, wenn die Benutzer installieren das Programm nicht haben .NET 3.5 sp1?Was passiert, wenn er Sie nicht haben XXX Komponente?etc?

Entwicklung

Wenn ich entwickle, habe ich eine VM laufen meine Datenbank-Server (SQL2000/2005/2008).Dafür gibt es zwei Gründe.Erstens, es ist mehr realistisch.In einer Produktionsumgebung Ihre app wird wahrscheinlich nicht auf dem gleichen Feld wie die db.Warum nicht replizieren, wenn Sie entwickeln?Auch, wenn ich mich nicht entwickeln (denken Sie daran, dies ist auch mein home-Computer), brauche ich wirklich alle diese Datenbank-Dienste ausgeführt?Ja, ich könnte drehen auf und off manuell, aber es ist so viel einfacher zu wechseln, eine VM auf.

Clients

Wenn ich wollen zu zeigen, eine client einige web-Arbeit habe ich getan, ich kann nur eine einzelne VM in der DMZ und er können sich in der VM und spielen mit dem web-Projekt, während der rest von meinem Netzwerk/computer sicher ist.

Kompatibilität

Vista64 ist jetzt meine Haupt-Maschine.Ältere hardware - /software, die ich selbst nicht schön spielen mit diesem OS.Meine Lösung ist zu haben für Windows XP 32 als eine VM, die für alle diese Elemente.

Andere Tipps

Hier ist etwas, das bisher nicht erwähnt wurde, noch.

Sobald ein Projekt Wartungsmodus (aka gab), ich erstellen Sie eine VM mit allen Werkzeugen , Bibliotheken und source-code notwendig, um das Projekt zu erstellen.So, wenn ich kommen zurück, um es ein Jahr später, habe ich nicht Wette bit in den Arsch von aktualisierten tools oder Bibliotheken auf meiner workstation.

Als ich anfing, an meinem derzeitigen Unternehmen, die die meisten support/dev/PM-Personal ausführen würde Virtuellen PC mit 1-3 VMs auf Ihrem desktop für die Prüfung.

Nach ein paar Monaten, ich habe einen Vorschlag, und jetzt verwenden wir einen VMware ESXi-server in einem pool virtueller Maschinen (alle auf 24/7) mit verschiedenen Umgebungen für unsere support-Mitarbeiter testen die Probleme seiner Kunden und reproduzieren von Problemen auf.Wir haben die VMs von Windows 2000/XP/Vista mit jedem Office 2000/2002/2003/2007 installiert (also 12 VMs) plus einige mehr Allgemeine test-VMs, Server 2003/2008 Maschinen mit Citrix, Terminal Services, etc.Im Grunde die meiste Zeit, wenn wir auf eine neue Kunden-Konfiguration, die wir benötigen, um zu Debuggen, und es ist wahrscheinlich, andere Kunden haben auch diese Konfiguration werde ich setup eine VM für es.(zB.Wir sind nur für die Verwendung von drei 64-bit-VMs im moment - meist ist es 32bit)

Auf top von, dass der server läuft ein XP-VM, die ich für den Aufbau nutzen Installateure (InstallShield, WiX -) debugging (VS 2005) und Lokalisierung (Lingobit) sowie eine zweite VM, die unsere Entwickler verwenden, für die automatisierte Prüfung (TestComplete).

Die Entwicklung und der installer VM zugeteilt wurden, eine höhere Priorität und sind sowohl konfiguriert als dual-cpu-VMs mit 1 GB Speicher.Die restlichen VMs haben die gleiche Priorität und 256-1Gb RAM.

Alles läuft auf einem dual-Xeon quad-core mit 8 GB RAM, auf dem ESXi-und hardware-raid (4x1Tb RAID10)

Für wenig mehr als US$2,5 k Investition, die wir haben verbesserte Produktivität, 10-Fach (stellen Sie sich die Ausfallzeiten während einer support-lackie installiert eine ältere version von office auf Ihrem desktop zu replizieren, die ein Kunden-problem, oder die Zeit, die ich nicht verwenden kann meinen desktop, weil wir bauen, Installateure).Im nächsten Schritt das doppelte des RAM auf 16Gb, wie wir hinzufügen, mehr Speicher hungrig Server 2008 und Vista VMs.

Wir haben noch die ungeraden VM auf unseren desktops (ich habe lokalisierten Versionen von Windows, Ubuntu und Windows 7 unter VMware Workstation für Beispiel), aber die Häufig/stark genutzten Konfigurationen wurden abgeladen, um einen dedizierten server, wir alle können eine Remote-Verbindung in.Viel, viel einfacher.

Virtualisierung (mit snapshots oder nicht persistente Festplatten) ist wirklich nützlich für das testen von software-installation in einem bekannt sauberen Konfiguration (d.h.nichts mehr übrig von früheren buggy Installationen Ihrer software).

Nachdem Sie Ihre Entwicklung auf einer einzigen Datei (mit der Virtuellen Maschine) wird es viel einfacher backup-und restore - wenn ein Problem Auftritt.

Andere als das, Sie können auch tragen Sie Ihre portable development box um verschiedene Maschinen, da Sie nicht beschränkt auf, die einzige Maschine, die Sie in der Regel Arbeit auf.

Nicht nur, dass, aber Sie können test auf verschiedenen Betriebssystemen auf einmal, mit einem einzigen OS installiert auf jede Virtuelle Maschine, die Datei, die Sie haben.

Glauben Sie mir, das wird sparen Sie Recht mühsam, wenn dabei die jobs, die ich oben erwähnt.

Eine weitere nette Verwendung für VMs erstellen Sie ein virtuelles Netzwerk von Maschinen.Zum Beispiel können Sie bringen Maschinen, auf denen die verschiedenen Ebenen Ihrer Anwendung Stapel, von denen jedes in seiner eigenen VM.Betrachten Sie es als ein armer Mann ' s Datacenter.

Diese VMs können auch angezeigt werden auf Ihrem physischen Netzwerk, so können Sie mit RDP oder ähnliches zu bekommen, ein remote-terminal-Sitzung mit Ihnen.

Sie können eine bullige Maschine (viel Speicher) laufen diese VMs, während Sie Sie aus der Ferne Zugriff von einem anderen Computer wie einem laptop, oder welche Maschine, die Sie mit die beste Bildschirm.

Ich benutze eine VM unter Windows zu Linux läuft.Obwohl es bereits eine version von emacs für windows, mit es in Linux fühlt sich einfach mehr erfreulich für einige Grund.

Pflege ad Acta gelegt Computer

Ich habe die situation, in der Schulen in meiner region sind geschlossen, aber Ihre Finanz-system muss beibehalten werden für bis zu 2 Jahre, um sicherzustellen, dass alle ausstehenden Rechnungen bezahlt sind.Diese verwendet, um behandelt werden durch Wartung der hardware vom stillgelegt Schulen, die einige Probleme hatte:

  • Dies verschwendet die knappen hardware-Ressourcen und nahmen eine Menge Platz.
  • Finance officers physisch anwesend sein musste an der hardware arbeiten, auf jedem system.

Heute habe ich die host-jedes stillgelegte Schule auf seine eigene virtuelle Kiste in einem einzigen physischen host.Jedes einzelne system ist der Zugriff über rdp auf die IP-Nummer des Hosts ein, aber mit seiner eigenen, port-Nummer und die ursprüngliche Sicherheit der einzelnen Schulen gepflegt wird.

Finanzen Offiziere können sich nun die stillgelegte Schulen, ohne zu Reisen, wo Sie sich physisch befinden, gibt es mehr physischen Platz im server-Raum und Sicherung aller stillgelegte Schulen auf einmal ist ein einfacher und automatisierter Prozess.

Mit jedem stillgelegt Schule in eigener vbox gibt es keine Möglichkeit für eine Kreuzkontamination von Daten zwischen Systemen.Viele Tausende von Dollar Wert der hardware ist auch frei für eine Umorientierung.

Virtualisierung scheint die perfekte Lösung für dieses problem.

Ich verwendet die Virtualisierung Ansatz mit VMWare-Server, wenn die Aufgabe vor mir zu testen, wurde eine Cluster-Umgebung von WebSphere Application Server.Nach dem einrichten der VMWare-Server, den ich erstellt eine neue virtuelle Maschine und alle software-Installationen, die ich brauchen würde, wie WebSphere App Server, Oracle, WebSphere Commerce etc, nach dem ich das Herunterfahren der VM ein und kopieren über die virtuelle Festplatte in zwei verschiedene Dateien, eines als Klon-VM und eine andere als backup.

Erstellt eine neue VM und übertrug man die kopierte disk-images, also habe ich zwei Systeme laufen nun, die es mir erlaubt zu testen, das gleiche Szenario einer Cluster-Umgebung.Ich nahm einen snapshot der VM über VMware und wenn ich goofed up mit irgendwelchen Aktivitäten, ich würde die änderungen rückgängig machen, um die snapshot dabei den vorherigen Zustand und die Erhöhung meiner Produktivität, anstatt herauszufinden, was rückgängig zu machen.Das backup-image kann auch verwendet werden, wenn ich wieder auf einen sehr alten Zustand, anstatt von vorne zu beginnen.

Die snapshot-Funktionalität, die es in VMWare und Microsoft Virtual PC/Server ist gut genug, um zu überlegen, Virtualization für Szenarien, in denen Sie denken, dass Sie tun könnten, wichtige änderungen, die sich nicht so einfach wiederherstellen.

Von dem, was ich weiß, es ist nichts wie Parallels auf Mac, sondern für die Arbeit, statt testen.

Die integration (mit "Kohärenz", Ihre VM wird nicht ausgeführt "in einem Fenster" von Ihrem host-system, alle Programme in das Gast-system haben Ihre richtige Fenster in der host-system) ist herrlich und lassen Sie alle Felder ausfüllen (ALLE!) Lücken:
Mein Kollege hat es so konfiguriert, dass Outlook (es gibt nichts wie Outlook für MacOsX) in Windows angezeigt wird, wenn er klickt auf einen "mailto:"-link auf einer web-Seite, blätterte mit Firefox auf Mac !
In die andere Richtung, wenn er senden eine PDF-Datei, die er doppelt klickt der Anlage in Outlook (Windows) öffnet sich die PDF-Datei in den Mac-eingebaute PDF-viewer.

VirtualBox bietet auch dieses Fenster-Trennung Möglichkeit (zumindest, wenn die Ausführung von windows in der VM unter Linux), die ist sehr nützlich für die Arbeit.

Für Tests usw.natürlich, es gibt nichts wie eine sauber getrennte Umgebung.

Wir haben einen physischen server für das hosten von virtuellen Maschinen in unserer Entwicklungsumgebung.Die virtuellen Maschinen werden nach oben gebracht und abgerissen, auf einer regelmäßigen basis und verwendet für das testen von software auf bekannte Standard-Betriebsumgebungen.

Es ist auch wirklich nützlich, wenn wir wollen, dass eine Anwendung ausführen auf einem anderen Domäne als der Entwicklungsumgebung.

Auch die organisation, bei der ich arbeite, sind in der Planung, um einen großen virtuellen Testgelände.Diese werden aus einem großen raster von Maschinen, sitzen auf es ist eigenen Netzwerk, und alle Organisationen, die interne Mitarbeiter, Vertragsnehmer und Drittanbieter werden in der Lage sein, auf der Bühne Ihre software zu Testzwecken vor der Implementierung in die Produktionsumgebung.Die virtuellen Maschinen spiegeln die physikalischen Maschinen in die Produktion Umwelt.

Es klingt großartig, aber jeder ist ein wenig skeptisch:Dies ist ein Regierung-organisation...Bürokratie und Bürokratie wird wahrscheinlich deaktivieren Sie diese in eine große Verschwendung von Zeit und Geld.

Wenn wir über Virtuelle Rechner (vpc 2007,Virtual Server 2005,VMWare-Anwendung, etc..)

1.Wir können die Ausführung mehrerer Betriebssysteme(Windows 98,2000,XP,Vista,Windows Server 2003,2008,Windows 7/linux/solaris) auf einem einzelnen server

2.Wir können die hardware-Kosten & Data Center Space

3.Wir können Reduzieren power & AC Kühlung Kosten.

4.Wir können reduzieren die admin-Ressource

5.Wir können reduzieren die Anwendung Kosten

6.Wir können run ADS/DNS/DHCP/Exchange/SQL/Sharepoint Server/File Server...etc

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top