Google Under Pressure as App Engine Requests Rise
Requests are piling up from enthusiastic programmers using the App Engine hosted application development environment,
again testing Google's ability to meet the expectations of external developers, a demanding bunch that the company considers key to its success.
Excited about the service, developers are eager for Google to move fast and add basic features they need to launch commercial applications.
Some popular requests: removing the resources ceiling so that they can purchase additional computing capacity; support for more languages beyond Python; and securing application communications via, for example, SSL and HTTPS.
Google App Engine product managers Pete Koomen and Paul McDonald are aware of these and other commonly requested features for App Engine, but, following Google's policy, are reluctant to disclose detailed development and rollout plans.
However, they say they are encouraged by the level of interest and engagement developers are showing for App Engine, as evidenced by their active participation in the service's official discussion forum and in a wish-list page Google set up, which contains requests for more than 400 features and enhancements.
"We're seeing a lot of great things built on App Engine and have gotten great feedback from developers," McDonald said in a phone interview.
Google's App Engine team is listening closely to developers' requests and is actively working on improving and extending the service, he said. "We have great things in the pipeline," McDonald said.
App Engine was introduced in limited availability in early April and opened up widely in late May.
The initial 10,000 free App Engine accounts that Google offered got snapped up very quickly. By the end of May, when Google opened up the service to anyone, the company disclosed that it already had let in about 75,000 developers, and that another 80,000 were on the waiting list.
Although Google doesn't disclose how many App Engine accounts have been opened, it's safe to estimate that by now there must be well over 200,000, said Gartner analyst Ray Valdes.
"That's a lot," he said. "Now Google has to fulfill App Engine's value proposition: that developers write code and Google handles everything else."
App Engine isn't designed to be a generalized "cloud" computing infrastructure and development environment for all types of applications and developers.
Instead, App Engine is for applications of the sort Google develops: Web applications with mass appeal that don't require long-running processes to, for example, crunch scientific data. App Engine is designed instead for database-backed Web applications like blogs, office productivity programs and social-networking wares.
Unlike other hosted computing and development services, like Amazon's AWS, App Engine provides a highly integrated set of components, reducing the amount of tuning and configuring that developers must engage in.
This design sacrifices flexibility and control by reducing options, but is in line with App Engine's ultimate goal of appealing to developers who want to create and deploy their application quickly, and are happy to have Google handle the rest.
The App Engine design has clearly struck a chord, and it's clear Google now has its hands full, given the service's popularity.
In e-mail interviews with App Engine developers, two things became clear: They are very enthusiastic about the service and they are eager for Google to enhance and expand it.
Some of the most common pluses mentioned by App Engine developers are its automated load balancing; its highly scalable, Google-designed data store, file system and query language; its tight component integration; and overall simplicity.
Bill Katz, a Palo Alto, California, web entrepreneur and developer, already wrote an application called Bloog, which he released under an open-source license, and is working on developing two other applications.
Since his team is made up of just himself and his wife, he values App Engine's integration, automation and simplicity.
"App Engine removes a number of tasks I'd have to handle for a very scalable web app, like maintaining multiple servers [and] a scalable database," he said.
He finds Amazon AWS "great" -- he uses its S3 service for his personal backup storage and might use EC2 to host some Web services that App Engine can't support -- but recognizes it targets a different market.
"AWS provides raw components that can be put together in a number of ways to make a scalable web app. Google App Engine, on the other hand, provides a fully integrated stack that requires you to work a certain way," he said.
Still, it's clear that the enthusiasm over App Engine's attractive features is generating increasing pressure on Google to fill in the service's gaps.
For all his praise for App Engine, Katz misses some key features, such as an expansion of supported programming languages beyond Python.
"It [also] goes without saying that developers are anxiously waiting for the quotas to be lifted and pay-as-you-go initiated," he said. "Background tasks would also be great."
Currently, App Engine applications can use up to 500MB of persistent storage and enough bandwidth and CPU for 5 million monthly page views, although Google plans to allow for purchasing of additional resources at some point before the year is over.
Ben Bryant, president of First Objective Software in Alexandria, Virginia, is in the early stages of developing a commercial application for hosting collections, but won't be able to roll it out until Google gives App Engine a comprehensive, full-text search capability. "Everything else I need is already there," Bryant said.
Filip Verhaeghe, CEO of Self-Star, is also planning to deploy a commercial application on App Engine, but misses secure communications capabilities, which has forced him to come up with in-browser custom encryption schemes. "Hardly the kind of measures that instill trust with customers," he said.
Other concerns for Verhaeghe: the service's beta status and the inability to buy more resources. He would also like Google to strengthen the licensing agreement with developers.
"Google has been very clear about its intention not to pry on code uploaded, but there is no track record," he said. "Specifically, you could raise the question of how uploading your code relates to 'publicizing' your invention, in the context of patents. Google should provide better legal protection there."
In Stockholm, Sweden, Colliberty Easy Publisher has been kicking App Engine's tires while wondering if Google plans to lift the limitation on the number of files -- 1,000 -- that developers can upload with an application, said Johan Carlsson, senior developer.
Mahmoud Arram of Cambridge, Massachusetts, is co-developing a commercial social-networking application with a partner, and wants to know whether Google plans to provide an automated way of migrating data out of App Engine and to support multi-threaded applications.
The level of clarity that Google's McDonald and Koomen provided for specific "wish list" features varied.
McDonald acknowledged that although App Engine provides a simple text search capability, Google is aware that it can be better. "We'd like to provide a complete full-text search in App Engine," McDonald said, declining to offer a timetable for delivery. "It's important to have."
He also stated that Google intends to make it easier for developers to migrate their data out of App Engine by supporting industry standards for those purposes. "The issue of data lock-in has been a little exaggerated," Koomen said. There are ways to migrate data out of App Engine today, but Google can simplify and automate the process, he added.
Likewise, Google is aware that developers would like to run multi-threaded applications on App Engine, but, in the meantime, Koomen points out that although apps are single-threaded, they are spun off into multiple servers running in parallel.
This allows applications to scale smoothly without developer interaction. "We can automatically scale and distribute the load among servers so it doesn't put stress into any particular instance or servers," Koomen said.
Google has no immediate plans to lift the limit of 1,000 files that can be uploaded with an application's code, McDonald said, adding that this doesn't apply to the number of files that an application's end-users can upload -- that's restricted by the amount of storage available for the application.
They were also very unequivocal in explaining that Google doesn't plan to support SQL databases as alternatives to Google's proprietary data store and GQL, which contribute to App Engine's "fluid" ability to scale.
Support for secure application communications is on Google's to-do list, although there is no public timeline for its delivery, McDonald said, adding that in the meantime, App Engine applications can use Google user accounts as an authentication mechanism.
Likewise, Google is also working on expanding support for more programming languages, they said.
Moreover, Google's licensing agreement with developers is very clear: An application's code, data and intellectual property belongs to its developer creators.
"We take that very seriously. Trust is one of the most important things we have going for us here at Google, and we want to make sure developers, through our terms and actions, understand that their code and data is theirs," McDonald said.
Stephen O'Grady, analyst at Redmonk, said Google is observing how developers use App Engine, to forecast the load their applications will place on its infrastructure and determine what volume it will be able to support. "This is about capacity planning," he said. "Google is keeping features at launch at a minimum to ensure adequate performance from everyone, until it can get a better profile of the demand."
Vishwanath Venugopalan, an analyst at The 451 Group, notes that while the number of App Engine accounts may be large, not many applications have been deployed yet, which gives Google an opportunity to continue figuring out best practices in this, a new market for the company.
However, Google needs to protect the positive and loud buzz around App Engine. "Undeniably there's a lot of developer enthusiasm, and we'd like to see how Google capitalizes on that," Venugopalan said. For starters, Google should prioritize supporting more programming languages and offering service-level guarantees to instill confidence in the service's performance and reliability, particularly after the outage it suffered in June.
Developers like Katz will be watching closely how Google tends to App Engine, and they seem at this point willing to give the company the benefit of the doubt regarding the recent outage and the current quotas on resources as things to be expected in these early days.
"I think the Google braintrust will solve issues that come up. It will be interesting to see how App Engine performs once quotas are removed," Katz said.
"For our little startup, I'm betting that by the end of the year App Engine will be stable and robust enough to handle the users for our niche commercial app even if we're lucky and it becomes popular," he added. "Outsourcing to Google is a calculated risk that takes into account my startup's constraints on cash and available programming time."