Google Application Engine

 undefined

Google App engine will always provide the following free quota

 - at least 500mb of data store space

- at least 2GB of bandwith per day

- at least 5 Million Page views per month

(Data store calls have been taken in account in this number)

- 2,000 outgoing e-mails per month

 

Billing

Incomming bandwidth @ $0.10 per GByte per month

Outgoing bandwidth    @$0.12 per GByte per month

Stored Data                @$0.15 per GByte per month

E-mails                       @0.10 per 1,000 e-mails sent  

 

 

Common challenges when building any web application.

   As the load increases your storage, processing power requirements will increase. As you grow the need for monitoring, congfiguratitng servers  will also grow. 

 The amount of resources cash + time will also grow.

 

Advantages

Very easy to deploy a new application or complete web service.

Scaling occurs organically i.e as more resources are required, resources will be allocated automatically to handle increased load.

  Don't need to worry about scaling, hardware, maintance etc.

 You get to have all the redundent:

 -Servers, Switches, Load balancers, power supplies, backbones, datacenters

Can easily deploy and test mutiple version of web application, without affecting production release. 

 

 Some of the current limitations:

 *Cannot run backround jobs / offline processing

*Lock in, hard to re-deploy same application on other platform(s)

*GQL is not relational

- Limited to one inequality per query (!=)

*You need to denormlize your data

* No static IP,  when a user  sends a request to your app Google sends the user to the nearest server

 * limited to 1000 static files for project

* Do not support c-libaries in python

* 1MB limit, size of a object in the data store

 

 

The 5 Basic Components of the Google Application Engine

 

1. Runtime language(s) API

Java

 Python (more languages will be supported soon)

2. SDK

that includes a fully functional version of a app engine developer server to test your applications locally.  The SDK also

includes the tools required to deploy, and test your applications.

3. Scalable infrastructure

 Don't need to ever worry about servers, they are all over the world!

4. Data Store

Big Table -  a non relation database

5. A web based admin console to:

- browse your data store in data store , run queries using GQL. 

- edit data in data viewer

- View quotas

- View logs

- add developers to project 

 

Other API's

Mail

Memcached

Image manipulation

Google user accounts for application authentication

URL Fetch

 

Links

 Google App Engine Cookbook

Google App Engine Developers Greece on Facebook

 

Example Live Applications using App Engine

Buddy Poke

Urlborg

This Wiki is also running on App Engine!