Content Delivery Network (or CDN) is a system of servers deployed in different data centers in different geographic locations. The primary goal of content delivery network is to serve or deliver content to users in different geographic locations with high availability and in top speed. Content delivery network rapidly serves web content to multiple users by duplicating the content and directing it to users based on their geographic proximity. In short, CDN system decides the data center location from which the web content will be served to end-user based on numerous factors such as proximity, speed, latency, availability and so on. CDN serve a large part of web content including web objects (text, graphics, scripts), downloadable files (media, software or documents), web applications (ecommerce, SaaS, portals) or on demand media (video). Social networks also use CDN to speed up serving of their content to users in different geographic locations.
Image: difference between serving content without CDN and with CDN
CDN serves content based on the end-user proximity. Once a user (browser) issues request for your page or part of the page, content gets to the end-user by the nearest data center. Server that will respond is usually the server with the fewest network hops or with the quickes response time. Some of the advantages/benefits:
When it comes to websites and applications that rely heavily on the transactions of the end users, CDN is also a conversion rate and ROI booster. This research shows that the bottom line is: users expect speed.
Generally, there are three types of CDN:
General purpose CDN have evolved before the rise of online video and are sometimes refered as web acceleration. How does it work? These types of CDNs have a number of servers in different locations (data centers) and these data centers are usually close to large connection points between ISPs (Internet Service Providers). CDN stores a copy of content and serves it to internet users.
On-Demand video CDN is delivering content to end user partially, only part of video at a time, meaning that user can watch it smoothly (depending on his/hers connection speed) and not having to wait until the whole video is downloaded. This ensures that video platforms don’t need to invest heavily into infrastructure.
Streaming videois a live recording delivered directly to end user. Although on-demand video covers for some 95% of all video materials online, streaming video requires a lot more bandwidth for covering popular live events. Building and maintaining such a solution is extremely expensive.