Content Delivery Network (CDN)

Chamod Malintha
6 min readMay 20, 2020

--

https://www.pinterest.com/pin/736057132827902872/

A content delivery network (CDN) is a distributed group of servers that strategically placed across the globe to deliver content to end-users in order to improve performance, scalability, and cost-efficiency. They are one of the most important components of the Internet today. Given the expanding multifaceted nature of the Internet scene, providing secure top-notch collaborations to each client is more troublesome than ever. So, joining with the right content delivery network (CDN) supplier is essential.

Why Content Delivery Network (CDN)

http://www.technodoze.com/blogging/use-content-delivery-network.html

As a basis, some of the privileges content delivery network (CDN) offers are improved user experience, shorter latency & less delay, reduce bandwidth costs, increase the global availability of content, adjusting enhancements to the continuous context and conditions, etc..

It also reduces the complexity, secure sites & applications facilitated in the cloud and allow the agile operation. These are the reasons for the content delivery network (CDN) to become one of the hot topics in computer networking research areas.

Uses of Content Delivery Network (CDN)

The main use of CDN is to provide fast delivery of internet contents such as pages, files, media, etc from servers to clients. In the present majority of web traffic is served through CDNs, including traffics from popular sites like Facebook, Netflix, and Amazon. CDN is also supported for cache content at the network edge, which impacts the performance as well. CDN is used for transfer data in a secure way across the globe because it led to a massive improvement of e-commerce and educational websites. CDNs are used to handle load balancing through nodes to some extent.

Content Delivery Network (CDN) Architecture.

Content delivery network (CDN) Architecture can be described according to the layered architecture.

· Basic fabric layer: This is the lowest layer of content delivery networks (CDN) and it’s the provider of infrastructural resources. Ex: consists of index servers, clusters, file servers, etc..

· Communication layer: This layer provides the content delivery network (CDN) protocols such as Internet cache protocol (ICP), authentication protocols such as File transfer protocol (FTP), and core internet protocols like Transmission control protocol (TCP/IP) for an authenticated content communication and delivery.

· Content Delivery Network (CDN) layer: Consists of the main functionalities of the Content Delivery Network(CDN). This layer can be divided into 3 sub-layers like Content types, CDN types, and CDN services. This layer provides services like resource sharing, caching, request routing, load balancing, etc..

· End Users layer: End users are at the highest level of content delivery network (CDN) architecture. Ex: web users.

Content Routing

Content delivery network (CDN) has a request routing system which is responsible for routing user requests for appropriate surrogate server for delivering contents. Content selection and delivery techniques like full- site and partial-site make a huge impact on the request routing system. The request routing system has a set of network elements to support request routing. When there is a client request, it routes that request to the client’s nearest replica server. This request routing system uses a set of matrices to identify the appropriate surrogate server such as network proximity, distance, replica server load, etc..

Performance

Content delivery network (CDN) performance is measured by using two factors at a very basic level.

I. How quickly the content network system provides the address of the best surrogate server.

II. How quickly content is delivered from the content delivery system to the user.

But calculate the performance of a content delivery network at a large scale needs to identify the traffic on content delivery network servers. Still, there is no standard protocol to measure performance across the content delivery network.

There are some methods like first-mile testing, backbone testing, and last-mile testing to test the performance of the network.

· First mile testing: CDN server-level testing.

· Backbone testing: tests how fast your content is loading at internet hubs.

· Last mile testing: real end-user experience.

Availability

In the event that your site has plenty of static documents, for example, Images, templates, or JavaScript pages, you can ensure they are downloaded as quickly as possible on the client-side by using a Content Delivery Network (CDN). One of the objectives of a Content Delivery Network is to improve the user experience by giving better performance and high availability for delivering documents, images, and recordings. Thus, media content is served quicker to the clients, while reducing HTTP requests and the traffic load on the webserver. Content delivery speed is very important. For availability, both cluster and server availability should be considered.

Scalability

Content delivery network services use load testing to measure the scalability of the service. But traditional load testing methods don’t work well with content delivery networks. Therefore, to perform load testing with content delivery networks one must,

· Send client requests from different geographical areas.

· Perform cluster level load testing.

· Perform server-level load testing.

Consistency

Content delivery networks (CDN) ensure a consistent experience for all the clients.

Does consistency actually matter? Imagine you are referring to a website and one day it loads really quickly and another day it loads slowly. Not having a consistent level of performance may lead to user frustration. That reason may cause losing some visitors to that website.

But content delivery networks allow users to download content from a closer source rather than retrieving data from a different region. That kind of methodology will ensure a consistent experience for all users.

Fault Tolerance

CDN server in a particular location can have an outage, even though traffic should get routed around that, failures still happen. Maybe the customer’s DNS is failing, so lots of possibilities are there to cause a fault in a content delivery network. Local clustering can improve fault-tolerance if data server is failing sites offer mirroring and multihoming technologies to overcome those issues. Another method is caching content in edge servers of CDN, by that we don’t need to always rely on the origin server to load content if it is unavailable.

Recoverability

Disaster recovery strategies are built into the delivery of the application by either failing over to a hot standby environment or quickly spinning up planned resources to replicate the application environment in another geographic location. Globally distributed data centers to back up and protect content, well away from the primary data center with multiple network routes for redundancy. Alert management operates with continuity testing built into its maintenance cycle and aggregates data from individual machines to feed into an on-going snapshot of the network’s traffic and health are some of the strategies practiced in CDN to maintain recoverability.

Security

https://www.freecodecamp.org/news/an-introduction-to-the-akamai-content-delivery-network-806aa16d8781/

Poor content delivery network security methods couldn’t able to handle the consistency issues and it had a negative effect on CDN reputation.

Therefore CDN turned to Akamai, Akamai serves 30% of internet traffic and provide the highest level of security for content delivery networks. Akamai touches all aspects of cloud-based content delivery network operations. Akamai solutions are designed to optimize network traffic and improve performance. It’s web performance solutions helped to accelerate web sites and provided secure online access from any device.

--

--

Chamod Malintha

Software Engineer | BSc. (Hons.) in Software Engineering | University of Kelaniya, Sri Lanka