How much I am expecting to pay for the Google App Engine?

55 views
Skip to first unread message

tb

unread,
Oct 9, 2011, 4:26:05 PM10/9/11
to Google App Engine
I have looked at the following link and not really sure about the
fees:
http://www.google.com/enterprise/cloud/appengine/pricing.html

I am expecting to get about 2 million requests per day. That will be
about 2 million Data Store API access per day. Data size for each Data
Store API request is small, about 120byte. The bandwidth will be very
little about 5 gigabyte per month.

How much am I expected to pay per month?

David Whittaker

unread,
Oct 10, 2011, 4:59:05 PM10/10/11
to google-a...@googlegroups.com
That depends.  How many of those datastore ops are going to be reads, and how many are going to be writes?  If they are all reads, with good use of cache-control headers (which don't use any quota at all if the data is cached outside your instance), you might even get down to free limitations.  On the other hand, if every request is a full read-modify-write cycle, depending on how many indexes are on your entity, you could be talking about hundreds of dollars per month.  Let's say you don't have any indexes at all - you still do 2 write ops for every put, one for the Kind index and one for the Key index.  So that's 4 million writes and 2 million reads.  4 million @ $0.10/100k is $4 per day, 2 million @ $0.07/100k is $1.40, so just for the datastore costs you are talking $5.40 per day, or $162 per month with every index costing you another $60 / month.  With the only information you gave us being 2 million datastore hits a day, if they are all only reads and you don't cache them anywhere, you are talking $1.40 a day ($42 a month).

Now, what that doesn't take into account is instances.  2 million requests per day is an average of about 24 per second.  Depending on latency and memory usage of your app, you may need as few as 1 instance or 50 or more to pull that off.  If your app is threadsafe and 24 distinct requests can fit in memory, you'll have 1 instance most of the time with spikes of 2 or 3, so you may not incur any overages in the average day.  But if you can only fit 4 requests in memory, you'll average 6 instances all the time, or 6*24 = 144 instance hours per day -28 free = 116 instance hours per day * $0.05 per hour (assuming you reserve frontend instances) = $5.80 per day = $174 / month.  If your app isn't threadsafe, and does that full read-modify-write cycle every time, you could need an average of 50 instances or more to handle the load, further increasing your cost.

In short, depending on how you optimize your application, you could range anywhere from $0 to $300 a month or more, with 2 million hits a day, depending on what those hits do and at what level of caching you integrate into your app.  If you can effectively use cache-control headers, global module variable caching, and memcache, then the datastore cost of 2 million hits can be as few as a few hundred ops a day... well within the freebie category.  If you don't have time to optimize for scalability (or every request demands the absolute latest data available), then the brute-force method is very expensive indeed.

Give us some more details and we can give you a better idea of what to expect.
Reply all
Reply to author
Forward
0 new messages