7 Comments

Summary:

Google App Engine 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 it. Perhaps they should just be happy that App Engine is sticking around.

angry mob

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!
As Hoff nicely summarizes:

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.

  1. “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.”

    The fervor has picked up in intensity lately because only “lately” has Google told us a) how they will measure the resources used by our live applications and b) how much those resources will cost.

    Up until that point we thought the increases would be reasonable. Some explanation perhaps: Applications written for App Engine dont work on other application servers. There are numerous complex systems that have to be learned. We did so because we were told that if we did so, Google could run our applications efficiently and scale them. So we have spent the last three years developing very custom applications and expecting low costs (compared to a generic java application running on EC2).

    We believed that the extra effort and investment of expensive developer time paid off in lower server costs.

    It now appears that the complex code required for App Engine doesn’t benefit us at all. That’s not the scary part. It turns out that Google made these recommendations, and designed these systems, and told us to use them, without actually testing that they had the desired effect. Only now, three years later, did someone finally say “Hey? Just how many machines are we paying for here in this department?”

    Only now, did they discover that our developer investment was in fact worthless, and we’d have been no worse off writing J2EE or Spring apps and slapping them on EC2. In fact we’d be better off, because we’d have choice of PaaS.

    Share
    1. The way they handled pricing may have been the wrong way to go about it, but it’s still a terrific platform which removes the headache of application management. There is an option for moving your application off of Google’s hardware: AppScale (http://code.google.com/p/appscale).

      Share
    2. Exactly. Its not about the pricing as much as it is about not being able to expect what is going to come in the future.

      Any complex application is going to have tight integration to the system they rely on, particularly because the needs to be tuned for different cases. Putting your heavy investment on such platform is going accept a big risk for your business. Whats not to say they are going to increase their price tenfold if they see fit? They maybe around, but what is the point of it if you are operating in losses?

      Then again considering the fact that so many of Google Apps that has been axed recently, maybe its not such a good idea to have your application hosted on such platform.

      Think we are lucky that GAE is still around? We would be lucky if they are still operating in next year. How can any business depends on Google if they are not serious on their application platform continuity?

      Share
    3. Solerman Kaplon Thursday, September 8, 2011

      Spot on. Blaming lack of scalability or perfomance just because it’s J2EE or Spring it’s just bs. Now wait and see what RedHat is doing cloud-wise on JEE 6 to see if they half-assed assumptions hold

      Share
  2. I respect google’s move to price their products by the value it provides than causing hoax when everyone else has to compete with free crap. At least now google is WalMart and not FreeMart

    Share
  3. Jan Erik Paulsen Thursday, September 8, 2011

    Installing $100 basic cable and getting a $550 bill for the exact same product a year later is pretty provocative. Many of the important “enterprise” API’s are not standardized and AppScale is sort of ignoring the problem of code and runtime portability. Any color as long as it is black, etc. Huge API fragmentation in J2EE data, cache and backup layer is annoying. Double annoying when connected to wallet. But it works fine for simple stuff.

    http://int.teppefall.com (VPS)
    http://us.int.teppefall.com (GAE)

    Share
  4. You thought Google was your friend… Now rewrite that to run on bare metal… as it should have been written in the first place. App engine will likely die from this change, in my honest opinion but let’s wait and see what happens shall we?

    Share

Comments have been disabled for this post