An Overview of Content Delivery Network
Imagine you're sitting in your room at IIM Bangalore (IIMB), trying to visit the website of a store based out of New York. In that case, the request from your system must go all the way from IIMB to the server of that store located in a datacentre at New York and then come back.
Sounds too much work right? If that would actually be happening, each such request would indeed be time consuming and you won't have a great experience while browsing that website.
Essentially, that website would seem slow to you.
On the other hand, if that store uses a 'Content Delivery Network' (CDN), the responses would have been very fast, and typically that's what happens with most of the websites we visit nowadays.
So let's try to understand what exactly is a CDN, and how does it make the Internet faster.
CDNs are a group of geographically distributed and interconnected servers. These servers speed up the delivery of web content to end users, by bringing that content physically closer to the users.
They use caching (temporarily storing copies of files) to be able to serve the requests faster to end users via their own geographically distributed servers, instead of the users receiving content directly from the original server that might be located far away.
The thing is, Internet wasn't designed to handle vast amounts of data that we see today. The activities we do today like web browsing, downloading softwares, video streaming (with minimal lag), etc. are possible because of the CDNs.
CDNs essentially protect us from the potential traffic jams and congestion we might face while browsing the Internet, and are like a layer in the Internet ecosystem – serving a large portion of the world's Internet traffic today.
To give you some examples, two major players that come to my mind when I hear the word 'CDN' are Cloudflare and Akamai.
I've personally experienced working with both Cloudflare and Akamai during my time at Bajaj Finserv as a Senior Manager - Cloud, and I can't stress the value these CDNs provided in running our flagship application - SuperApp.
You can even create parallel multiple production environments for your applications and distribute the user traffic amongst those environments via Cloudflare for high availability purposes.
Moreover these CDNs also help with security, such as preventing Distributed Denial-of-Service (DDoS) attacks.
To further illustrate the impact these CDNs have over all of our lives: Just know that if any of these CDNs go down, a significant chunk of the Internet goes down too :)
On a side note, Lee Holloway is one of the founders of Cloudflare who was the master architect behind it and laid the foundation for a system that now handles more than 10% of the world-wide Internet traffic. Here is an interesting story about him that I came across a few years ago:
Hope you got a decent overview of what CDNs are, how they work, and the huge impact that they have on our lives.
Stay tuned for more such weekly content based on Product Management and Technology.