I want to deploy at the application level, not the OS image level. The abstraction that I want is:
Servers: Something that runs applications. Could be a physical server, an instance on EC2, or a local process, etc.
Applications: My code. Black boxes.
I want to be able to boot up a new server and throw some applications on it, like a new MongoDB shard or whatever. Then tear some applications down, or tear whole servers down.
And I want it all to be managed by a RESTful API over HTTP so that I can write a script to automate deployment, and even automate the scaling of my service.
I think you can do it with just Docker, a bare Linux distro, and a few scripts.
Does this exist yet?