Google App Engine: Getting data out ain't simple. Yet.
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
Build your tech library with our book giveaways.
Hacking Exposed, Sixth Edition
By Stuart McClure, Joel Scambray, George Kurtz; Published by McGraw-Hill/Osborne
The original Hacking Exposed authors rejoin forces on this tenth anniversary edition to offer completely up-to-date coverage of today's most devastating hacks and how to prevent them. Using their proven methodology, the authors reveal how to locate and patch system vulnerabilities. The book includes new coverage of ISO images, wireless and RFID attacks, Web 2.0 vulnerabilities, anonymous hacking tools, Ubuntu, Windows Server 2008, mobile devices, and more. Enter now!








