A Content Delivery Network (CDN) is a globally distributed network of web servers or Points of Presence (PoP) whose purpose is to provide faster content delivery.
The content is replicated and stored throughout the CDN so the user can access the data that is stored at a location that is geographically closest to the user. This is different (and more efficient) than the traditional method of storing content on just one, central server.
A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, in order to avoid bottlenecks near that server.
High content loading speed = positive User Experience. If all data is located on a central server, the User Experience is negatively affected by limited loading speed. The greater the distance between two objects in communication (in this case, the user and the server), the longer it takes for the content to reach any of these objects.
To put it more simply, the purpose of a CDN is to improve user experience and provide it with a more efficient network resource utilization. Content providers such as media companies and e-commerce vendors pay CDN operators to deliver their content to their audience, that is, end-users. In turn, a CDN pays ISPs, carriers and network operators for hosting servers in their data centers. There are two key mechanisms that explain how CDN functions:
- Keep important content distributed to multiple, globally distributed data centers so it is closer to end users, and thus faster to download.
- Use server optimizations based on content type to get that content to the user most efficiently.
Other than better performance, CDNs also offload the traffic served directly from the content provider’s origin infrastructure, resulting in possible cost savings for the content provider. They are also effective against DDoS attacks, since they provide their own large distributed server infrastructure to absorb the volume of the attack, but we’ll explain that later.
Location is key for content delivery speed. The farther the user is from the server where the content is stored, the longer it will take for the content to reach the user, and this in turn negatively affects User Experience.
CDN Architecture and Key Components
Here’s a simple model of a Content Delivery Network, its key components and their roles explained below:
Content Provider: the entity delivering the content
Authorization: the Content Provider gives the CDN Provider permission to deliver content
Reporting: the Content Provider demands performance analytics from the CDN Provider to evaluate the quality of the CDN Provider’s service and have access to other relevant data
Source: the Content Provider sends a copy of the content
Content: digital information created and/or licensed for distribution
Request: the user requests from the Content Provider to view or locally store data (content)
Deliver: CDN delivers the content to the user
User: the entity requesting data (content) from the Content Provider
Most CDN architectures are designed using these key components:
Delivery Nodes: primary purpose is to deliver content to the end user. Delivery Nodes are servers that contain caches running one or more content delivery applications. They are typically located as close to the end user as possible. Content can be stored manually to these nodes (Push CDNs), or delivery nodes can demand content from origin nodes based on Cache Expiration Rules (Pull CDNs).The advantage of Push CDNs is that the content is instantly available to the users demanding it.
Its main disadvantage is that the Content Provider has to proactively “push” content every time it is updated.The advantage of Pull CDNs is they automatically demand content from the Content Provider. Its main disadvantage is the initial content delivery speed: when the user demands content for the first time, the delivery speed will be the same as if the Content Provider didn’t use CDN. After this initial request, though, all other users located in the same geographical location or close to the original user who made the request will be able to access content instantly because the content will be cached inside the Delivery Node.
Storage Nodes: primary purpose is storing copies of original data that is being distributed to Delivery Nodes. Storage Nodes can be deployed in a hierarchical model to allow tiered caching.
Origin Nodes: These are the main sources for content that enable content distribution across the entire network or the content owner’s infrastructure.
Control Node: primary purpose is hosting of management, routing and monitoring components of a CDN.
A model of CDN architecture. Source: Richard Gibbs – A new approach to publishing and caching video
Benefits include reducing bandwidth costs, improving page load times, or increasing the global availability of the content. The number of nodes and servers making up a CDN varies, depending on the architecture, with some reaching thousands of nodes with ten thousands of servers on many remote points of presence (PoPs). Others build a global network and have a small number of geographical PoPs.
CDN nodes are usually deployed in multiple locations, often over multiple backbones. Benefits include reducing bandwidth costs, improving page load times, or increasing the global availability of the content. The number of nodes and servers making up a CDN varies, depending on the architecture, with some reaching thousands of nodes with ten thousands of servers on many remote points of presence (PoPs). Others build a global network and have a small number of geographical PoPs.
There are 3 primary types of content:
- Dynamic content: content generated on the fly by the web server using any of several common web programming languages such as php, ruby or java
- Streaming content: videos or audio files that are played via a web browser control.
Each of these varies in size. How long it takes for individual bytes of data to travel from the server at the point of origin to the end user is known as “latency”, measured in ms (milliseconds). Fast web content means low latency. The latency factor is even a bigger deal when it comes to mobile web browsing. Mobile content delivery requires a much better and a more aggressive optimization strategy. There have been a number of studies from Yahoo, Google and others that show that as much as a 10% drop in conversion rates per each additional second of page load time; loses time and time is money. CDN’s were developed to help solve both of the above mentioned issues. Latency is greatly reduced, and content is delivered in a more optimal fashion.
Tweet This: CDNs distribute content faster throughout globally placed datacenters so it’s closer to end users
Tweet this: Reading about #CDN key components: Delivery, Storage, Origin & Control nodes
Tweet this: There are three types of content: Dynamic, Static & Streaming content