CDN Evaluation Criteria

A friend asked me about StyleFeeder‘s experience using CDNs, so I sent him the list of criteria that we use to evaluate the various content delivery networks that we have tried.  We’re currently using Akamai, Cloudfront and Panther for various types of content.  I’ve talked to pretty much everybody in the CDN space over the years and I think that this list of questions is pretty solid.  If you think otherwise, I’d be happy to update this list with any new ideas you have.

Note that if you’re streaming large audio or video files, this list may not be a good one for you.  The questions are biased towards StyleFeeder’s needs, namely the fact that we have tens of millions of small product images floating around.

CDN Evaluation Criteria:

  1. Do you support HTTP compression?  Does content have to exceed a minimum size in order to be compressed?  (i.e. content less than 2Kb is not compressed)
  2. Do you allow us to override the Expires headers being sent by the origin?
  3. Will you obey long Expires headers (5 years) and cache content accordingly?
  4. Once a piece of content has been cached on your network, under what conditions would your CDN re-request that content from the origin?
  5. Do you allow full and partial (based on regexes) cache flushes?
  6. Can you demonstrate that you’re better than one of the “value” CDNs?
  7. How many nodes do you have?
  8. Do you have a lazy-loading caching proxy scheme (like Akamai, Panther, Voxel) to allow for easy deployment?
  9. Is there an API we can use to add or flush content?

Let me know if you have other questions that should be on the list!