Google did not make developers happy with its pricing changes to Google App Engine GAE. Google announced the pricing changes in May, but it only implemented a side-by-side comparison with the old pricing at the beginning of September. After a fair amount of backlash, Google is backing off. Sort of.

If you're looking for pay for what you use, Todd Hoff says the dream is dead, but GAE will survive.

Google isn't backing off the pricing structure change, but the company is extending the review period to November 1st. The company is also keeping the 50% discount in place for instance prices until December 1st. By then, Google expects to have rolled out Python 2.7, which will it says lessen the number of instance hours for Python apps.

The App Engine team is also promising better analysis tools for customers, and faster usage reports. Developers should be better able to tune their apps to use fewer instances, and know how much they're spending much faster. The post from the App Engine team also has recommendations to lower the bill, and they have a guide on managing resources as well.

Google had notified App Engine users earlier this year, but the team admits that they were too obtuse. Being notified about the pricing changes was one thing – actually seeing them in black and white clued developers in that they were going to be spending much more. Many developers were seeing price hikes of ridiculous proportions due to the change in calculating billing. Google isn't merely upping the pricing, the company has changed the way it tallies the cost altogether. The old pricing used CPU time, the new pricing uses instance hours.

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.

So Google is addressing some of the problems, but it's not out of the woods with developers just yet.

Everyone Will Pay More, and That's Not Wrong

Prior to the announcement that Google was slowing the price change, Hoff wrote a lengthy missive about the future of GAE. He says that as Google shuts down products to put "more wood behind fewer arrows" GAE had no choice but to change its structure. "GAE is moving to an instance driven model, in the Amazon style, where pricing is pegged to the fully burdened cost of real physical assets... Everyone will pay more. And that's not wrong. GAE has every right to make money."

However, Hoff notes that the real problem is "the speed of the change, the direction of the change, and the magnitude of the change that has thrown people for a loop. Selecting GAE was a leap of faith, and much of the anger is because many feel that faith has been betrayed."

GAE is now trying to be an enterprise-level service, but that's not what it set out to be in the beginning. It's not what it was marketed as.

Conflict of Interest?

Selecting GAE was a leap of faith, and much of the anger is because many feel that faith has been betrayed.
Another problem? Part of the appeal of GAE is letting it handle the scalability problems, and letting GAE do real-time scheduling for your app. But there's a problem – Google makes its money from instance hours now. "The scheduler is determining how many instances will run which in turn determines profitability. Does that seem like a good idea? The incentives are wrong," says Hoff.

Hoff also says there's a potential conflict of interest in oversubscription for GAE:

If you give a lot of RAM to each application then Google can't run very many instances on the same machine, so RAM has been limited to 128MB on front-ends and 1GB on back-ends. Like any other hosting service the temptation is to oversubscribe these resources to make more money per machine. That will cause swapping, thrashing, etc which will cause higher latencies which will cause more instances to be allocated. That's money in both direction.

A lot of pressure is being put on developers to optimize code to spend less money, but part of the problem lies with Google to ensure low latency. Which Google is not entirely motivated to do, given that it makes more money when more instances are run.

Google definitely has some challenges on its hands now, convincing developers that they should stick with GAE and spend the time optimizing apps for a new pricing model. No matter how you slice it, it looks like almost all GAE customers will be spending more – it's just a matter of how much more. Peter Magnusson, engineering director at Google, confirms this: "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."

There's also the matter of portability: It's not easy to move from GAE to another platform if you don't like the pricing. How many organizations are going to be willing to plant a flag on GAE ground now? I'd love to hear from developers or IT folks thinking about GAE and how this situation has effected your decisions around deploying on GAE.