40

When did you decide to use a Content Delivery Network?

How did you measure the "success" of using a CDN to help justify the additional cost?

Added a bounty. Hoping to get interesting stories from other folks who had existing sites that changed for the better (or the worse) after migrating to a CDN.

4
  • The definition of "success" will depend on what your goals are/were. Jul 9, 2010 at 18:51
  • Does a CDN someone set up on their own by procuring servers all over the planet count? A lot of open source projects do this. However, usually, the hardware and bandwidth are donated.
    – Tim Post
    Jul 13, 2010 at 19:12
  • Also, this is a VERY cool first bounty for the site. Forgot to add +1 :)
    – Tim Post
    Jul 13, 2010 at 19:14
  • Thanks Tim! I almost cheaped out and only offered +50, but I thought, hey, make it fun! I love stories about optimizations that improve scalability (and the horrors that force those optimizations). highscalability.com is a favorite site of mine.
    – artlung
    Jul 13, 2010 at 19:23

4 Answers 4

8

We decided to use Amazon S3 when we built a web app which delivers Gigabytes of HD photos and videos to our subscribers. It was an absolute no-brainer for us. The cost savings were outrageous. We have had two service outages with S3 (along with every other web startup who uses S3). They weren't disastrous.

Then we added CloudFront on top of it it just confirmed the awesomeness of using a CDN like S3.

Once you get over the learning curve of how to use S3 from a programmatic perspective it is such an awesome resource to have available.

We also use S3 on a few of our high-traffic consulting websites to host video and large images and that has brought costs down too. Not only costs, but with CloudFront, user experience has improved.

1
  • 2
    Coming in around the anniversary of this answer to point that S3 is not a CDN, it's a simple storage service, as its name suggests. Simple, and cheap and reliable, although as Jesse points out, a little tricky to learn CloudFront is a CDN and it's full of win, which it distributes around the globe. Jul 22, 2011 at 16:08
6
+50

I decided to employ the use of a CDN to increase the download speed of files for users across the globe. Generally speaking, delivering really small files can be done easily via nginx from a separate subdomain, as 30 milliseconds extra to grab a css won't exactly kill your web application.

When it comes to delivering larger files, a CDN can really shine, especially the ones with a global reach (such as Akamai and Limelight Networks) which will get you great speeds to any continent. The hardest thing to test out any of these is being able to get a hold of people with residential connections in various parts of the globe to perform tests for you, as doing tests from datacenter-grade connections means nothing when it comes to real world performance; To do the tests hiring people for a small amount of money will get you great results, because if you're already looking at a CDN you are likely going to pay quite a bit of money and likely sign a contract, so spending 100 USD or so to do proper benchmarks will let you rest easy with the 12 month contract you just signed.

4

When did you decide to use a CDN?

Early on into development. The website is for a Photographer and one of the most challenging elements was making sure the load times were practically invisible. Whilst not as much of a problem as video, the simultaneous HTTP request limit was going to cause problems. The website is being developed used Google App Engine, and although they offer static content hosting there were problems with the number of simultaneous requests.

How did you measure the “success” of using a CDN?

1) Being easily integrated into the CMS so as to be invisible. This caused major technical issues on the server side, deferrable jobs and long AJAX async requests plagued - in the end the CMS workflow had to be reworked (and continues to be reworked).

2) Fast. Using Amazon's Cloudfront we have noticed huge speed increases, especially in the Orient (where the photographer in question will be moving to). File upload operations are also quick, however we are less than happy with the speed of META data changes (some can be quite extensive), especially on the S3 to CloudFront propagation.

3) Cheap. The cost of a CDN should be minimal for our needs and offer lots of bang for your buck. We were aiming for faster end user speeds than using Google App Engine alone, but with the same pricing and am happy to report this has been achieved.

2

I wish I had a story to tell. We have pitched the various benefits of this to the powers that be repeatedly but the answer always comes back the same: "we want this in house".

We have users that access the site over SSL. We had looked at using the Google CDN for basic things like Javascript libraries. This caused annoying mixed security warnings in browsers so we dropped it.

We also have some security issues with blocking users and the general public from being able to get access to a piece of content on the CDN. Think protecting a facebook photo based on login + ability to see that users photo album. It would be that complex of a check.

As of yet I don't know how that can be done. I assume we could implements a cookie/token scheme or a web service that the CDN could use to verify access but this would add latency which is what we are trying to eliminate.

I would be interested also in hearing how others have surmounted these problems, if they are in fact your problems.

2
  • I too would be interested in hearing additional thoughts on the Google CDN and SSL issue. I haven't gone that far yet and it hadn't yet occurred to me that dishing those would be problematic.
    – Webjedi
    Jul 15, 2010 at 20:43
  • With Google's JavaScript libraries you can access the URLs with HTTPS as well as HTTP.
    – Metalshark
    Jul 17, 2010 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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