Content Delivery Network

Posted Posted by Patrice Guay in Web hosting     Comments 2 comments
Feb
15

Content delivery network representationA “Content Delivery Network” (CDN) is a group of caching server nodes linked together through the Internet. The nodes are distributing web site content and are accelerating the delivery to the end user. Server nodes are geographically distributed and generally connected to the fastest Internet links available in their location. When someone visits a CDN powered website, the CDN will establish the visitor location and direct him to the optimal server node.

Technology

A stand-alone web server distributes directly its content to the end-users. Visitors connecting to the web server will fetch data files (stylesheet, scripts, text, music, video, etc.) from this unique server. The delay between the client request and the server response will vary depending on the distance between the server and the client. Moreover, if the server bandwidth is exceeded, the transfert rate for the clients is reduced. To circumvent those issues, a CDN will distribute content to multiple server nodes in various locations.

(left) centralized delivery of content; (right) distributed delivery of content

(left) centralized delivery of content; (right) distributed delivery of content

Each server node act as a cache repository for the website content. Some CDN networks use a hierarchy to optimize content distribution on the different nodes. For example, a rather small set of core nodes will fetch data on the original web server on a regular schedule. Data from these core caching nodes is then distributed to the remaining nodes called edge server nodes. The caching nodes are coordinated to share visitor request to optimize data transfert performance (latency, bandwidth) or the cost of data delivery ($/GB).

Various rules can be configured to specify which files should be cached and the cache refresh rate. While all static files from the original web server can be distributed from the CDN, the delivery of dynamically generated web pages is more complex. For example, there is little interest in serving content generated by database requests especially if request parameters are variable and unlikely to be used by more than one visitor.

To direct web server visitors to the CDN, you will need to point the DNS entry of your server to the IP address of your CDN. The CDN service provider will usually ask you to configure an additional DNS entry pointing to the original web server. With such a configuration, your visitors will now connect with the CDN service whenever they visit your web site. The server nodes of your CDN will connect to your original server to refresh their cache and fetch content they do not have in their cache like dynamically generated pages.

Benefits

Latency

One primary benefit of a CDN service is to reduce the latency of your web site. Since your web content is physically closer to the end-user with a CDN, the delay between the client request and the first bits of data is reduced. Thus, the responsiveness of your website is globally increased. This kind of benefit is most interesting for websites serving a lot of small files. For example, imagine the original web server is located in New York and the visitor is located in London. The normal latency for such a distance is around 80ms. The delay between the client request and the server response for a 1kB file on a 100Mb/s (12 500kB/s) link will be:

0,080 s + 1 kB / 12 500kB/s = 0,080 s

Clearly, to speed up the delivery of small files, reducing the latency by moving the server closer to the visitors is the key. The use of a CDN solution with server nodes installed close to your visitor locations will improve the responsiveness of your website.

Bandwitdh

While for small files delivery the latency was the key, the challenge for larger files is different. For music and video streaming, latency is less critical since the delay between the client request and the reception of the first bits of data is smaller than the time required to actually download the files. For example, let’s consider again a web server located in New York and a visitor located in London. The delay between the client request and the server response for a 100MB file on a 100Mb/s (12.5MB/s) link will be:

0,080 s + 100 MB / 12.5MB/s = 8,080 s

To accelerate data delivery, the solution is to improve the bandwidth between the server and the visitor computer. The use of a CDN service with several high bandwidth server nodes will increase the overall bandwidth of your web solution. Moreover, the allocated size of the cache for your content must be large enough your most demanded files.

Conclusion

The following list presents key elements to keep in mind when evaluating the different CDN service providers:

  • Quality of server node coordination
  • Proximity of server nodes relative to your most regular website visitors
  • Bandwidth of the server nodes
  • Cache size of the server nodes
  • Number of server nodes available to distribute your content
  • Design of the CDN control panel (control of cached content, availability of usage metrics)

2 Comments to “Content Delivery Network”

  • Web and application publishers expect content delivery networks to reduce their cost of content delivery and to improve their end user experience. So what if your CDN told you that they would do all these things but along the way you had to accept that each month somewhere between 10% to 40% of your files would get flushed from cache because these files weren’t as popular as files from their other customers?

    And what if your CDN told you that when they flush files from cache you:

    • pay extra for infrastructure to handle cache misses;
    • pay extra for delivery when those files are requested;
    • can’t predict your content delivery bill;
    • can’t provide a predictable experience

    Would you accept these extra costs and compromised end user experiences like thousands have or would you seek a better solution? Proxy cache CDNs—by their very nature–cache and purge content based on the popularity of one customer’s content versus another’s.

    BitGravity architected its video delivery network so that all customers are treated equally and are provided with a lower cost way to deliver better video experiences. BitGravity customers upload their content to large origin servers, the content is replicated to the dense storage and delivery nodes within the customer’s selected theater, and multiple copies of the customer’s content are kept on the origin servers.

    The result? With zero cache misses, customers overall cost of delivery is lower and predictable, and the HD and SD videos they deliver to their end users start instantly and don’t buffer. If you have any questions, requirements for HD VOD, storage, or live streaming, or want to see a demo of BitGravity’s products, please contact us.

  • Good article. Thanks a lot. Personally i’d recommend to use Edgecast CDN. Even such a big names as WordPress and Twitter have chosen it. But it’s not only for big players. It has everything that was mentioned above to offer mid-sized business. Though it may be a bit inconvenient to make an annual contract with them. So everybody that wants no contract and affordable prices for quality Edgecast’s services may take a look at their resellers. There are several of them. Check out Jodihost, for example. And to read more about their cdn-services you can at https://www.jodihost.com/services_streaming.php

Post comment

Advertisements