Heh, that's almost exactly what I'm working on now. After looking at OpenStack and other solutions, I rolled my own.<p>My solution is cloud agnostic, and does have (almost-there!) multi-node support, and was built to support a local cloud provider (via Linux Containers) .. so you don't have to be online, pay an external provider, or pay the latency cost if you want to run stuff .. you can just do it locally.<p>This is LOADS more complex than it may seem: due to dynamic virtual network infrastructure, configuration dependencies on network locality, resource requirements, portability concerns, security concerns, etc.<p>Our primary non-local cloud provider is EC2.