Google’s AppEngine was quite promising from the start. Automatic scaling and load balancing without having to think about the administrative side is extremely nice.

But that’s about it. There’s a couple of things which make AppEngine a bit cumbersome to recommend for a new application, all of which are well served by Amazon EC2+ELB+ES:

  1. Lack of SSL for your custom domain
  2. Can’t use many django pluggables out of the box because of RDMS dependencies
  3. Some would say naked domains, but ELB can’t do naked domains either, so this is a wash.
  4. Can’t use other off the shelf software, like wordpress, etc.

Don’t get me wrong, I really like AppEngine, and for small apps I’m going to stick with it because of:

  1. Cost – the free instance can’t be beat. You’re at an automatic $100/month with EC2.
  2. Little to no infrastructure admin needed – mainly just some DNS.
  3. You can run Django 1.0 with either app-engine-patch, or the django-helper.