Some thoughts:

You could serve images from Cloud Datastore instead of from App Engine. You 
mention that bandwidth costs dominate instance time, but it should help a 
bit. If my math is correct, you're serving at least 250GB per day, so 
provided you're serving mostly to the US, the you'd get some volume 
discount now <https://cloud.google.com/pricing/#cloud-stor> and then a 33% 
discount once you top 10TB per month. If nothing else this would help you 
scale better.

You mentioned the images are served statically. If that's the case, can you 
crank up the expiration? What are you seeing which makes you suspect that 
your clients aren't cacheing properly? If your images periodically change 
can you just generate new filenames in conjunction with effectively 
infinite expiration time?

On Saturday, May 2, 2015 at 12:59:42 PM UTC-4, Kaan Soral wrote:
>
> Hi everyone
>
> I recently noticed a bump in costs after improving the static image 
> quality of my app, this bumped the daily bandwidth costs from ~7$'s to 
> 20$+'s
>
> Overall there are ~200 statically served images, I tried reducing the 
> quality of png's and turning them into jpg's, yet it degrades the image 
> quality, at the same level of quality, the size of the jpg's are identical 
> to the png's, so, as it is, paying the extra costs seem to be one option
>
> I'm also wondering whether there is an easier solution out there, maybe 
> using pagespeed as a CDN/cache with an easy config change, but as far as 
> I've researched, it didn't seem feasible/simple
>
> Setting up cloudflare for a subset of the traffic is another option, but 
> I'm not sure whether cloudflare can reliably serve all those images
>
> I checked some other CDN's / cloud solutions, they all seemed close to 
> AppEngine's pricing, CloudFront for example: 
> http://aws.amazon.com/cloudfront/pricing/ ~30% lower
>
> As it is, App Engine serves images well, yet the bandwidth costs are 
> higher than the instance hour costs, so I would like to reduce the 
> bandwidth cost if there is a simple solution out there that I'm missing
>
> (My default_expiration is "1h", I've also verified the "expires" header, 
> yet probably the consumer of the images doesn't cache them, I really wish 
> the issue was caching, but it doesn't seem the issue can be solved by 
> modifying the http caching)
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/228d7005-b6bc-4444-b547-d86b141fbb4c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to