Trying to make sense of the Google App Engine and what possibilities it holds I have compiled a list of what seems to be good, bad, and what I’m not quite sure about.
First, what seems bad:
Some Bad Things
- You can not access the file system.
- You can not run background processes, not even CRON.
- You can not spawn off another thread / process.
- Requests that take more than a few seconds are terminated (why would you do this to your users anyway?).
- You are only able to access other sites and services using HTTP(S), so no fancy sockets or anything like that (this doesn’t seem bad, but it is a limitation).
- You can’t use the Django authentication, admin, or session middleware apps (more on this below).
- You can not use Django models.
- Some standard libraries have been disabled, so not all Python modules are available.
- As of right now, you can not use Ruby, PHP, C#, Java, or anything else. Only Python (is that so bad actually?).
Some Good Things
- You use Python.
- You can use Django.
- It uses Googles DataStore and they provide a nice API (it’s similar to Django models).
- The Django admin and authentication is handled by Google.
- It scales.
- Deploys fast and easy.
- Monitoring is part of the admin console provided by Google.
- You can include any pure Python libraries when you upload your application.
Some Things I am Unsure About
- Vendor lock-in? If I want to move my app someplace else for example.
- How is domain management handled?
- GQL? I’m not sure what to make of it, except it looks like SQL. Are there any Limitations compared to SQL?
How does this compare to Amazon’s web developer services? Well, it seems the 2 services are not really comparable.
The only thing that seems to compare is the hosting platforms, that is EC2 and the whole GAE package. An EC2 instance is like a VPS, you have much more control (what gets installed, libraries, languages, database, etc). Setting up an EC2 instance is not difficult, but definitely not as easy as using GAE. If you like Python and don’t have any issues with the limitations Google has with it’s sandbox it seems like a great service. Actually it’s a great service regardless of those limitations.
Regarding S3 and SimpleDB, I don’t see how Google is even competing or offering a similar service with GAE. Did I miss something? These 2 services can be used from anywhere on the internet. As far I can tell, GAE does not have any sort of S3 equivalent and DataTable seems limited to being used inside GAE only.
Regardless of any of it’s current limitations, Google App Engine seems like a very cool neat service and I can’t wait to take advantage of it someday.
My question now is what type of apps can take advantage of this service?
Oh, and if you aren’t a big fan of Django for some unknown various reason, you can always try Pylons.
Other Posts That Might Interest You

