Web App Writers: Rejoice, Beware
Google’s App Engine–is it too good to be true?
When I recently decided to start a blog, I had to choose a blogging platform. For two reasons, I chose WordPress. First, I could start my blog in minutes through its free hosting service, paying only if I needed extras such as additional storage space. Second, I was attracted to WordPress’s open-source software. If I ever wanted to have greater control over how my blog looked and functioned, it would be easy to set up a site at a domain name of my choosing and continue using the software. I’m not the only one attracted to this no-risk proposition. More than 3.5 million blogs–with hundreds of thousands of posts daily–are hosted on Wordpress.com, which is run by the Web startup Automattic.
Companies offering services like this have pretty much eliminated the need for a blogger to have technical skills. This has made it possible for many more people to maintain blogs, creating a rich online conversational environment (although, of course, one in which anyone looking for quality content has to sort out large numbers of uninteresting or abandoned blogs). In April, Google introduced a preview version of a tool, App Engine, that could do for the writers of Web applications what Automattic and its ilk have done for bloggers.
Web applications are programs, such as word processors or multiplayer games, that run entirely through a user’s Web browser. As such, they change the landscape of software as fundamentally as blogging has changed publishing. Web applications allow a programmer to reach any user, regardless of operating system. Small companies (as Salesforce.com was at first) can use them to take on the giants. Large companies such as Google and Adobe are betting on them to challenge the dominance of Microsoft’s Office suite. A Web application, of course, includes software that does whatever the application is intended to do. But it also includes software and hardware that deal with the traffic of people using it. It may require expensive servers and software that divides the application’s processing and storage tasks, distributing them efficiently across many machines. Developers have to master what amount to two pretty disparate skills. Though a thorough understanding of infrastructure can help with application design, it’s not how most application developers want to spend their time. Yet it’s important to get the infrastructure right. A sudden increase in Web traffic can kill an unprepared startup, as would-be Google challenger Cuil demonstrated earlier this year, when substantial downtime on launch day soured public opinion. On the other hand, a startup that tries to be too prepared can spend hundreds of thousands of dollars on hardware that winds up going unused.
Google App Engine, which leases infrastructure to companies that need it, enters a field dominated by Amazon.com and its Amazon Web Services. Amazon rents out its excess storage and processing power, and customers–including many startups–pay only for what they use.
Google App Engine
Available in preview release since April 2008
Justin Garten, founder of a Web startup called Postful, which converts e-mails into physically mailed letters, says that by using Amazon Web Services, he was able to keep his company much smaller than it would have been otherwise. Garten also likes the ability to pick and choose what services his company gets from Amazon. “Where Amazon has made sense for us, we’ve used it, and where it hasn’t made sense for us, we’ve built our own server structures,” he says.
Google, making characteristic use of its vast resources, is trying to do Amazon one better: App Engine doesn’t even start charging money until an application uses more than 500 megabytes of storage or serves more than five million page views a month. The premium version of the service isn’t yet available to developers, but Tom Stocky, a Google product manager, says the company hopes that only mature applications will need it. “Once you get to where you hit the quota, you’ve hopefully started making money,” he says.
And yet while App Engine is highly accommodating in its pricing, it is designed not to allow à la carte use of features, as Amazon Web Services does. One cannot, for instance, easily use App Engine solely for storage. Instead, the system comes as a complete package.
Stocky says that App Engine’s constraints weren’t imposed just to serve Google’s business plan–although that’s something they certainly do. They also, he says, help applications enjoy the same efficiencies that Google does. Take storage. App Engine uses Google’s proprietary database system, which is different from the systems that many developers are familiar with, such as MySQL. Google’s system does not allow typical data storage commands that the company says slow applications down when large numbers of users try to call up data.
Software developer Brit Gardner, cofounder of Dallas-based Figaro Interactive, tested App Engine’s capabilities by beginning work on a demo application soon after the service came out. Though he didn’t know Python, the programming language App Engine requires, he says he was able to build his application in the space of a few days. Gardner says that he sees App Engine as significantly different from Amazon Web Services, in that it’s a framework for application development, rather than merely a place to rent processing and storage capacity. He says that his site isn’t close to hitting Google’s page-view and storage limits, and he doubts that many other sites will be, either, since there are a lot of sites out there and only so many users.
Why would Google give so much away for free? Product manager Pete Koomen says, “We are trying to move the Web forward as a platform. More applications means more users.” Indeed, as with blogging, if it’s quick and inexpensive for people to set up Web applications, more people are likely to take the plunge, bringing with them the benefits (and troubles) of a rich and crowded field.
However, no matter how quick and easy building Web applications is with App Engine, and no matter how good Google’s infrastructure is, the service’s lack of openness remains a serious drawback. While Google’s representatives say that they want to avoid locking companies into their system, the reality is that as long as important components such as the database remain proprietary, developers will have limited flexibility. In my case, I don’t currently want to manage my blog so much as just write it: I just want software that works. Yet it was important to me to reserve the right to move it wherever I want, to add or remove tools, and possibly to learn enough at some point to begin participating in the design of the platform. In its current incarnation, App Engine doesn’t give developers analogous options.
While it’s possible to get data out of App Engine and move it somewhere else, Stocky says that not all the features that would allow an application to be transferred to some other system have been built yet. In the meantime, a developer who wanted to move away from App Engine would have to find a way to deal with, for example, losing the Google database system and having to move back to one like MySQL. A developer who was taking full advantage of Google’s database would have to do a lot of work to make the application function well on a different one. With Google Apps, unlike WordPress, losing the hosting service means losing the platform as well.
Besides, many developers will want to understand how the system underlying their applications works. “We like to know what’s going on under the hood,” says Gardner. He suspects that at some point, developers will push hard to get a better view.
Nonetheless, developers seem excited about App Engine. It’s a brilliant piece of engineering. And for most users, it’s hard to beat the price. One of the incredible things about the blogging revolution, however, is that it’s led not only to open discussion but to open experimentation with the systems that made it possible. App Engine is certain to lower the barrier to creating a Web startup, and it will bring in many new developers. But if they stick only to what Google’s offering, their innovations won’t be as far reaching as they might otherwise be.
Erica Naone is a Technology Review assistant editor.