I’m excited by the Google App Engine. Creative developers should ultimately be able to focus on exactly one thing, and one thing alone: providing unique value. All the boilerplate infrastructure that goes into web app development is not only time-wasting, but soul-crushing. To the extent that Google App Engine manages to free developers from the laborious, arcane and erratic work that is bucketed in “scalability” and “server architecture” efforts, GAE gets a big thumbs up from me.
However, Google App Engine feel's slimy to me. Here’s why:
- The default framework that powers Google App Engine is not open source.
- You’ll be tied to Google, their servers, and their pricing scheme alone.
Let’s start with number one. To be fair, GAE allows for the use of some open source frameworks (Django), and as they plan to add new languages, likely they’ll allow for corresponding open source frameworks as well. However, they are shipping a default Python web app container, that as far as I can tell, is completely closed source. Sadly, despite how much I wished open vs. closed didn’t matter, it most certainly does. Inevitably, you will hit a bug, one that may be severe to you, but ignored by Google’s team for any number of reasons. Without open source, you’ll then be left dead in the water.
Problem number two is more obvious, but I want to discuss it in light of problem number one. Suppose Google had open sourced anything and everything included in the App Engine runtime, and politely specced out the HTTP/TCP protocols for the underlying services, in essence baring it all. That would make for a more attractive platform, because more transparency provides the ability to truly understand what you are using, and the comfort that you *could* switch to your own hosted solution, if you really really needed to. And why should Google fear that? Google would be providing the open source world with some great frameworks, and they would compete to win your business by providing the best on demand scalability & stability solution possible.
Who do they fear if they took that approach? Only a handful of companies are capable of this to the degree Google is. Amazon has their own approach already laid out, Microsoft would never use anything but an MS-stack anyway.
Google seems to have erred on the side of walled-garden, and this is becoming less and less unusual for them. I think this really limits the opportunity for existing businesses to consider using it. Individual developers will likely be all over this (and I’m sure I’ll be playing with it as well).
In the end I hope the Amazon boys are looking forward to the competition. AWS suffers none of the problems mentioned above. You can move your linux instances anywhere, and you could use another CDN. Is Amazon just a Python framework away from duplicating a great portion of this? Is this what scares Google?
It will be very interesting to watch these two giants evolve their offerings.