Youtube

Go to The Main Page Add Youtube to favorite!

Google App Engine 

Google App Engine
Image:Google App Engine Logo.gif
Google App Engine Logo
Developed by Google
Initial release April 7, 2008
OS Any (web based application)
Genre Web development
Website appengine.google.com

Google App Engine is a platform for building and hosting web applications on Google servers. It was first released as a beta version in April 2008. During its preview release, only free accounts are offered.[1] According to Google, a free account can use up to 500 MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month. Google has also indicated its intention to eventually provide additional resources for a price. During the preview stage the app engine tries to accommodate sudden surges in traffic. However, you will get errors if you continue to exceed the quota. [1]

Contents

Supported Programming Languages And Frameworks

At its launch date, the only supported programming language was Python. A limited version of the Django web framework is available, as well as a custom Google-written webapp framework similar to JSP or ASP.NET. Google has said it plans to support more languages in the future. Any python framework not requiring network access, data storage (unless you want to port the data storage to the datastore), or file system access should work on the app engine.

Differences from traditional application hosting

Unlike more traditional virtual-machine setups such as Amazon's EC2, Joyent's Accelerator, or Slicehost's Slices, or even a simple shared server or dedicated server system, App Engine is a tightly controlled and tightly integrated product that places many restrictions on users. While others allow for the installation and configuration of nearly any *NIX compatible software, AppEngine requires developers to use Python as the programming language and "Datastore" - a version of Google's proprietary BigTable - for data persistence.

Scalability Benefits Gained From Removing Joins

Google App Engine has a SQL like syntax called GQL. Select statements in GQL can be performed on one table only. GQL does not support the join statement on purpose.

Some people would believe this to be a detriment to the app engine. However, one to many relationships and many to many relationships are simple using ReferenceProperty().[2] This shared nothing approach allows disks to fail all they want without worrying about the system failing.[3]

The where clause of select statement can do >, >=, <, <= operations on one column only. Therefore, only simple where clauses can be constructed. Switching from a relational database to the datastore requires a paradigm shift for developers when modeling their data. The fact that google uses these APIs heavily in house proves that this system can be used to build any type of moderately complex web application that doesn't require background tasks.

App Engine currently limits the maximum rows returned from an entity get to 1000 rows per datastore call. Most web database applications use paging and caching anyway, hence they don't need this much data all at once, so this is a non issue in most scenarios. Task scheduling is a heavily requested features by users of the app engine to google for future releases. Batch updates that take longer than a few seconds cannot be executed. This has been seen as curious by some developers who have noted Google's large use of MapReduce, a highly-scalable system of running parallel computations over large data sets using clusters of computers. Many have speculated that once the free quota restrictions are lifted, Google will introduce support for such operations. [4]

App Engine does not allow users to back up their databases with a graphical user interface they have not written.

Unlike MySQL and PostgreSQL (two of the most popular open-source database systems), the Datastore API is not relational in the SQL sense. This is likely because Google intends AppEngine applications to scale without any intervention from the developer and database joins can often run in O(n2) time. By eliminating the possibility of developers using costly joins, it becomes more likely that the application will scale.

At the same time, such a restriction might make it more difficult for junior developers to develop an application and provides the impetus for junior developers to use alternative services.

Google App Engine APIs

The Python Runtime
Datastore API
Images API
Mail API
Memcache API
URL Fetch API
Users API

Restrictions

Developers have no access to the filesystem on AppEngine.

AppEngine can only execute code called from an HTTP request.

No support for task scheduling in the traditional sense. [5]

Preview Release Scalability Restriction

In theory, Google claims App Engine can scale nicely. But Google currently places a limit of 5 million hits per month on each application. This limit nullifies App Engine's scalability, because any small, dedicated server can have this performance. Google will eventually allow webmasters to go beyond this limit (if they pay).

May 28, 2008 GAE pricing was announced: free to get started (with usage limits), fee if over the limit. And two important modules added.

Competition

The service competes with Amazon Web Services, a set of application services that enable web sites to host files and execute code on Amazon's servers. Many tech analysts have been predicting Google's entry into this field for years. "Google finally realizes it needs to be the web platform," Techdirt publisher Mike Masnick wrote. "The easier it is to develop and deploy highly scalable web applications, the more innovative and creative solutions we're going to start to see."[2]

References

External links

Could not update stat
UP