The Google Apps Engine SDK can now be used to develop applications for hosting anywhere, not just on Google's servers.
If you're a web developer using Google's App Engine
, then the chances are you've been concerned about the lack of portability – the fact that you're tied down to hosting your web applications with Google. Well, good news – that's no longer the case.
A hack by Grabb.it
co-founder Chris Anderson, unveiled by Andy Baio on his website Waxy.org
on Monday, allows for applications developed using the Google App Engine software development kit to run on any Unix-alike hosting environment.
The software – called AppDrop
– is described by Chris as “a proof of concept
” and is currently aimed at porting Google App Engine webapps to Amazon's EC2 virtual hosting environment. So far, it seems to be working pretty well – a range
of applications are already hosted on the AppDrop EC2 virtual server and seems just as happy there as they were on the original Google server.
While there aren't any advantages to running your code away from the clutches of everyone's favourite search giant, it does offer developers the promise that their work won't go to waste should Google suddenly decide to massively change their app hosting environment or even do away with it altogether; a threat which is always in the back of your mind when you're tied to a particular system.
The code behind AppDrop is made available under an Apache 2.0 open-source license, so you're not limited to borrowing resources on Chris' virtual server.
It's not all good news, however: the main trade-off with moving your apps away from their rightful home with Google is a loss in scalability. When running on its native Google Apps Engine server, the datastore uses BigTable
; when running on any other server via AppDrop a simple flat-file is used instead. The result is a pretty large performance hit if you've developed a particularly complicated app. Still, as a backup should Google ever drop you in the brown and smelly, it's a small price to pay.
Any web developers out there taking a second look at Google App Engine now you know it can be made kinda-sorta-open, or do you have your own ways around vendor lock-in? Share your thoughts over in the forums