Content Delivery Networks (CDN)

November 8th, 2009

At Gorlet, we deliver a large number of large audio files (between 60k and 120k .wav for browser compatibility).

Not only could the size of these files cause bandwidth problems at the server under load, but it also had the potential to cause latency related performance issues at times.

Therefore, we decided to use a Content Delivery Network (CDN) to deliver our audio files.

In essence, this allowed us to provision these files at locations which were physically closer to our end-users and attempt to minimize any potential latency.

Nodes in a CDN are typically deployed in multiple geographic locations and from multiple providers. They also use a variety of techniques to optimize that delivery. These include:

  • Request routing – This may involve directing a client request to the node that is geographically closest to the client, or to the one with the most capacity.

  • Server load balancing – This essentially provides a real-time technique for balancing load, improving reliability and obtaining scalability.

  • Web caching – This involves storing more frequently accessed content on servers that have the greatest demand for that content.

While Gorlet uses a CDN principally for delivering audio files, other content types that can be delivered include web objects, any download-able objects (media files, software, documents), applications, real time media streams, and database queries.

There are a variety of CDN providers including:

  • Akami – One of the first, founded in 1998 and widely known.

  • Limelight Networks – Limelight operates a global fiber-optic network that helps avoid the busy public Internet by delivering content directly to end-users.

  • Edgecast Networks – Founded in 2008. Recently rated as the #3 CDN.

  • Cachefly – Cachefly caters specifically to smaller companies, rather than large businesses and is what we use at Gorlet. The company offers instant setup for standard configurations. We have found this to be easy to setup and use.

  • Amazon CloudFront – Part of Amazon Web Services, operated on a pay-as-you-go model.

Again, there are many providers with different services and pricing models. The requirements, planned growth, costs and benefits need to be carefully examined with regard to a company’s offerings before a provider is selected.