TL;DR: New pricing postponed to Nov 1, instance hour discount extended to Dec 1, Python 2.7 expected by Dec 1, your bill is likely to go up but less than you fear, plus an analysis of why App Engine is still a great deal.
I’m the Engineering Director at Google responsible for App Engine. Nice to meet you!
We’re excited about coming out of preview and becoming a fully supported Google product. Besides new features, a 99.95% SLA, new Terms of Service, paid support, and monthly invoicing, we’re also changing the pricing model. We rolled out “side-by-side” billing last week to all App Engine developers, and sent an email with accompanying information, showing the predicted effects of the new pricing on all applications.
This has created a bit of consternation. I’d like to take the opportunity to provide some commentary on two topics: the timeline, and the price increase per se.
First topic, the timeline.
Many developers feel that they are being given too little time to make adjustments. We announced the new prices in May, and we thought the side-by-side billing would be just the next phase; instead, for many (arguably most) developers the side-by-side billing is just the start of their adjustment.
It’s clear we were wrong: expecting developers to figure out their future costs from information in the admin console was simply too obtuse. We made a classic error: we’re too familiar with our own product.
So I apologize: we should have realized this and put out a version of side-by-side billing much sooner. But this is easy enough to fix: we’ll just give you more time. So instead of turning on the billing in the second half of September, we are giving developers more time to fine tune their application by moving that date to November 1st.
Another aspect of the timeline that has caused concern is the uncertainty about the availability of Python 2.7, which will bring concurrent request support to our Python developers (it’s already in place for Java). We added a 50% instance price discount to compensate for the delay, and said we would remove that discount on November 20th. We’ve decided that we’ll extend that discount to December 1st, by which time we expect to have Python 2.7 available.
Second topic, the pricing increase per se.
The vision for Google App Engine is to provide a development environment for cloud applications to run on Google’s infrastructure. In particular, if you build on App Engine, it should be:
* free to get started and easy to use
* simple to make it scalable
* trivial to maintain it
App Engine is a classical case of platform computing trade-offs. What would you like? High scalability, ease of use, low maintenance, high reliability, security? Pick any two and somebody can make it super cheap. But if you want three or four, or all five, things become a little more dicey. With App Engine we are targeting doing all five at the same time, because we think that’s what cloud application developers ultimately want, and we think that’s what the future of cloud computing entails. And we’ve decided to package that offering into a free tier and two paid tiers:
* The generous free tier that App Engine has been offering has remained unique in the industry. We will continue to offer a free tier: a small web application with low traffic should not cost anything to run on App Engine. The new free quota levels are lower than before, so many pre-existing free applications will require tuning, however the principle will remain: App Engine is the only major platform to offer a free tier that’s not time-limited. If you have a small app that you can’t get under the free quotas, post in our forums and we’ll try to help. (But please try to tune it first.)
* The paid tier will charge for resource usage, with a minimum $9/month to enable the 99.95% SLA. And that SLA does not carve-out time for maintenance windows: App Engine can be upgraded without planned downtime for your app. The pricing in the paid tier is structured so that the vast majority of applications will find their total cost of ownership (TCO) to be lower than the competition. If you find that this is not the case for you, then feel free to share your calculations with us. The second paid tier, premier accounts, adds operational support and monthly invoicing.
Our goal is to make the best possible cloud application platform for developers. The feedback we’ve received over the years is that people want things like great reliability, more features, quicker bug fixes, fewer restrictions, etc. We can deliver all these things but it requires App Engine to become a sustainable product for Google. To be clear, we’re not in the business of selling cycles. The vast majority of our costs are in the talented engineers that develop, maintain, operate, and support the overall App Engine service. And they’re not just any engineers, they’re some of the most talented and dedicated individuals I’ve had the honor to work with. They care passionately about the platform and the developer experience. And that’s where we want to invest.
But even if we look at just the cycles - then no, not all cycles are created equal. This is one of the reasons we want to change our resource concept from “CPU” to “Instance”. App Engine instance hours are fully managed, fully provisioned, run in the context of a set of fully-maintained services, and there are no hidden costs. Just the consumer cost of electricity for running a single server in your home will cost you more than running most apps on App Engine.
And our instances are fully redundant, and we take care of switching between redundant data centers for you. We have over 100% capacity provisioning: we can lose not just one but more than one data centers and still run the entire workload, without applications being impacted. And we have full provisioning for spikes: in the week following the Japanese earthquake, our traffic to Japan doubled. Japan is our second largest country in terms of App Engine traffic after the US, so this amounted to adding capacity for a whole 100M population country in a just a few days. App Engine is so well provisioned that we didn’t need to add more capacity or intervene in any way.
App Engine instances run on Google’s own infrastructure in our own data centers, with the same security and monitoring as services like Gmail and Docs: Google employs a large team of security experts. And our extremely talented reliability engineers are on pagers 24/7 across global time zones: when subsystems have problems, we’re on the case, so you don’t have to be. The high replication datastore (HRD) that we rolled out in January has had no outages since launch.
That said, the new App Engine prices are higher. In fact I expect many large applications after optimizing will end up paying 2-5x more than before. Many small applications will no longer fit into the free quota without optimization or performance tradeoffs. And many applications that only had to pay a little bit above free quota now have to pay more.
But I believe that for the vast majority of applications, a reasonable total cost analysis will find that App Engine is a great deal. And it’s only going to get better. We have a ton of cool improvements in the pipeline.
Thank you for your attention, and feel free to email me directly at email@example.com. And if you come to Thirsty Bear in San Francisco tonight, I’ll buy you a beer.