I just came across a problem a few minutes ago. Getting appengine sdk working on my Ubuntu 10.04. Most distros seem to have removed python 2.5 from their repo. And unfortunately it's not possible to replace /usr/bin/python with 2.5 instead of 2.6 coz, Ubuntu seems to use python to check if a shell cmd exists. So I had to switch back to 2.6 after I had symlinked 2.5 at /usr/bin/python
Read an issue on the google code site where a lot of developers are requesting for python 2.6 support. And the appengine team replies that they do have it on their list but not top priority.
So if your OS's repo doesn't have 2.5, you'll have a bit of a problem. Django version is 1.1 on appengine. Still the trivial 1mb app limit.
Whatever happens, i still like appengine for it's ease of deployment of python apps. Appengine seems to be for python what Heroku is for ruby apps.
P.S: If anybody has a solution to 2.5 python on ubuntu 10.04...
You can still do development locally with 2.6, but you need to be a little bit careful that you don't use any 2.6-only APIs or syntax before deploying to production.
Python might have something Ike Ruby's rvm utility. If you're unfamiliar, rvm stands for Ruby Version Manager, and it allows you to have multiple versions of Ruby installed. When you want to use a certain version, you run "rvm use ruby-1.8" (for example), and it switches, to that version in the current shell session.
For any Unix: Grab source from python.org, unpack, run "configure", run "make altinstall". The result is a "python2.5" binary that doesn't stomp on the standard install.
I like App Engine, too, however, I always worry about the "hot cache" problem (or how to call it?): if your app doesn't get a request for a while, it will be cycled out of the "active" state, and the next quest will have a long delay for booting the app again. Especially people who used Java VM languages (ie Clojure, RoR) have complained about the issue.
I wonder if the situation has improved in the last couple of months? One proposed solution is to have a recurring task trigger requests, but that seems like a wasteful hack. Plus, it would be unreliable as it is not known how App Engine decided internally when to "unload" an app.
I don't like it in theory either, but you can write a dummy cron job. It is wasteful in the sense that their system relies on 'garbage collecting' dormant apps. But it's not something you're going to see hike your monthly bill.
The initial load is slow. I can't remember the average wait but it does add on several seconds to a pageload. Given that 1/n users will deal with it, it's probably not an issue, but it did always bother me.
In general the overall performance has degraded in the last couple of months. I only use it as a hackish-CDN at the moment but I have seen deploys timeout up to 10 minutes. I guess the datastore is dealing with some serious growing pains as well.
Thanks for the info. I have considered giving it another shot, but I guess I'll wait for the reserved instances at least. With the 1/n-th visitor: would be especially annoying if it happens to be the Google crawler und the site tanks in the rankings because of slow load times.
I hadn't thought of that. I wonder if Google Seach and Google App Engine ever discuss slow loading times.
Depending on what you're looking for, I would probably steer you away from App Engine. I don't have time to go into details, but I really think the cons outweigh the pros. I moved a while ago from AE to regular Django and I spend a lot less time coding. You've got plenty of other options for similar cost/scalability as well.
I guess for most cases it is too special, but I have an old Java app that doesn't even need a database, so I thought that might run well without too much effort.
Read an issue on the google code site where a lot of developers are requesting for python 2.6 support. And the appengine team replies that they do have it on their list but not top priority.
So if your OS's repo doesn't have 2.5, you'll have a bit of a problem. Django version is 1.1 on appengine. Still the trivial 1mb app limit.
Whatever happens, i still like appengine for it's ease of deployment of python apps. Appengine seems to be for python what Heroku is for ruby apps.
P.S: If anybody has a solution to 2.5 python on ubuntu 10.04...