developing in a virtual environment

OogyWaWa

Senior member
Jan 20, 2009
623
0
71
what do you guys think about doing your development inside a virtual environment? instead of cluttering up your main OS with special libs, IDEs, tools, and so on, you could keep everything boxed up inside a nice little vm. if you are just doing web dev or simple desktop apps i don't really see any issues with it. anyone doing this kind of dev already? thoughts?
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
Originally posted by: OogyWaWa
what do you guys think about doing your development inside a virtual environment? instead of cluttering up your main OS with special libs, IDEs, tools, and so on, you could keep everything boxed up inside a nice little vm. if you are just doing web dev or simple desktop apps i don't really see any issues with it. anyone doing this kind of dev already? thoughts?

Isn't this what companies with bladeservers do? (Just my opinion, I've no way to verify it)

Still, it DOES sound like a cost effective strategy, ... until the main unit develops a defect :roll:
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: OogyWaWa
what do you guys think about doing your development inside a virtual environment? instead of cluttering up your main OS with special libs, IDEs, tools, and so on, you could keep everything boxed up inside a nice little vm. if you are just doing web dev or simple desktop apps i don't really see any issues with it. anyone doing this kind of dev already? thoughts?

I do a lot of my development this way. As a consultant, each of my clients has their own set of development environments, servers, browser versions, etc. A development VM is an easy way to tailor my environment to match theirs, and it keeps my host machine in tact. It's also a great way to get new project members up and running with all the software they need.
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Definitely, I almost exclusively do .NET work in a Virtual Machine. My workstation runs Linux and I've got several Windows VMWare images setup for coding and testing.
 

Snapster

Diamond Member
Oct 14, 2001
3,916
0
0
Question to all those guys who do. I messed around with vm's in the past but nothing beyond testing certain scenario's. I've always been tempted to do something like this but always been a bit wary of the how responsive the UI might be when doing so, would my worries be unfounded?

NB: I've done dev work over remote desktop on the same network and sometimes the machine has to play catchup with my typing.
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Honestly sometimes I can't tell the difference between a Virtual machine and not on my workstation. Unless you are doing 3d work it should be very close to running at native speeds.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
We have an application that takes 4 times as long using a VM machine than on a native desktop w/ XP Pro

Heavy I/O loading and memory usage.

In our situation, the VM works great for development, but not for testing/production of the application
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: Snapster
Question to all those guys who do. I messed around with vm's in the past but nothing beyond testing certain scenario's. I've always been tempted to do something like this but always been a bit wary of the how responsive the UI might be when doing so, would my worries be unfounded?

NB: I've done dev work over remote desktop on the same network and sometimes the machine has to play catchup with my typing.

Responsiveness is rarely an issue. As long as you can dedicate enough RAM to your virtual machine, it's tough to notice a difference between working in a VM and working on a host machine.
 

WannaFly

Platinum Member
Jan 14, 2003
2,811
1
0
We use VMs at work for development a lot of times. I also use it extensively for testing, thanks to undo disks.

A couple of pointers:

1) RAM, RAM, RAM. The more the better.
2) HD Activity is high, it's best if the VHD's are on a separate disk/channel then the host OS
3) BACKUP! It's one more machine to backup
4) Licensing. Technically, you are supposed to have a license for each guest OS (Windows). Even if it is "temporary"
 

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
I used to do development in Linux VM under Windows XP. I converted over to dualboot with Linux/Windows since I used Linux VM so much. When I get a new computer, I'll set up Linux as primary OS and run VMs under that. Currently my Linux partition isn't big enough for me to do VMs under it.

I mainly use VMs for as test servers now. It's great to be able to setup a VM demo server, test and save it pre-demo, and always have the ability to restore back to pre-demo state.
 

Snapster

Diamond Member
Oct 14, 2001
3,916
0
0
Originally posted by: WannaFly
We use VMs at work for development a lot of times. I also use it extensively for testing, thanks to undo disks.

A couple of pointers:

1) RAM, RAM, RAM. The more the better.
2) HD Activity is high, it's best if the VHD's are on a separate disk/channel then the host OS
3) BACKUP! It's one more machine to backup
4) Licensing. Technically, you are supposed to have a license for each guest OS (Windows). Even if it is "temporary"

That's probably a worthwhile thing for me to try, I have 4 gig's of ram so that should suffice.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
I also use VMs for developing code, especially when I travel. I agree with everything said here so far on that topic.

Regarding performance tuning VMs: Like everything else, it depends... your host has to be sufficiently provisioned, and your guest has to be sufficiently provisioned. Guests often run under terrible I/O models (e.g. PIO), which is an artifact of lack of tuning. Enterprise-level virtualization solutions make that go away, and its possible to a lesser extent with commodity stuff too (and appropriate tuning).
 

engineereeyore

Platinum Member
Jul 23, 2005
2,070
0
0
VM's are a great place to setup your development environment. I'd recommend a couple things though, aside from what's already been mentioned.

First, once you have Windows/Linux/whatever freshly installed and updated, copy it. It's good to have a clean install available to test your code in, especially when you have program dependencies and you need to be able to tell someone else how to run your code/program who doesn't have your same development environment. I've had programs that use all kinds of dependencies on other programs and libraries (Boost/Python/Pcap/etc.) and you want to make sure your code will still run without all that installed.

Second, once you get your entire build environment setup, take a snapshot. I can't tell you how many times I've set up the environment just to install/change something later and have the whole thing blow up on me. As you install more stuff, keep making snapshots. As long as you have room on your computer, I'd use as many snapshots as you can.

Third, depending on your host platform and what you're developing, you will take a performance hit in a VM. Running a Windows VM on a Mac platform requires binary translations, so things will go just a little slower. Doing a large amount of I/O (or other instructions) that causes VM_EXITs will also cause performance hits. However, for development, you shouldn't have too much of an issue. In my experience, compilations tend to take 10-15% longer in a VM, depending of course on what development tool you're using. Some will be better, some will be worse.

Overall though, VM's are an extremely handy way to create development environments and to test your programs in a user type environment. So I'd highly recommend them.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |