I am trying to set up a workable model for development. I'm wondering if anyone has recommendations for Virtual machine software and what process to follow to enable the following:
- Developers grab a copy of the gold image of a virtual machine and run the VM guest on their own workstations. (Ideally I dont want to pay for server hardware/software to host VMs centrally when developer workstations have all this horsepower that is idle)
- The gold image of the Virtual machine is updated - using differencing disks, snapshots, or equivalent feature in the VM vendor of choice - each copied developer VM is updated with the new changes (Ideally I am not deploying an entire image - just the diffs from the gold image)
- Is free (maybe wishful thinking)
- As mentioned before - isnt a server-based solution (other than storing the gold image and diffs on the network somewhere) - I dont want more servers and software to manage
- Must support 64-bit guests (Virtual PC and MS Virtual Server are out...)
Is this a pipe dream?
Given my constraints I think I can choose either VMWare Workstation or VirtualBox. But I dont think they will do exactly what I want.
As a compromise - could I use Hyper-V or ESX to create VM templates, create many clones of the templates - and somehow distribute those clones to individual workstations?
My idea with deploying differencing disks/snapshots is that this is practical on a weekly basis - to deploy an update to each individual developer VM that is then merged with the base image. The 'gold image' would then have the diffs merged too - so that all VMs would match without going to the trouble of deleting the existing clones, and cloning from an updated template. You could just keep running the same Vm - just keep applying differncing disks/snapshots.