I am planning on moving my static files to Google's App Engine. I was wondering if this is a good idea to do.

I have read that is it possible that Google will cache your files on multiple locations, which is a good thing in my opinion.

The setup should also be quite easy in eclipse with the GAE plugins.

But i still have my doubts on the performance of this. Is the setup of App Engine optimized for serving static content. Now I have Nginx server my static content, will App Engine perform the same way.

Are there any other ups or downs using this method?


The app engine is a cloud computing platform and is not designed to be a CDN. While your data may be stored on multiple nodes those nodes are not edge-cache nodes so they will not offer the same benefits that a CDN would. You can compare GAE vs various CDNs using the CloudHarmony.com speed test. Here were the results when I tested today:

Order   Service Location    Type    Size    Time (secs) Rate (Mb/s)
1   Google AppEngine    download    1.00 MB     3.50    2.29
2   Google AppEngine    upload      512.00 KB   3.57    1.12
3   Google AppEngine    website     102.55 KB   0.75    1.07

Order   Service     Type        Size    Time (secs) Rate (Mb/s)
05  EdgeCast CDN    download    1.00 MB 1.03    7.77
02  Cotendo CDN     download    1.00 MB 1.08    7.37
12  Amz CloudFront  download    1.00 MB 1.11    7.19
10  CacheFly CDN    download    1.00 MB 1.29    6.19
08  Azure CDN       download    1.00 MB 1.36    5.90
07  Internap CDN    download    1.00 MB 1.47    5.43
09  VoxCAST CDN     download    1.00 MB 1.55    5.17
04  SimpleCDN       download    1.00 MB 1.65    4.84
06  MaxCDN          download    1.00 MB 1.69    4.73
03  Highwinds CDN   download    1.00 MB 1.81    4.43
11  Akamai CDN      download    1.00 MB 2.22    3.60
01  LimeLight CDN   download    1.00 MB 2.34    3.42

You'll see that the CDN ends up being 2-7 times faster than GAE for file downloads.

| improve this answer | |
  • Nice insight. I am just finished setting the whole system up. I found that it is noticeably slower than my previous setup of Nginx delivering static content. However the cost of this is quite low, I checked the prices of certain CDN's and they are quite high. Do you know of a low priced solution for a CDN? – Saif Bechan Apr 16 '10 at 22:48
  • Not really. With CDNs you usually get what you pay for. Not all webpages need a CDN though. Usually only large images, video, or data files really benefit from CDN hosting. – Greg Bray Apr 16 '10 at 23:43
  • FYI. This seems to be out of date. I believe AppEngine caches things according to the cache control headers provided you use the global endpoint which has been the default since at least 2016. – Howard Grimberg May 23 '19 at 21:00

MaxCDN (1TB for $10 - $0.01/GB) and Akamai (1TB for $100 - $0.10/GB - via reseller VPS.net) are the best priced CDNs we've found. MaxCDN is based on Anycast which performs very well for smaller files (i.e. webpage images, CSS, etc.) due to generally lower latency, while Akamai does better with larger files due to significantly more POPs.

| improve this answer | |
  • +1 Thank you for the nice small summary. I was looking at rackspace files and rackspace server. They are based on 'pay as you go'. What are your comments on those. – Saif Bechan Apr 17 '10 at 19:00
  • Rackspace cloudfiles uses Limelight's CDN for distribution. The price is $0.22/GB outbound. They are missing some features such as CNAME (you're content has to be under a rackspace domain) and only support origin pull. Based on our speedtest, their performance is also on the lower end. Internap's CDN (resold by SoftLayer) and Edgecast (resold by GoGrid and Speedyrails) are better options in this price range. – CloudHarmony Apr 18 '10 at 17:51
  • Good summary. I think it deserves to be mentioned that MaxCDNs global presence is quite limited yet (September 2010). They have good US coverage, one node in Europe, and zero nodes in Asia/Pacific (but are planning to expand): maxcdn.com/network.php – Jesper M Sep 5 '10 at 13:22
  • The number of POPs vs Anycast has nothing to do with each other or the size of files. Anycast is a routing methodology used to automatically route requests to the closest datacenter and POPs require both strategic numbers and placement to find the right balance between lower latency and maximum cache hit ratio. – Mani Gandham Nov 19 '16 at 6:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.