BananaPy
QTpy
RecursiPy
BlanchePy
CowboyPy
SpaghettiPy
2and3Py
Google App Engine
@abhinav_rastogi
App Engine Dashboard
Installation
https://cloud.google.com/appengine/downloads
Local Development
$ dev_appserver.py .
App Initialization
http://stackoverflow.com/questions/12787730/execute-code-on-app-engine-application-initialization
Available APIs
- Datastore API
- Images API
- Memcache API
- Mail API
- Users API
- Background Tasks API
- Task Queue
- URL Fetch
- Storage API
- and many more...
Testing
https://cloud.google.com/appengine/docs/python/tools/localunittesting
- Datastore and memcache tests
- High Replication Datastore tests
- Task queue tests
- Deferred task tests
- Mail tests
- Environment variables
import unittest
from google.appengine.api import memcache
from google.appengine.ext import ndb
from google.appengine.ext import testbed
Logging
- Request Logs
- Warning and Error Logs
- Custom Logs
Deployment
$ appcfg.py --oauth2 update .
QUICK DEMO
I'm stuck
- AppScale - Mature
- TyphoonAE - Smaller project
QuotaLimit (per day)
Backend Instance Hours | 9 hours |
Frontend Instance Hours | 28 hours |
Emails | 100 (5000 admin emails) |
Bandwidth in | 1 GB |
Bandwidth out | 1 GB |
Datastore Storage Data | 1 GB |
Datastore read, write, and store Operations | 50,000 each |
Code and Static File Storage | 1 GB |
Logs Stored Data | 1 GB |
Search API Stored Data | 250 MB |
Search API Search Minutes | 100 minutes |
Questions?
@abhinav_rastogi
- File writing now allowed: use gae-storage for any file processing activities
- Pure Python Modules: Currently only pure python methods are allowed. C based modules not allowed.
- Long Running Tasks: Requests taking more than 60 seconds are required to be handled with background tasks.
- Limitation of GQL: GQL is like SQL but since underlying data is not stored in relational data format, certain functions are not available.
Google App Engine
By halite
Google App Engine
- 1,676