Many, many years ago, Fotango introduced a system called the "Borg".
The idea of the system was that we could deploy any of our web applications to a mass of blades and spin up new application servers as we needed them. A lot of this went into production but many of our advanced plans for automatic creation and destruction of virtual servers and applications according to estimation of future load were never completed in production. But then again, this was 2004.
What we were trying to create was an environment where we just added more hardware, as it was needed, and the environment decided how it was best used. The plan was that the environment would automatically balance the use of hardware according to the variable demand of all the various web applications that existed within it. The decision process would be left to the "Borg Queen". What we ended up with was most of this, the ability to spin up virtual machines, deploy and configure applications with a single command, scale up applications and recreate virtual machines on fail.
Of course, Borg raised an interesting question that you wouldn't know on what hardware your application existed on at any one moment in time.
I joked about this subject when Rich Miller and Greg Ness posted about portable VMs. However James Urquhart has explored the concept of portable environments in the cloud and brought up a whole host of legal issues. James really is a smart cookie, but then all the Jameses I know are smart - odd that.
If you are interested in the "cloud" and you don't follow James and Rich, you really should. Actually Greg is really interesting too.
-- update June 2014
Came across this system from Google - apparently called Borg as well. The scale is obviously different, probably some of the ambitions are the same.
Fotango's more limited version was built by a team led by Artur Bergman.
Fotango's more limited version was built by a team led by Artur Bergman.