We are having amusing problems with appengine. For example they provide no way to limit the number of instances they decide to start. If for example you run out of datastore i/o capacity (it doesn't scale with how much you pay) they will quite happily start more instances even though they won't help in any way, and actually make things worse.
We switched to premier which supposedly gets us all sorts of extra stuff, but for some bizarre reason will no longer show your daily charge breakdowns.
It is the former that matters to us. Essentially our code receives an HTTP request with payload, does sanity checks and formatting, and then a datastore put. This is not CPU bound - it is idle wait for the datastore to finish.
When you run out of datastore capacity, appengine will start more instances because it sees the lengthening processing times, but that just makes things worse. That you cannot stop.
Our load comes from mobile clients and no humans are involved. If they get an error they try again later. They don't care how long the server side takes to respond.
It is insane that you can't limit the number of instances. appengine would create hundreds at some points, which was very lucrative for Google (our daily fees went from ~$15 to $380 at one point).
We switched to premier which supposedly gets us all sorts of extra stuff, but for some bizarre reason will no longer show your daily charge breakdowns.