Commentary

Serdar Yegulalp
 

Google App Engine: Just Code It

After Amazon EC2's service went online, I waited for other companies to follow suit with similar ideas.  Now it looks like Google is about to take a stab at the same idea in their own way with the Google App Engine -- and from the look of it, the App Engine might be the more immediately accessible of the two.  It's for coders, not coders who now have to moonlight as sysadmins.

After Amazon EC2's service went online, I waited for other companies to follow suit with similar ideas.  Now it looks like Google is about to take a stab at the same idea in their own way with the Google App Engine -- and from the look of it, the App Engine might be the more immediately accessible of the two.  It's for coders, not coders who now have to moonlight as sysadmins.


More Software Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

Many of the things about EC2 that some people have liked have been limitations to others.  You need to create and administer a full virtual machine in the cloud as well as write apps for it.  That's great if you're already an administrator, but maybe not so great if all you want to do is get something running.

The App Engine takes something of the opposite approach.  Instead of dealing with a whole machine, it's app-centric: you write a web application in Python, upload it to the App Engine, and let it run.

The Engine is heavily sandboxed in many ways -- you can't directly access a file system (you have to use Google's APIs to talk to their datastore); you can't spawn long-running parallel processes; and so on.  But it's also meant to be administration-free: processor scaling and load balancing, for instance, are part of the package.  Part of Google's toolkit for programmers is a local GAE emulator, so you can give your apps a dry run before uploading them and save your processor time and bandwidth for when it counts.

Now, a number of companies have built ways to simplify dealing with EC2 -- like Enomaly's Enomalism, but with that product EC2 is simply one of many possible virtual platforms for elastic computing.  Google's idea seems to be to build from the bottom up rather than the top down: make a place where people will build apps rather than virtual machines, take the brunt of the administrative burden out of their hands, offer tight integration to other Google services, and see who comes.

Even though Python is broadly used in open source and is itself an open source product, you'd need to do some degree of retrofitting to make a common Python app work with Google's data and storage APIs.  A good programmer who's already modularized how such things work probably won't find that too tough, though.  And once they start broadening the scope of the system to include other languages -- PHP and Perl seem like the next big candidates -- that's when I suspect things will really ramp up.  That said, I'm betting apps already written in those languages will not be drop-and-go, either, but I doubt that'll stop anyone with the inclination to give GAE a whirl.

Some sample apps have already been set up to give you a flavor of what's possible.  My favorite: Vorby, the movie quote gallery.  Most likely to be amazingly useful: Ryan Barrett's OpenID Provider, which works with anyone who already has a Google login.  (It's still a bit buggy but the basic idea is terrific.)

If you have in fact managed to get on the early-applicants list for GAE, feel free to write in and share your experiences with it -- or share the apps themselves!


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
T-Shirt Giveaway T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting!
Subscribe to RSS

Resource Links