Is anyone aware of a tool for automating the creation and deployment of virtual machines across different hypervisor platforms? I work on web applications running on EC2, Xen, KVM, and VMWare, and I'm currently writing separate deployment scripts for each platform. Since there's a lot of redundancy, I'd like to find a single tool that can deploy to each platform.
I'm aware of tools that only work with a single platform, like Vagrant. The only one I've found that claims to work with nearly all VM platforms is VM Builder. How does it compare to each platform's native tools? Are there any other options like it?
You might want to check out OpenStack Compute.
With OpenStack Compute, you can orchestrate clouds using multiple hypervisors in different zones. The types of virtualization standards that may be used with Compute include:
Though I haven't done so myself as yet, I'm planning to go use Cobbler for this purpose. It seems robust enough (at least that was the initial impression from skimming the wiki) that it can handle creating VMs of different hypervisors/kernels and such, and even ties into automated installer scripts pretty nicely from what I hear.
To get you started:
You can take a look at libvirt and its associated tools, it covers some of the ground you want to cover.