What I really really like about Google App Engine (GAE) is the whole Platform as a Service (Paas) approach. As a developer I really couldn’t care less about how many instances (virtual servers) are running the site or what configuration they have. I certainly don’t want to be on call 24/7, ready to manually start up new instances in case I get slashdotted. GAE just runs your application and scales when needed with your set budget as the only real limit. So upload your website project and relax.
Google provides a great dashboard that shows usage stats and costs about all metrics that count so you can optimize and lower your costs. They even offer a pretty high volume of free capacity which is great for trying out new projects/products. If it was a .NET platform I wouldn’t use anything else, but alas it’s not – it’s for Java (JVM) and Python only (although it does support anything that runs on JVM, like JRuby).
Amazon Web Services (AWS) is a Infrastructure as a Service (Iaas) so you have to manually start up new instances or set up a small network of AWS-services to do it for you. Windows Azure is even worse since there’s no infrastructure support to build the automated monitoring on.
I see it as a great business opportunity to abstract AWS into a PaaS, and provide platforms for various website technologies. Especially ASP.NET and PHP.