The Google App Engine Platform-as-a-Service is growing up by changing both its service model and its pricing, and many developers who have been using the service under the old model are none too happy about the shift. But perhaps they should just be happy that App Engine is sticking around, avoiding the axe that has befallen so many other Google services over the past few months. In an epic, nearly 7,000-word opus on the new vision for App Engine, High Scalability’s Todd Hoff suggests the only way to keep App Engine around was to make it profitable for Google, even if that means new challenges for its existing users.
I chronicled Google’s new approach to App Engine in June, after the company announced its plans during its I/O conference in May. Essentially, Google decided to kill its App Engine for Business offering and just roll most of that functionality into App Engine proper, which meant a major change to how the platform runs and customers are charged. Among the core changes is a switch from true resources-based pricing to instance-based pricing, which means that applications written to be as efficient as possible to consume minimal resources are now relatively meaningless, because they’ll be charged for an entire instance (CPU plus memory) no matter how much they actually consume.
Customers were upset about the pricing changes then, but fervor has picked up in intensity lately because the new App Engine model goes into effect later this month.
However, Hoff lays out the case — one supported by Google — that the negative reaction might be misplaced. After all, he writes, “Do we have GAE’s pricing change to thank for it surviving the more wood behind more deadly arrows push? Without a radical and quick shift towards profitably GAE would no doubt be a historical footnote in the long scroll of good ideas.” He cites a Google developer relations representative, who provided the following insights on a Google Groups message board:
a. Google as a company backing the entire platform as a product… instead of being cancelled, we’re coming out of preview mode and become an official product! Google is not a non-profit company and cannot continue to operate services at a loss. our products, and my paycheck’s gotta come from *some*where! coming out of preview means Google is committed to App Engine, and in turn, we’re committed to our users.b. this service costs the company significant resources… premium services like App Engine and YouTube require a lot of hardware and networking bandwidth. We serve more than 1.5 *billion* pages views a day across all applications!
A server comes with only so much memory and CPU. Running programs use memory even when a program is idle. Google must pay for the machine resources used by an instance. Charging only for the resources used by a program instead of all the resources used to host a program creates an unsustainable and unprofitable pricing friction between the two models.
Hoff characterizes switching to the instance-based pricing instead of figuring out a way to do a true, and profitable, pay-per-use model as “giving up.” That might be true, but Google’s decision certainly isn’t imprudent. Assuming App Engine still delivers on its promises of autoscaling, high availability and a generally better-performing cloud experience without the hassles of infrastructure-level management inherent in the Infrastructure-as-a-Service model popularized by Amazon Web Services, then the reasons for choosing App Engine maintain. Because looking elsewhere in the PaaS space, instance-based pricing — or something similar — is still the norm.
Additionally, developers might take solace in knowing that there are methods to keep applications running on as few instances as possible, some of which Hoff details in his post. Google also offers a free tier of resources, which means that certain low-traffic applications will be spared from significant monthly fees that some high-traffic applications will experience. When the new multi-threaded version of Python comes out, developers will be able to drive even better performance within a single instance. Of course, there are two sides to this story, and Hoff’s post does a good job of laying out the case of scorned developers, too.
Ultimately, though, it’s hard not to side with Google on this one, at least if we accept the premise that a more expensive service is better than no service at all. In areas such as PaaS and cloud-based applications such as e-mail and collaboration, Google is a now a major IT provider with major competition in the forms of Microsoft, VMware and other established vendors. They’re in business to make money, and they’re going to do so regardless of what Google does. Unfortunately for developers, the only way Google can bring its brand of cloud computing to the masses is to fall in line on pricing to avoid becoming another cool service that just couldn’t figure out how to turn a profit.
I have reached out to Google for a comment on this post and will update it with any information I receive.
Feature image courtesy of Flickr user Robert Couse-Baker.