Developers Extend Google App Engine

CohesiveFT and AppDrop push Google App Engine applications to Amazon's EC2.

It hasn't taken long for some developers to extend Google App Engine to Amazon's Elastic Compute Cloud and beyond.

Google announced its cloud computing solution for developers April 7 and gave out an initial 10,000 accounts to developers for this service. The company then gave out another 10,000 accounts over the course of the week due to demand.

Meanwhile, to help people develop locally-and if they didn't get one of the 20,000 accounts-Google made its Development Web Server, also known as "Dev Web Server," available. The Google App Engine SDK (software development kit) includes a Web server application for developing and testing App Engine applications. The Web server reproduces the App Engine Python run-time environment, including sandbox restrictions, and emulates the App Engine services such as the data store.

As Patrick Kerpan, chief technology officer of Chicago-based Cohesive Flexible Technologies, one of the companies extending Google App Engine, put it: "Dev Web Server is something you can use to develop applications for deploying to the Google cloud-Google App Engine-if you have an account, or friend, or when it opens up for general use. Dev Web Server doesn't provide all the services of the Google cloud but has some 'stubs'-proper API calls that go to a flat file rather than the real cloud database, for example."

Meanwhile, on April 14, Chris Anderson, a developer based in Portland, Ore., and co-founder of the MP3 blog service, announced his project, called AppDrop. Andy Baio, an independent journalist and programmer living in Portland, in his blog said Anderson's project offers "a container for applications developed with the Google App Engine SDK, running entirely on Amazon's EC2 infrastructure."

Anderson announced AppDrop as the launch of a single instance server running on Amazon EC2, where people could do trial deployments of their applications. It also can be used as a test harness for people without Google App Engine accounts. Anderson said the AppDrop technology is basically a proof-of-concept at this point and not a finished product.

However, the AppDrop announcement pushed Kerpan and company, who were planning an April 15 launch of its AppEngine Component Portal, out with their news a day early. CFT on April 14 announced the release of an Elastic Server Portal for building on the Dev Web Server so developers with or without App Engine accounts could do local or offline development of App Engine applications, including test deployment of the development server to Amazon EC2.

"That is what our site [] lets you do," Kerpan said.

This gives developers who didn't get Google accounts options, Kerpan said. They can build their own Dev Web Server by hand, downloading and configuring code from Google; they can write code and test it on the AppDrop server; or they can write code and test using their own personal DevWeb Elastic Server and share it with others via EC2.

However, "Google is a different kind of cloud than Amazon. Amazon takes Xen-based virtual containers," Kerpan said. "Google App Engine, at the moment, takes Python code using a specific SDK that you upload. Regardless, developers just start mashing things up. Our capability and AppDrop both are examples of, and driven by, this effect."

Kerpan said the founders of CFT put the company together because they saw the broad trends of virtualization, open source, open standards and loosely coupled architectures reshaping the nature of the data center.

"Cloud computing is a manifestation-and driver-of this transformation," Kerpan said. "We knew there would be multiple clouds emerging, just like there are multiple operating systems, multiple virtualization formats, and multiple and myriad application stacks. That's why we build Elastic Server On-Demand to be a platform that lets customers pull together the virtualized and cloud-ready server they want-rather than some single vendor telling them what to do."

Moreover, Kerpan said CFT's AppEngine Component Portal "is an example of how quickly the Elastic Server platform can be leveraged not only by us, but by software producers in general, to provide ready-to-run virtualized, and cloud-ready servers for their customers. We put it together to give AppEngine developers and testers a 'leg up.'"

Meanwhile, in a blog post from April 14, Kerpan discussed Google App Engine and Amazon EC2: "Each of these two clouds-EC2 and App Engine-provide a lot if you are willing to be cheap, flexible, and creative. While complex types sit back and complain-those who take advantage are going to prevail. Look at evolution; big, fat energy-inefficient organisms usually don't evolve to become nimble, energy-efficient creatures. They go extinct and make way for the next wave of -situationally' optimal life forms. What do I mean by this sentence? One interpretation would be -don't expect AT&T's Sterling Commerce to threaten either EC2 or App Engine for cost, performance or speed.'"

The AppDrop and CFT solutions also address issues of developer lock-in. As Baio described it, AppDrop is "an elegant hack" that proves that concerns that the applications developed for the Google App Engine platform would not be portable to any other service are not necessarily true.