The Register® — Biting the hand that feeds IT

Feeds

Ensure Ease of Recovery with Asigra’s Agentless Software

An open source project in Google clothing

The Datastore API and other proprietary Google APIs present an additional problem. Because Google's infrastructure is closed source, you may be forced to rewrite your application if you ever move it off App Engine. "App Engine is one of the only platform-as-a-services out there that force you to use proprietary APIs," says Lucas Carlson, the founder of PHP Fog, a platform-as-a-service for PHP developers. "You do have to use their APIs very strictly."

Yes, databases like MongoDB and HBase are similar to BigTable, but there are still differences. If you move your application to one of these platforms, says Lynch, "you're not just going to take the WAR file and drop it in and have it run. There is going to be a little bit of moving things about. But the concepts shouldn't change, the basic way your app is laid out."

Dwight Merriman, who built MongoDB, goes a little further. "The APIs to the App Engine Datastore are different from the APIs to, say, HBase," he says. "The data models are similar, but you would have to recode. And in addition, you're probably using this whole API set that's App Engine-specific. So, if you write an App Engine app, it's going to be fairly difficult to port it off of App Engine. That's one of the problems of platform-as-a-service."

Lynch says he looks forward to the day when the non-relational world gets something like the JDBC (Java Database Connectivity) API , an API thats let you easily move between disparate databases. And such work is already underway, with projects like Django-norel.

But for App Engine users, the most important independent projects lie elsewhere. There are not one but two efforts to create an open source version of App Engine: App Scale and TyphoonAE. Since Google's underlying software is proprietary, these can never provide an exact replication, but each seeks to expose the same APIs so you can readily move entire applications from App Engine to other cloud services such as Amazon EC2 – or to your local servers. TyphoonAE replicates App Engine's Python side, while App Scale aims for Python and Java, and even Go.

The App Scale project was started at the University of California, Santa Barbara, by professors Chandra Krintz and Rich Wolski. Previously, Wolski had founded the Eucalyptus project, an effort to create an open source version of Amazon's cloud. "Eucalyptus has really taken off, building an open source community," Krintz tells us. "Taking that as inspiration, we decided to build an open source implementation of the APIs for Google App Engine as Eucalyptus did for Amazon's APIs. That way, we could have App Engine applications running on private clusters and experiment with new clusters and – this being a research platform – investigate with how cloud applications behave.

"We just implemented each API incrementally and, over time, developed a full-fledged distributed system such that you can now run your App Engine application either locally or on Google's resources and not know the difference. You don't have to change your application."

Krintz acknowledges that App Scale will never scale quite like App Engine. But she's confident it will eventually perform well enough for the enterprise. A new release is due later this summer. "With this next release, we're quite mature," says Krintz. "There are still bugs to be worked out, but it's pretty stable, and it's really scalable."

Chandra Krintz

Chandra Krintz

If the world is to run App Engine applications outside of App Engine, projects like this are the only option. Sean Lynch makes it clear that Google has no intention of offering its own "on-premise" version of App Engine, seeing limited value in platforms such as App Scale. "They may make deployment internally easier. You may be able to the same tool integration to get an app up and running," he says. "But there's still someone who's doing resource budgeting and making sure you have a capacity plan for the next year, worrying about versions and operating systems. If there's someone still worrying about that, you're not getting the benefit of a cloud-based platform-as-a-service."

When they started the App Scale project, after applying for a Google Research Award, Wolski and Krintz received seed money from the company. And on from the App Engine mailing list, when App Scale's engineers have questions about the public side of App Engine, Googlers are happy to help. After Google introduced the Go SDK for App Engine, an App Scale researcher asked for the SDK source code, and Google was happy to provide it. But the company had no interest in helping the open sourcers rebuild the Go incarnation of App Engine. And none too surprisingly, Google provides precious little information about the inner workings of App Engine.

"We had to infer everything," Krintz says. "They helped us in no way to understand any of the APIs. We had to emulate and run our own programs on their machines so that we could then implement the same functionality."

If it wasn't already obvious: Google believes everything should happen on the web.

SaaS data loss: The problem you didn’t know you had

Re: What a strange logo!

Heard at Google: "This new engine thing is cool - it has wings and everything! No, don't switch it on... shit! We'll never get that back now!"

3
0

for hobbyist use.. I like it.. mostly..

Funnily enough I've just started developing an app using app engine.

I do a bit of python coding at work, and have worked on simple small company intranets in pylons, but to be fair it was a fair few months ago and I spend most of my time developing in excel

I came up with an idea for a simple web application that I'd find useful (and probably a fair few other people) a while ago and wondered about coding it up myself in my spare time, it'll add a little to my CV at least and be useful and interesting too.

Then I wondered about hosting... Any webhost that would let me setup server side code generally seemed to require a $$ a month commitment, which considering I was doing this as a project for my own amusement in my spare time, I wasn't too keen on... especially as I wasn't sure if it would all work in the first place anyway.

Then I heard about app engine.. free, runs python..

So far I've only developed locally on the dev server, I haven't uploaded yet.. Thoughts..

They say you can run whatever framework you like on there (Django, pylons cherrypy etc) but it seems far from trivial to get it setup, plus certain restrictions in gae break features of the framework. So I've stuck to the simple framework they have. My app isn't too complex for the most part so it's fine..

But.. some of the restrictions and so on do take a bit of getting your head round... there's no session management to speak of builtin so you have to rethink the way you might normally do things to get it to work.. It's easy if you expect users to login to their google accounts.. but if your app doesn't use google services then that's not massively helpful..

Documentation and tutorials are pretty good..

Of course I don't know how well this would suit a proper business.. Also not sure what I will do if I start to hit the free limits in terms of bandwidtth / cpu and google require cash of me to pay for it... I guess this is the point, they will help me setup adsense on there or something to fund the cost..

Basically they got me with the free model.. I have a server setup, that will run the code I want sat there waiting for me, for free.. Of course if what I do is succesful then google may well end up getting me to upgrade to the paid version...

3
0

but what really concerns me

Rewriting applications is not necessarily a stumbling block for me, more the issue of potentially loosing control of the data.

1
0

More from The Register

 breaking news
Julian Assange: Google's just an arm of US government
Pale, embassy-dwelling blond claims conspiracy betweeen ad giant, politicians
 breaking news
NSA PRISM snoop-gate: Won't someone think of the children, wails Apple
10,000 things probed, mostly about missing kids, Alzheimer patients, we're told
 breaking news
Number of cops abusing Police National Computer access on the rise
Only a telegram from the Queen can get you off it
Google flings another £1m at online child sex abuse vid CRACKDOWN
See, see, we're trying, ad giant tells Daily Mail UK.gov
Report: Cloud could slash biz software energy use by 87%
Study sees millions of redundant servers slurping power
 breaking news
CIA spooks picked Amazon's 'superior' cloud over IBM
Procurement report reveals tech gap in cloud cold war
Bone up on fresh EU privacy law - or end up in the clink, IT biz warned
Resellers no longer just flogging boxes - now they must offer legal advice
 breaking news
MPs demand UK rates revamp after Google's 'extraordinary tax mismatch'
Report: 'Highly contrived' structure has damaged HMRC's reputation
Amazon SLASHES hosted database prices
Microsoft, Google, stare meekly at own margins