Hosting SHOULD NOT cost that much with GAE. What's the bulk of your cost (I'm guessing DB writes)?
- Instead of storing an array in the database directly, store it as a json string. storing an array uses a DB write for every array element.
- Don't index things if you can get away with it (indexing doubles writes).
In my case I was using about 600 writes for every user action when I only needed two. This may be common knowledge, but I was pretty surprised that storing arrays was costing me so much.
Also storing objects that don't need indexes as pickled blobs in a parent model helps a lot. The advantage over JSON is that you don't need extra code to parse, (de)serialized and validate the object.