
typhoonae
The TyphoonAE project aims at providing a full-featured and productive serving environment to run Google App Engine (Python) applications. It delivers the parts for building your own scalable App Engine while staying compatible with Google's API.
Important note: The current development status is beta. At this point it is not guaranteed that any GAE application will run completely error-free on TyphoonAE. So, stay patient please!
See the Release Notes for information on the current release and the Product Roadmap for further details on planned features.
Demo (currently unavailable)
We have installed three demos on a single TyphoonAE instance running in a virtual XEN environment:
- Bloggart
- Web Socket Hybrid Demo (using Web Socket API)
- Trivia Quiz I/O Demo (using Channel API)
Any feedback is appreciated! Feel free to join our discussion group for TyphoonAE.
Architecture Overview
Click the image below for a PDF version.
The Stack
- Google App Engine SDK http://code.google.com/appengine
Supported Datastore Backends
- MongoDB http://www.mongodb.org
- MySQL http://www.mysql.com
- Berkeley DB JE - http://arachnid.github.com/bdbdatastore
It should be fairly achievable to implement an appropriate API proxy stub for HBase support. Don't hesitate to ask the TAE project members for details.
HTTP Server via FastCGI
- NGINX http://nginx.net/
- Apache2 http://httpd.apache.org/
- FastCGI http://www.fastcgi.com
Memcache
- memcached http://memcached.org
Task Queue / Messaging
- RabbitMQ - http://www.rabbitmq.com
- ejabberd - http://www.process-one.net/en/ejabberd
Web Sockets (TyphoonAE only)
- Tornado - http://www.tornadoweb.org
Supervisor
- Supervisor http://supervisord.org
All these components will be automatically installed by zc.buildout into an isolated directory tree on your development machine. If you want to remove the TyphoonAE development environment you just have to delete this single directory.
For some good reasons why using zc.buildout you may want to read this post or watch this talk.
The configuration above is tested on OS X, Debian and Ubuntu Linux. Several parts can be replaced by editing the buildout.cfg file. But you should really know what you're doing.
PyPI
http://pypi.python.org/pypi/typhoonae
Resources
- David Rousseau shows on Google App Engine as a Framework how to install TyphoonAE on Ubuntu.
Support TyphoonAE
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KNKKR9UCQKPRY'>https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif' />