I'm far from an expert in virtualization, so pardon my ignorance.
I've had this idea (really doubt it's original, haven't looked much into the topic) of "disposable" virtual machines for QA environments.
At work we use a couple of physical machines where each QA environment is just a different Unix account and port configuration. Every QA test leaves traces of previous tests, and it's generally a PITA to manage the environments, keep them updated, etc. This is very tedious and prone to breakage.
I could use something like Puppet to easily manage and keep track of changes, but it would still require an awful lot of configuration and planning.
So is there a VirtualBox (preferably), VMWare or other virtualization solution that helps me create certain VM configurations on the fly when needed, and allows me to dispose of them quickly? I am thinking of one VM per test bundle, that would save the results and additional configuration for quick recovery if needed. Maybe using snapshots like patches that I could reapply to different VMs. Also, could I have some sort of "base" VM with the OS and static apps, and then apply "patch" VMs on top?
I'm not really sure something like this is possible and what I need to consider. I'm sure I'm missing out on tons of details.
If something like this doesn't exist, I was thinking of writing something on my own using the VirtualBox API. How difficult would it be to go this route?
Thanks for your help.