Giving up on Google Appengine
Quitter’s journal: After trying for half of week of getting some stuff going on appengine here is what I observed.
The runtime is completely different. They do try however to patch the normal python runtime in the sdk to have the same characteristics as the runtime on their servers but differences fall through the cracks. The have some sort of qa process for the sdk (probably to compensate for these differences) – I bet it must be very cumbersome to maintain it.
In the sdk you have so little python libraries available and what makes matters worse is that they are outdated so you have to do additional evil monkey patching to use newer versions.
Ok, so I started with the idea of a django app – but I gave up when i found the one in the sdk is very old (0.96) and i still need to zip it (django slightly goes over the 1000 file limit). So if I start zipping stuff I might just as well do it the right way and use eggs and setuptools – well, I’ve moved to that idea and still didn’t work out due to the fact setuptools can barely run in the appengine runtime.
Also, thinking on the zips in retrospective – they aren’t such a great idea. Why the hell would i waste cpu cycles on zips ?
And speaking of the 1000 file limit, their filesystem must work real bad with many files. Guido said on the file limit: “it exists because of the sheer number of apps. E.g. 1,000,000 apps == 1,000,000,000 files”. Is 1B files too much ? For Google !?
Come to think of it a bit, the only advantage of appengine is the fact is almost free.
LE: corrected the arithmetic.
Hi there,
I’ve just developed a simple site using Django 1.0 on Google App Engine. It’s http://baristareview.com.
I bundle a cut down version of Django 1.0 with my code and use appenginepatch to do the magic I need.
Only a few times have I run into python libraries that aren’t available, usually because they create temporary files or something.
Yes, it’s a slightly odd environment, and it’s still a bit quirky, but I’m finding it makes sense and performance is pretty good (I’m using memcache for my images served from the db).
What alternatives are you looking at that will scale like GAE?
I jumped right onto GAE when announced only to find that there are plenty of restrictions. I have still not given up on it. For a free service, probably it is good. But for a serious business, it may not be.
Allright, allright, I’ll give one more shot the the django alternative.
Django on GAE is just useless. They try to claim that GAE “supports Django”, but that claim is really stretched. No models, no admin… What’s left? The views and templates? More than that you can use Django templates without using Django itself in GAE…
On the other hand, if you go with the default framework, which is actually quite similar to web.py, you can get some nice stuff done. Sure, there are a lot of limitations, you wouldn’t want to run your business on GAE, but if you compare it to other free hosts out there it’s really powerful. That said, I host my (self written) photoblog on GAE and I’m quite happy with it. But I don’t consider it much more than a toy.
“1,000,000,000 files”. Is 1M files too much ? For Google !?”
Your arithmetic is off. That’s 1B files (or 1000M, if you’re in one of /those/ countries).
And no, that’s not *too* much. Since that’s the *limit*, they’re saying they can handle that many — just not orders-of-magnitude more. That’s getting up close to the number of pages in their web index.
I use Django 1.0 on GAE and it’s less than 500 files. You can actually delete a bunch of folders that cannot work on GAE anyway:
http://code.google.com/p/app-engine-patch/wiki/GettingStarted
Nevertheless, GAE is definitely not for everyone. Its limitations (along with the benefits they can give) are too much of a hassle for most websites.