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

  1. Datastore and memcache tests
  2. High Replication Datastore tests
  3. Task queue tests
  4. Deferred task tests
  5. Mail tests
  6. Environment variables
import unittest

from google.appengine.api import memcache
from google.appengine.ext import ndb
from google.appengine.ext import testbed

Logging

  1. Request Logs
  2. Warning and Error Logs
  3. Custom Logs

Deployment

$ appcfg.py --oauth2 update  .

QUICK DEMO

I'm stuck

  1. AppScale - Mature
  2. 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.
Made with Slides.com