The purpose of a content delivery system or CDN is to distribute content to multiple nodes so that it becomes more easily accessible. Rather than distributing content from central location where it would always travel across large parts of the network it is stored at nodes that are closer to the peripheries. It can then be accessed from the closest point or in the case of spikes in demand it can be accessed from multiple locations.
CDN networks operate as an application service provider (ASP). The infrastructure that is used can then be outsourced and can be changed as needed. Some internet service providers make use of their own systems for content delivery. This gives then the advantage that they do not have to pay a secondary provider for the infrastructure. Some networks also use peer-to-peer systems that do not require centralized servers.
For a CDN to operate it does require a backbone network. This will connect all of the servers and is optimized for packet data delivery. When there are multiple servers the content will be stored in the one which is closest to nodes from which it is accessed most often. Edge servers are obviously limited in size and cannot carry a copy of all of the data that it has access to. Information will therefore be moved back and forth according to demand and where that demand is coming from.
The application software will route request for content to the server which is closest or which has higher availability. This means that less of the overall network is used which reduces the overall load on it. Downloads will be quicker and more stable but there will also be a lower costs if the network is paid for as it is used. The software also decides how the information is moved around as demands change.
A CDN is ideal for mass content delivery for this reason. If there is great demand over a short period such as during the viewing of a popular program then there is instant scalability. If this content was to be distributed from a central server there would be severe limits on it rate of transfer but if it is distributed to thousands of different nodes then this problem can easily be overcome.
If the data were to be accessed from a central point then bandwidth would be limited to what the backbone network could carry. By placing this information on many different nodes near the end user the bandwidth is effectively multiplied for every added node. If there are 10 nodes which each carry 10Gbit/s then it would be possible to download 100Gbit/s.
Both static and dynamic websites can also make use of a CDN. The problem comes in when there are many different copies of these all over the web and then the main website gets updated. This has been addressed with the introduction of ESI or edge side includes that automatically update each cashed copy so that people always see the newest version of the site.
CDN also has other similarities to cloud networking apart from scalability. There is also a high level of redundancy and all your online information is effectively backed up multiple times. This might negate the need for additional online backup. If any part of the content delivery network were to go down request could be redirected to other parts of it so there would be high website availability.
Share and Enjoy
