Google App Engine: Getting data out ain't simple. Yet.

September 8, 2008, 01:28 PM —  CIO.com — 

Developers who adopt the Google App Engine for their cloud computing platform today may fear data lock-in, since the only way to import or export data is using a Python-based API. Google is working on a tool to improve data exchange to improve data portability.

The Google App Engine is intended to help developers build and scale applications to run on Google's infrastructure, says Peter Koomen, Google's product manager for App Engine. "It's still difficult to build Web apps," he notes.

Here's why in a nutshell: a Web developer who has a bright idea has a steep ramp to climb before she can really get underway. She has to set up an infrastructure stack -- renting or buying servers, setting up a Web server, configuring a database engine -- burning up both time and money. That's before a single line of code is written. Then, when her website gets popular (see, it was a bright idea), it can't handle the load. The site needs to scale, and to do it quickly. So the developer has to burn even more time and money (under pressure) to rent or provision more infrastructure, while figuring out how to split access across multiple Web servers. It isn't an easy job.

It's also a common issue. "You see this a lot with the newer social apps coming out," says Koomen. Certainly we can point to several such examples, including Twitter's scalability problems, but the need is similar for any cloud-based enterprise application. Business developers, too, need to worry about getting the right infrastructure in place and making it secure and scalable.

Google App Engine, says Koomen, fixes these problems. The application developer can focus on the application, because the App Engine takes care of the infrastructure. To quote Web technologist Niall Kennedy's blog post last April explaining the then just-announced runtime environment: "Google App Engine lets any Python developer execute CGI-driven Web applications, store its results and serve static content from a fault-tolerant geo-distributed computing grid built exclusively for modern Web applications." Sounds cool. So what's the problem?

Data Lock-In-or Nervous Nellie?

The Google App Engine uses a data store that is... different. It's not precisely SQL, says Koomen, because the data store is built to run across multiple servers. While most developers who are familiar with SQL databases (from Microsoft SQL Server to MySQL) won't have a problem using the data store, some things aren't technically possible. "These restrictions aren't as terrible as you'd think," adds Koomen.

Using Google App Engine today also requires Python, which might present a problem to developers who are more familiar with other languages-whether dynamic languages like PHP and Perl, or traditional languages like Java or C#. (Personally, I don't think Python is a significant turn-off to most Web developers, but

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Free books

Essential JavaFX
Get started building rich Web apps quickly with an introduction to the power of JavaFX key features -- scene node graphs, nodes as components, the coordinate system, layout options, colors and gradients, custom classes with inheritance, animation, binding, and event handlers.Enter now!

The Nomadic Developer
Consulting can be hugely rewarding, but it's easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Enter now!

Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

Marketplace