Archive
Monthly
Go
|
|
DNN Blog
Sep
4
Posted by:
Nik Kalyani
9/4/2006 9:00 PM
Joe Brinkman made an excellent post today (Repaving in a Virtual World) about the painful experience of dealing with the crapware most computer manufacturers force on us and the odyssey of re-installing software.
About six months ago, I got fed-up with the cycle and decided to end it once and for all by switching entirely to virtual machines (Virtual PC). Now, I am a convert. There is just no going back.
I upgrade my primary notebook approximately every 6-8 months. I will go from a HP Pavilion zd8000 to a Dell M90 later this month, and for once, I don't have the mixture of excitement about the new hardware, and dread about getting the environment just right. I'll copy the virtual machines over and be up and running in the time it takes the bits to cross the wire to their new home.
As Joe mentions in his post, I have multiple "theme-based" virtual machines:
- Biz - for Office apps, email, blogging etc. (10Gb disk, 400Mb memory)
- Dev (multiple) - one standad dev VM for my business, and a couple for some other businesses I collaborate with. (16Gb disk, 768Mb memory)
- Test (multiple) - these are throwaway VM's. I use them sometimes only for a couple of hours and then delete them. (4Gb disk, 256Mb memory)
- Media - for personal photos, music, videos etc. before I transfer them to my 2.5Tb media jukebox (10Gb disk, 384Mb memory)
At any given time I will have a combination of Biz-Dev-Test or Biz-Media or Biz-Test-Test running. Since the aggregate memory never exceeds 1500Mb, I never experience any problems. On the host, I do have Skype and my WinTV app running. These don't consume many resources and since I turned off just about every other non-essential service on the host, there is very little memory/CPU usage too. (Bonus: Incredibly fast boot time for host.)
It took a little getting used to this setup at first, but I think in the process VMs have helped me deal with another problem -- attention deficit. By setting up each VM to be specific to one general area, I have forced myself to be more disciplined in approaching tasks, especially development. Instead of bouncing between windows on multiple projects, I now focus on getting to a stopping point so I can switch to a different VM. I have all the VM's configured to have "My Documents" point to a shared folder on the host, so sharing docs is not a problem. I have not yet figured out the exact rules for when the clipboard works and when it doesn't between host-VM and VM-VM, but it is not a huge issue.
The key to excellent VM performance I found, was regular defragging. I run Raxco's Perfect Disk and the Invirtus VM Optimizer regularly on my VMs. It's like hitting a performance boost button -- things are just snappy after running these guys.
Another suggestion for saving time and effort is to get the base VMs right the first time. When I need to create a new VM, the only thing I need to do is copy the settings and disk files for the VM, edit the reference in the setting file to point to the new disk and once the VM is running, rename the computer. I figured that getting the VM right would save me countless headaches until the next major software upgrade cycle, so I invested a day in getting my base VMs just right. That investment has obviously paid off.
[Reproduced from devTao :: Nik Kalyani on the Developer Way]
7 comment(s) so far...
Re: Virtual Machines = Developer Productivity
How much memory do you have on your host machine to do this. I have 1GB on my latptop and will probably look into using VM more. I have a feeling though I will be limited to only having on VM machine open at a time with the memory I have, or have to upgrade my memory (which is not cheap for a laptop).
By smehaffie on
9/5/2006 12:19 PM
|
Re: Virtual Machines = Developer Productivity
I have 2Gb on my notebook which is the host.
Nik
By cniknet on
9/5/2006 5:52 PM
|
Re: Virtual Machines = Developer Productivity
I'm doing pretty much the same thing only using an Apple Macbookpro. I've got two Windows VMs for development on the road and a linux VM just because I can. It's really helpful.
By Adeian on
9/6/2006 3:04 PM
|
Re: Virtual Machines = Developer Productivity
Nik thanks for writing this. I had posted in the forums about configuring a similar setup to get me started with DNN dev. This confirms that I was on the right road. http://dotnetnuke.com/Community/ForumsDotNetNuke/tabid/795/mid/2108/threadid/63123/scope/posts/Default.aspx#68534
By simonduz on
9/7/2006 7:32 AM
|
Re: Virtual Machines = Developer Productivity
Virtual machines are really useful for various applications, and let me add that recently Microsoft made its Virtual PC software available for FREE - you can download it here: http://www.microsoft.com/downloads/details.aspx?FamilyId=6D58729D-DFA8-40BF-AFAF-20BCB7F01CD1&displaylang=en
By microworks on
9/9/2006 12:59 AM
|
Re: Virtual Machines = Developer Productivity
I would be very interested to know what you think about running a production site on VMWare. Web and SQL and EMail etc. We are due to update our current server vintage 2001 4Gig RAM. The two things that concern me is SQL performance, and if we also move our main city site to DNN, the traffic will be crazy. It currently has a google page rank of 8 and I wouldn't want a VMWare approach to adversely affect the user experience.
By pspeth on
11/8/2006 12:10 PM
|
Re: Virtual Machines = Developer Productivity
After using Microsoft VPC and VMWare Workstation for about 1.5 years I can say that both are great! For me, I like VMWare just a little better, but I've used both products and like both.
Also, we have used Microsoft Virtual Server and found it to be a solid product for hosting web sites and databases. So far, no real problems...
Not to say if we dig deep enough a problem will arise. My only example was a C# application that produced datasets and fed them into SAS for analysis. Everything ran fine on MS VPC, but crashed on VMWare Workstation. Never found an answer, just moved that project to VPC... Duh, Huh...
By bplummer on
3/26/2007 10:47 AM
|
|