Has the time come for development on a virtual machine?
-
At the moment, I'm happily using a VPC for all my dev. With VMWare and 4GB (I was thinking Linux, but I went Vista due to a head injury), both XP and Server 2003 are happy (it's also great on a MacBook Pro). While I don't do a load of hard core dev, VS has been as productive as it ever is. Going 64 bit and more RAM would be even better, I think. The other benefit I get from that is that I have my main machine fairly clean of Betaware, and I can keep my VM RASed into their network for work, without disturbing my main machine or connection. I also briefly considered using one of the hypervisor thingies (like HyperV or ESX server), but didn't like the fact you'd need to administer them from yet another machine. Other people's mileage may vary.
-------------- TTFN - Kent
Kent Sharkey wrote:
I also briefly considered using one of the hypervisor thingies (like HyperV or ESX server), but didn't like the fact you'd need to administer them from yet another machine.
If your primary OS is Windows Server 2008 you can use Hyper-V on the same machine. Works like a charm.
-
Kent Sharkey wrote:
I also briefly considered using one of the hypervisor thingies (like HyperV or ESX server), but didn't like the fact you'd need to administer them from yet another machine.
If your primary OS is Windows Server 2008 you can use Hyper-V on the same machine. Works like a charm.
Nemanja Trifunovic wrote:
If your primary OS is Windows Server 2008 you can use Hyper-V on the same machine. Works like a charm.
That is excellent news then, thank you! Sounds like I have much of my next machine planned out (64-bit, loads o' RAM and Server 2008). Now I just need the cash...
-------------- TTFN - Kent
-
Marc Clifton wrote:
It sure would make it easier to move everything over when replacing a laptop or desktop machine.
Also the ability to achive off legacy technology and still have it available in the future in case issues appear. I still have one site running on ASP.NET 1.1 and do not have the time nor desire to upgrade it. It is handy to use the VM to keep Visual Studio 2002 around for that site :)
Rocky <>< Recent Blog Post: Monopoly Money, sure, let’s print more! Thinking about Silverlight? www.SilverlightCity.com
Yeah, actually I was thinking along the same lines; I did a release last year that was built on VS 2005 and contained that moment in time's technology, this year I upgraded to VS 2008 and even though I have a snapshot/tag in my subversion repository with all the required source files, I don't have the same tools to build with so it would be a bit of a schmozzle to build a new maintenance release for last years release. If I had it all in a virtual machine I could just fire it up and do the changes and rebuild no muss no fuss.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
As a VM neophyte without an MSDN subscription I have a question if you don't mind: How does MS handle the OS/Office/VS licensing on VM clients?
You require an OS license and activation for the VM just like a regular machine. I have an msdn subscription so it's not a big deal, you just make the virtual machine, install the OS, activate it and no problems unless you change something fundamental about the virtual machine like the amount of memory allocated to it or disk size in which case activation is required again just like when you change hardware on a physical machine.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
I've been developing and deploying on VMs since 06. Oodles of ram and fast drives are the key imo. As far as the host OS goes I've found VMWare to be pretty robust across PCs, MACs, and linux. A 64bit host is pretty great also in that you can host 64 bit and 32 bit clients.
Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long
VMWare allows you to run a 64bit guest os on a 32bit machine, you just need a 64bit cpu. I test my software under XP x64 all the time in VMWare on my Vista 32bit host os.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
You require an OS license and activation for the VM just like a regular machine. I have an msdn subscription so it's not a big deal, you just make the virtual machine, install the OS, activate it and no problems unless you change something fundamental about the virtual machine like the amount of memory allocated to it or disk size in which case activation is required again just like when you change hardware on a physical machine.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
I guess it depends on the kind of development you do. For example, as far as I know, virtual machines do not emulate GPUs. So it is kind of dead for serious game development, or image processing. In a way this is a pity, as graphics cards are already 128 bits, 256 bits or even more, with massively parallel capabilities. Sooo, once again software is lagging behind hardware...
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
I am - I have a Mac, and I develop on a VM running XP. It's brilliant.
Christian Graus Driven to the arms of OSX by Vista.
-
I am - I have a Mac, and I develop on a VM running XP. It's brilliant.
Christian Graus Driven to the arms of OSX by Vista.
ROTFL!! LMAO!! :laugh: :laugh: :laugh: Now that's a good one! I'll take the multilingual version... (with both eastern and western languages)
-
I guess it depends on the kind of development you do. For example, as far as I know, virtual machines do not emulate GPUs. So it is kind of dead for serious game development, or image processing. In a way this is a pity, as graphics cards are already 128 bits, 256 bits or even more, with massively parallel capabilities. Sooo, once again software is lagging behind hardware...
Best point in this thread. In addition, you can also forget any serious perf work on it. And they are quite unlikely to 'split-up' or emulate work until 2012 at the very best. MS cannot even get its act together on speeding up 2.0 graphics apps hardly a VM.
-
Best point in this thread. In addition, you can also forget any serious perf work on it. And they are quite unlikely to 'split-up' or emulate work until 2012 at the very best. MS cannot even get its act together on speeding up 2.0 graphics apps hardly a VM.
Thank you! I'd even add: http://www.custompc.co.uk/news/605271/windows-7-allows-directx-10-acceleration-on-the-cpu.html[^] Oh my! They got it all wrong! I guess than rather chasing yahoo as a substitute for google they should have bought nvidia and electronic arts. Hey guys, you missed the google train 10 years ago, so move on now...
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
that is exactly what I did, although main dev is native and past dev and alt platforms are in VMs. All my support for VC6 is only through VMs work and home.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
I do my daily development work in virtual machines. Virtual PC hardware acceleration is totally sweet. I use a quad core rig with 8GB of memory and Vista x64, and couldnt imagine moving to anything else. I also use 4 hard drives in raid 1+0 to get over teh increased disk traffic from running so many OSes In fact i have a whole test virtual ecosystem that I launch for real bug hunting. 2 Win2k3 Servers(one Domain controller, one SQL Server) and 1 Xp client machine. It also makes testing for different browsers or OS's a dream. although all my learning and wpf work still gets done on my host machine, most of my other development gets moved to the vms.
DrewG, MCSD .Net
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
I've been developing in a VM for years now. The convenience of portability and the reassurance of immediate restoration in case of hard drive/system failure or accidentally formatting your hard drive (it happens when you are playing around with scripting DiskPart!) has been wonderful. VMWare Workstation 6.x has been my home for a while. :)
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
John C wrote:
Is anyone doing their main development in a vm
We are now working on two (third is being installed) dual-quad core intel vm machines with 16 programmers on XP32 machines running VS 2005 (500k+ lines projects). Apart from the disk speed (which we are now upgrading to a SAN and local striped disks for compiling) it works great.. You can easily add a new environment (just copy) when a new programmer is needed. Also working on different versions or branches of the software can be done using different VM's. The whole test environment is also build on the same ESX VM machines.
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
John I have been running VM's on both a Quad core grunter pc and my Lenovo t61p both machines have 4 Gig memory. I use VPC 2007 The pains I have found. :( No multi monitor support. This was a biggy for me and I believe vmware have a solution also Scott Hanselman gave me a link to some software that you run on both the host and virtual pc's but it did not work well for me. I have heard that new VPC ver will allow multi monitor support. :( Virus software. you have to run virus software on the VM this slows it down right from the word go and then there is the license cost. :( A little slower. :( Wheel mouse. I have a bluetooth mouse on my notebook which is great but the wheel scrolling will not work in the vpc I have tried other mice with no problems at first I thought it was the driver and then I found that a MS wireless mouse also had the issue. I am sure it is not a config issue as some work some don't with just plug and play. The benefits :) Backup. I just zip up the vpc file and copy it via network and everything is backed up. I can run virtual machine on either notebook when I am on the road or Quad if I want the grunt. :) No Downtime. I had an issue a while back where my notebook just died overnight and it took days to fix even with a next day warranty. I just loaded the VPC up to another pc. :) Mucking around. I played with VS2008 betas in VPC for a long while without having to worry about screwing up my real world environment. Lastly you need to setup your PC with some well organised shares etc. Prior to this I found I had docs in my host pc's My Documents folder and some in my VPC my docs folder etc. so you need to establish some practices here to avoid this. (I was probably just slack before hand) OzDeveloper
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
I have a Centrino Duo with VT (Hardware Virtualization - very important when choosing a CPU) and VM performance is acceptable. 3Ghz 2GB RAM (Toshiba Tecra A8 - but don't buy Toshiba, obscene amounts of homegrown standards). It can sometimes get a bit sloppy, but rebooting the VM always works like magic. The nice thing about it is that if you have a large product that as long to uninstall as it does to install, you can always just roll back: on top of that, a fudged installation is also only a roll back away. In this regard I really recommend VMWare Workstation - you can take multiple snapshots. It also handles the RAM allocation better (you can have, say 2 VMs with 1.5GB RAM each when you only have 2GB on your host). Furthermore, you are not bound to procedures that otherwise render your PC useless - like installing Windows. You can always continue doing something useful on your host. If you are truly serious about virtualization try Virtual Box on Linux. I personally use Windows (as our VPN is a Microsoft one and Linux doesn't like Microsoft VPNs), but my virtualization experience was a lot better on Linux (especially the integrated mode that Virtual Box has a' la Parallels).
He who asks a question is a fool for five minutes. He who does not ask a question remains a fool forever. [Chineese Proverb] Jonathan C Dickinson (C# Software Engineer)
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
We've practically gone completely virtual. We have virtual Servers and Virtual development environments. I would say it's been a varied experience. I have a reasonably good development machine, 3Ghz Dual core pc with 2GB RAM. Essentially it's been fine for general development with Visual Studio 2005 (small web apps). Problems occurred when developing BizTalk applications (my vpc would run like a dog). Also we have Mcaffe virus scan installed on all our development builds, which can cause problems like blocking emails and grinding the vpcs to a halt. Personally I think having separate installs for development is great - but things can get frustratingly slow :(
-
I've been kicking around the idea of doing future development on a virtual machine once I get the major release out in the spring that I'm working on now. It's been two years with the current quad core pc, time to put it out to pasture or at least wipe the hard drive and start fresh again. My theory is you get a kick ass fast computer with 64bit processor and oodles of ram, choose a 64bit host operating system on the hazy criteria that it be the best for vm hosting (fastest to boot? Most efficient? Linux, Windows...not sure.) then create a 32bit virtual machine for general development with whatever is the best operating system for development and a set of others for testing under each operating system. Plus, since my dev machine is also my main personal use machine I guess a separate vm strictly for personal use. I'm thinking that we've almost reached the point where this is feasible (fast enough), but not sure. Is anyone doing their main development in a vm and how's the speed by comparison?
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
Definitely this is a good idea. I´ve been using VMs last couple years. Even with simple machines with a dual Core CPU, 2 GB RAM, SATA drives, Win2K3R2 and latest Virtual Server you can run a 1GB RAM XP VM for development with Visual Studio. It is very useful do work on different projetcs, since you can customize the environment by project. Build a brand-new-machine and freeze it in a 20GB file. You can duplicate it for each new project. You can run one development VM each time but there is still room in the host server for a second 512M RAM XP VM for personal use, email, etc. My goal now is to try a 8GB 64-bit (wait i7?), SATA 10K and Win2K8 at host server. Jose Motta
J.Motta
-
Thank you! I'd even add: http://www.custompc.co.uk/news/605271/windows-7-allows-directx-10-acceleration-on-the-cpu.html[^] Oh my! They got it all wrong! I guess than rather chasing yahoo as a substitute for google they should have bought nvidia and electronic arts. Hey guys, you missed the google train 10 years ago, so move on now...
Given how shit intel ingrated gfx are, something needs to be done to make areo 2.0 run on $400 hardware.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall