May 14, 2008

Test spin: Google App Engine

Google App Engine simplifies the problem of deploying and scaling Web applications, but not without a few wrinkles and question marks

One of the joys of being a Web programmer is heading to a dinner party, a haircut, or a reunion and fielding the pitches for everyone's dream for a brilliant Web application. Everyone is always happy to cut you in for 5, 10, maybe even 15 percent of the equity if you just build out the Web site that's sort of like a combination of Twitter, AltaVista, Eliza, TurboTax, and the corner pharmacy, but cooler.

Google App Engine is meant for dreams like these. You write a bit of code in Python, customize some HTML, and bingo, you've got your database-backed dynamic Web site up and running in a few short minutes. The magic comes when the world starts flocking to your Web application, and Google's cloud of computers quickly adapts to the load, handling everything the public demands. There's no need for you to buy servers, load balancers, or special DNS tables. Google's application cloud handles all of the grungy deployment headaches.

[ See also " What cloud computing really means" and "Early experiments in cloud computing." ]

I played around with the App Engine SDK and, sure enough, developed and deployed applications on my desktop with just a few minutes of work. I didn't upload them to the cloud because I didn't make it into the beta program, but I was able to simulate the experience on my office server. The billions of hits haven't shown up yet, but it has only been a few hours now. It works and it is quite simple.

Google me this

A trickier question is deciding whether this is really what a future Web application really needs. There is little doubt that App Engine makes it simple to get incoming data, make some decisions, store it in a database, and then move on. The more complicated questions are often political, technical, and almost aesthetic. There will be a number of programmers who look at App Engine and melt with excitement, and there will be many who tilt their head like a dog that can't understand his master.

Being a Python lover certainly helps, but it isn't necessary because the language isn't that much different from the other scripting languages. A good programmer should be able to shift gears quickly and easily. There are rumors that Google has a number of other languages waiting around the corner, but there are equally good arguments that this may not be happening as soon as some devotees would like.

Java programmers, in particular, are used to being known as providing the most scalable and flexible applications because the language and the API are some of the most sophisticated ensembles around. The J2EE standard nurtured tools that simplified some of these problems, even though it never really turned out to be as simple as the sales literature promised. Today, Java's sophistication is probably hurting the language as much as helping it. A quick survey of Web hosting services shows that shared hosting for JSP applications begins around $10 a month, while Python shared services can cost as little as $2 a month. The JVM may speed things up and provide better service, but it comes with a hefty memory footprint. If the brutally competitive Web hosting business can support five Python sites for every Java site, then perhaps Google is more interested in the long tail, the niche Web sites, than the big iron.

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.