Google App Engine simplifies the problem of deploying and scaling Web applications, but not without a few wrinkles and question marks Credit: Shutterstock / Jay Fog 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. Related articles Analysis: Do new Web tools spell doom for the browser? — The Web is evolving into a full-fledged app-delivery platform, calling into question the browser’s ability to fulfill the needs of today’s rich Internet apps Analysis: AIR gets rich apps right — Adobe’s AIR is safe, fast, versatile, and open, and it will be the standard platform for rich Internet applications Hands on: Adventures in lightweight Internet app development — Follow InfoWorld’s first steps in lightweight app development for emerging mobile devices and desktop widgets Review: Adobe breathes fresh AIR into RIA — Adobe’s rich Internet application toolkit lifts Flash and AJAX out of the browser and onto the desktop Review: Microsoft Silverlight rivals Flash, AJAX — Redmond’s new rich Internet application boasts strong development tools, a small browser footprint, and cross-platform support Review: Curl 6.0 enrichens the rich Internet toolkit — Latest release is highlighted by easier customization, more sophisticated effects, AJAX interoperability, and a native-looking Mac port Review: WaveMaker’s point-and-click Java — WaveMaker Visual Ajax Studio and Rapid Deployment Framework make a fast and simple facade for Hibernate and Tomcat Review: Refining the art of enterprise Web apps — JackBe Presto and Nexaweb Enterprise Web 2.0 Suite converge on a powerful and productive model for server-side mashups supporting AJAX clients Review: Top AJAX tools deliver rich GUI goodness — Backbase, Bindows, JackBe, and Tibco General Interface bring fat features to enterprise Web clients Software Development