Pros & Cons of Google App Engine

Rishi picture Rishi · Aug 20, 2009 · Viewed 29.4k times · Source

[An Updated List 21st Aug 09]

Help me Compile a List of all the Advantages & Disadvantages of Building an Application on the Google App Engine

Pros:

  1. No need to buy servers or server space (no maintenance).
  2. Makes solving the problem of scaling easier.
  3. Free up to a certain level of consumed resources.

Cons:

  1. Locked into Google App Engine ?
  2. Developers have read-only access to the filesystem on App Engine.
  3. App Engine can only execute code called from an HTTP request (except for scheduled background tasks).
  4. Users may upload arbitrary Python modules, but only if they are pure-Python; C and Pyrex modules are not supported.
  5. App Engine limits the maximum rows returned from an entity get to 1000 rows per Datastore call. (Update - App Engine now supports cursors for accessing larger queries)
  6. Java applications may only use a subset (The JRE Class White List) of the classes from the JRE standard edition.
  7. Java applications cannot create new threads.

Known Issues!! : http://code.google.com/p/googleappengine/issues/list

Hard limits

Apps per developer - 10
Time per request - 30 sec
Files per app - 3,000
HTTP response size - 10 MB
Datastore item size - 1 MB
Application code size - 150 MB
Update Blob store now allows storage of files up to 50MB

Pro or Con?
App Engine's infrastructure removes many of the system administration and development challenges of building applications to scale to millions of hits. Google handles deploying code to a cluster, monitoring, failover, and launching application instances as necessary.

While other services let users install and configure nearly any *NIX compatible software, App Engine requires developers to use Python or Java as the programming language and a limited set of APIs. Current APIs allow storing and retrieving data from a BigTable non-relational database; making HTTP requests; sending e-mail; manipulating images; and caching. Most existing Web applications can't run on App Engine without modification, because they require a relational database.

Answer

Arpit Tambi picture Arpit Tambi · Aug 20, 2009

Pros:

  • Scalable
  • Easy and cheaper (in short term).
  • Nice option for start-ups/individuals.
  • Suitable for apps that just store and retrieve data.

Cons:

  • Not suitable for CPU intensive calculations. They are slower and expensive.
  • Scalability doesn't matter much cuz if an app works at Google scale then probably it makes enough money to run on its own servers.
  • They have lots of limitations thrown here and there, as a result deep data analysis is difficult. Like you cannot produce a social graph using GAE.

I would say its not meant for serious businesses and expensive in long run.