Archive for the ‘io2008’ tag
Google App Engine – vendor lock-in, but not for long
Today was the last day for the Google I/O conference and I have seen some amazing products from the Google developer team. They have some very bright people working there. It must be a joy for them to know that their code has the ability to directly impact millions of people.
Checking out the latest advances in technology is like a vacation for me so this conference was a blast. The highlight of my vacation was learning more about the internal workings of Google App Engine. This technology has the potential of completing changing people’s expectations surrounding infrastructure. It’s allows a python programmer to instantly deploy a application without having to worry about infrastructure setup or whether the platform can scale. It has a logging api that publishes details to a straighforward management interface. On top of all that, it comes with authentication, mailing, image, and memcache API’s and a local development environment. In short, it’s a game changer!
While I love the concept and execution of App Engine, I am a bit worried about vendor lock-in. Let’s say you write a django app for App Engine that uses the GQL datastore, the mailing API’s and the authentication API’s, you won’t be able to pick up this app and drop it into a local environment or onto an Amazon’s EC2 instance. There will be many ”proprietary” API calls that need to be re-written to work in another environment. This means that there won’t be easy code portability out of App Engine. All your eggs will be stuck in a Google basket.
Today, Google had a fireside chat session with the App Engine team which allowed common folk to ask the team any questions about their product. I asked them whether or not they planned to release a GQL adapter for databases like mySQL or PostgreSQL which will allow GQL calls to stay the same across disparate environments. They responded that they aren’t building anything like that, but are enthused by reports that external developers are working on SimpleDB and CouchDB adapters. These databases are closer in philosophy to the GQL datastore than traditional relational databases like mySQL or PostgreSQL. The team also mentioned that they are interested in having standard API calls for all similar databases and that they would support such an initiative. Way to go Google! Hopefully, Google, Amazon and CouchDB will make this a reality. I’d like to see mySQL, PostgreSQL, Microsoft, and Oracle involved as well.
With GQL adapters in the works, I’m sure some enterprising developers will build App Engine connectors for the other proprietary API’s. Once this happens, lock-in is no longer a worry and all your eggs won’t be in the Google basket.