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