I was speaking with an Amazon WS evangelist last year and he was recommending a 5 server system: load balancer, two web/app servers and two DB servers.<p>The issue I brought up was that you couldn't guarantee colocation, so you might be making DB calls cross-country. If you're using a poorly optimized ORM (untweaked ActiveRecord, Hibernate, etc.), that is issuing tons of queries, the net lag between the app server and the DB could slow you to a crawl.<p>The availability zones seem like the could be an answer to that, but they're being marketed as an answer to disaster recovery and failover. It would definitely be nice to request your app server and DB server are close to each other.