do you let these devices connect directly to datastore, or do you proxy them through app engine?
Michael Lugassy
1

The latter. We use the app engine builtin datastore not the newer cloud based one since our app started before those (or cloud SQL) were available.

Notice that adding logs to a large application with every DB access and trying to make sense of this is HARD. It’s not just a printout since I need to count access to figure out which area of the code is causing the billing. When we run on an IaaS this is neither an issue nor is it hard to see what is triggering the charges. When I run on an AWS webservice I get a billing statement that tells me EXACTLY what I used and what it cost me.

Which brings me back to the hacker culture at Google. The Datastore builtin to app engine is broken, the “solution” is to open up a completely different datastore on the cloud with the same name as a solution. E.g. things like bigquery etc. which would have been REALLY useful to us, aren’t realistically accessible from app engine (not without copying our entire DB). This is a mentality of “you need to rewrite and use this now and throw away all your code”. That’s not something we can do to a production system that has a lot of data in it.