My must have utils - Part 3 (VMWare)

Any self-respected programmer already uses this, unless they are masochists! :)

Still, for those few who don't yet know what this is all about, or for those mislead sheep that are using something else, here's a quick rundown of the features that I like in VMWare Workstation:
  1. Speed. If you try other products, you'll see the difference! Given enough memory, your VMs can run nearly as fast as your main machine.

  2. Snapshots and "Revert to snapshot on shutdown": these two are invaluable if you need to keep a VM clean of outside interference. I have this on several VMs, but particularly on one where I also installed Delphi 2007 and didn't touch a single setting. This way I can validate if some particular odd behavior I may get in my dev machine is due to some of my tweaking or due to some third party component I am using. It's also invaluable to validate QC reports.

  3. You can quickly create a new independent VM from any snapshot, e.g., I keep a base Windows VM with a clean snapshot and when I need another VM to test something, I create a new one from that snapshot. It's faster than using many snapshots on a single VM and also more flexible: I can, for instance, put seldom used VMs on an external USB2 HDD (and they work fine from there!).

  4. For VMs set to revert to snapshot on shutdown, shutting them down only takes a few seconds: no waiting for logoff and guest OS shutdown!

  5. There is a free player from VMWare, should you want/need to distribute a particular VM for someone else to test (just don't forget of copyright issues on what OS/Apps you have there!)
    In fact, there are also some freeware VMWare creation tools that allow you to work with VMs using only the player engine...

  6. You have a lot of power in what hardware is present in your VM (Disks, CD-ROM, Network, Sound, USB) and you can set it to automatically use new USB devices plugged to your computer to a running VM.

  7. There's even a Physical Machine Converter tool, so you can grab a physical machine and have it run inside a VM: i tried this a few weeks ago, and it worked like a charm!

  8. You can archive your machines easily on DVD or any other medium of your choice: don't forget to use the "Split in 2 GB" option when creating the virtual disks: it's easier to split that up between DVDs!

  9. EDIT: Someone just reminded me of another feature that is worth mentioning: Cut/Paste and Drag'n'Drop between the host and the guests or between multiple guests... Very handy thing...

  10. EDIT: How could I also miss this one! You can set access to virtual folders, i.e., folders in the host OS that you can map as disk drives on the guest, so you can save your work there and still have an always clean machine.

  11. Overall, it works very well, fast, reliable and flexible, so get the trial, set it up and see what you've been missing!


Anonymous said...

This should be util 1rst.

Fernando Madruga said...

I'm blogging about them in no particular order... :)

David Keith said...

For those who are prepared technically, vmware VM's work /perform far better on hardware run by the linux operating system. I've used vmware on both Windows and Linux, and linux - due to it's excellent optimization of hardware - significantly better than windows hardware optimization - makes a Windows VM running on Linux as fast in most cases as a computer running native windows.

The performance gap running vmware on linux vs. vmware on windows increases significantly as you increase the number of VM's that you run simultaneously. I have about 3 years of experience developing software using Delphi 7 & VS.NET running on VM's; some of that time I would run both a Delphi VM and a VS.NET VM simultaneously; running just VS.NET on a windows workstation, for comparison, showed that overall computer performance was better on a linux host running a VS.NET VM than was the performance of a windows workstation running VS.NET (2005).

VMWare rocks for a software dev platform.

Viva la VMWare!

Anonymous said...

Gotta love vmware, non persistant disks works much like the snapshot and revert, only with even less hassle, cut and paste between "computers" multi OSs for testing.. Wks6 is out soon!!!

Fernando Madruga said...

Thanks for reminding me of that!
As for non-persistent disks, I don't use much as I tend to keep a couple snapshots, like this:
- clean: VM fully set up and ready to go;
- temp: if for some reason I want to keep another snapshot of that VM, say, for some extensive, multi-day tests and I don't want to forget and shutdown by accident, I set it to ask on shutdown. If I mistakenly shut it down, I'll get that prompt reminding me of what to do so I can either say "Do nothing" or even take another snapshot to keep it like that for a few days/weeks, always having the possibility of switching between the two snapshots as needed...