Pros & Cons of Google App Engine

Viewed 32694

[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.

11 Answers

I believe , GAE is yet to mature in terms of providing the basic features for serious business such as Datastore with complex primary key, java.awt.* support, these are just a few I'm naming.

Other than the free space and to build some "Hobby" websites, I strongly feel GAE is NOT the place java guys should looking into.

I'm having applications built on the JSP/Servlets and MySQL, thinking about migrating to GAE, but I find I will be spending more "value time" on the migration than just buying a space from some java hosting provider such as EATJ, etc (Sorry not marketing, just an experience).

Another big issue I've got is migration of my existing mySQL data into GAE, bulkupload is really pathetic and has no client support.

No support for Local Db to Server DB upload.

Once the GAE is ready with "all the Cons" mentioned by above, then I'll think we can look in to this migration.

Related