We want to ship our working software to different places in a painless way
Do-It-Yourself!
Package everything in a VM and deploy it in different environments
Management problems can be solved with Vagrant, Chef, Puppet...
Package everything in LXC containers