Google App Engine vs Amazon EC2 and S3
Originally, I thought that Google’s App Engine would be a great competitor for EC2, but in reality it’s very different.
EC2 allows you to configure a GNU/Linux environment to your liking and use it almost the same as you would use a dedicated server or VPS. Google’s App Engine allows you to create Google Applications. They’re written in Python (one of Google’s production languages) and need to be written specifically to use things like Google’s Bigtable.
That’s not necessarily a bad thing. Google’s infrastructure is top notch, but it might be hard to market yourself as a company completely beholden to Google for its infrastructure. While you can become beholden to Amazon for EC2 and S3, with EC2, it’s decently easy to switch to dedicated servers and S3 could be replaced by a MogileFS cluster should you ever loose faith in AWS. With Google’s App Engine, you’d have to delve a bit more into the code to free yourself from dependencies on their infrastructure.
Essentially, Google’s App Engine locks you into Google in a way that EC2/S3 doesn’t lock you into Amazon (in fact, some of the considerations like lack of persistent storage make it easier to move away).