In essence, how is EC2 different?
1- Each EC2 instance is essentially 1/4th of a typical server (w/ 4 cores, 16GB ram, 1GB net, ~500G local disk).
2- once an EC2 instance fails, it's gone forever - there is no way to recover local data, you'll never get the same IP addr, etc.
Given these two constraints, EC2 isn't really a viable platform for running services backed by an typical RDBMS (though, I'm sure it can be pulled off, it would be quite a bit of work).
EC2 is _really_ good for apps that "pull" work from a queue - i.e. operate asynchronously.
There are several companies using EC2 with this asnyc idiom, Powerset being the most notable.
Is it a better idea to use an external machine as a load balancer and an automatic EC2 instance manager?
Is it reasonable to try to build a traditional functional web application in this asynchronous paradigm?