There has been a lot of fuzz lately about Google App Engine and how it is going to compete with Amazon EC2. Well, the answer is simple - it does not! And judging by its current limitations, I am not sure it ever will.
Let me say first and foremost that I am a huge fan of on-demand cloud computing. I believe that once cloud computing matures, it will make little sense for businesses to run anything locally or in standard data centers - why pay for boxes while you are not using them? For example, at GridGain we constantly run our build and JUnits using Bamboo. We have 3 boxes deployed in a data center that constantly execute builds and tests in parallel (we are using our own Distributed JUnit support for it which speeds up execution from 1 hour to 17 minutes). Once we migrate to Amazon EC2 our costs will be cut approximately by a half.
So, now about Google App Engine. First of all, it currently supports only Python. I can see how support for Python is important, but why paint the whole world into one color? Rumor has it that other languages will be added soon, but I still don't get a point of releasing Beta version only for Python users. Somehow Amazon EC2 is still in Beta, but it supports everything and a kitchen sink too. Google is actually known for announcing their beta releases too soon (perhaps they should call them alphas). Take a look at Android, for example, which is so buggy right now that you can't even run anything modestly serious on it.
Secondly, external communication with Google App Engine instances is supported only via HTTP or HTTPS. This is a very serious limitation from Google, as they are basically implying that this platform is only good enough for websites. Even if they did support Java right now, the fact that no one can connect to GAE instances over normal TCP can be a show stopper for many enterprises.
So, to summarize, Google App Engine Beta release is a plain vanilla Python web hosting data center on steroids. Ironically enough, they could have used Amazon EC2 to implement this. Simply create EC2 images with Python runtime on them and you are good to go.
Being an open source Java grid computing shop, I am forced to wait for "gamma" release to try GridGain on Google App Engine. But judging by what I am seeing in beta, I am not overly optimistic here. I guess I will have to keep my fingers crossed.
Wednesday, April 9, 2008
Google App Engine - One Trick Pony
Tweet
Subscribe to:
Post Comments (Atom)


4 comments:
Um, the first line of the home page for the Google App Engine says
Google App Engine enables you to build web applications on the same scalable systems that power Google applications.
which seems to be exactly the same conclusion you reach.
No one serious is comparing the compute facilities of GAE to EC2. What is similar is a dramatic lowering of the barriers to entry. If startup costs of a couple grand are preventing you from being the next flickr/YouTube/mySpace, forget it -- you startup costs just became effectively zero. Much as it is with EC2 -- you're not going to have to start paying until you make it big.
This is exactly my point - why make it so only web applications can use it?
Or should is say "only Python web applications"?
Because it is Google Application Engine?
As to Python... Google hired Guido (some time ago), the guy who created Python... On top of that a large part of their backend uses Python. They have a seriously large knowledge base for Python. They would be stupid not to leverage it.
Keep in mind it is a gimped (sandboxed) version of Python. Making a gimped version of PHP, or PERL, or Java would have required a whole new knowledge investment.
Kevin
To me, restricting external connections to HTTP has nothing to do with a choice of technology. I still don't see why such a restriction exists, regardless of language choice.
As far as in-house Python expertise driving the features of their releases - I just don't think it's a winning strategy... what if they had a lot of domain expertise in VB?
Best.
Post a Comment