CDN - The first draft of the explainer article
Topic: The Content Delivery Network
1)What is CDN?
A CDN (Content Delivery Network) is a highly-distributed platform of servers that helps minimize delays in loading web page content by reducing the physical distance between the server and the user. This. helps users around the world view the same high-quality content without slow loading times.
The concept of a CDN is not much different than the cache on your web browser. Whenever your browser loads a website, it saves or caches a copy of it. So, when you revisit that website your browser doesn’t have to fetch the content again. Rather, the website server displays the content already in your cache. CDNs take this concept and use it on the public Internet.
Internet content delivery is limited by distance. The greater the distance between a web server and user, the longer it takes for the website content to load. CDNs work by bringing content closer to end-users. This decreases the distance data has to travel. CDNs deploy multiple edge servers around the world. Whenever a client requests content, it is served from the geographically nearest edge server. This results in faster load times.
There is one small problem with caching content at edge locations. It works well for content like PDF files or images. It is not so useful for search result pages or real-time video streaming. The reason for this is the nature of the content itself. PDF files or images are static content. Static content does not change over a period of time. Search results or video streaming are dynamic and continuously updated. Traditional CDNs do not typically accelerate dynamic content, as they are generally focused on the caching of static content. In contrast, Akamai has built an acceleration platform that leverages a number of techniques to improve the performance of dynamic sites & applications.
2)What are the differences between static content vs dynamic content?
Personalization Makes dynamic content(2015 - CDN 2.0)
Static content does not change over a period of time. If it does change, the changes are predictable. Static content includes images, PDF files, and CSS sheets. Because of this, CDNs can cache a copy of the content at their edge servers. They can then serve it whenever a client requests it. Static content also has another subdivision called event-driven content. Event-driven content is static in nature, but the changes are unpredictable. Event-driven content remains static over unpredictable durations of time. This inherent unpredictability presents problems for CDNs.
The problem is determining the duration to cache content. Most CDNs solve this by caching this content for short duration’s. Some CDNs also use a purging mechanism. This purges event-driven content as soon as an event occurs.
Dynamic content is content which is continuously changing. Every request for dynamic content is forwarded to the origin servers. The changing nature of the Internet has driven the creation of dynamic content. It has resulted in increasing the personalization of web services. Content on the social web is shaped around individual end-users.
*/Who creates dynamic content?
The checkout process for online transactions falls into the category of dynamic content. Most website checkout processes use third party services like address validation and credit card authorization. These are time-consuming and dynamic in nature.
User accounts on websites or web apps also generate dynamic content. Information contained in user accounts is updated with the latest user preferences, settings, and actions.
The AdTech industry. During the ad delivery process, decisions about which ad to show to an end-user are made in milliseconds. These decisions occur for individual users, and for every webpage that has ad space.
The real-time video streaming and voice over IP. Services like Twitch are dynamic in nature. Real-time streaming videos have to be delivered from the peer through the origin server, then to the end-user. Any website with a shopping cart will also generate dynamic content */
3) How different for using CDN between static content vs dynamic content?
-Without a request from clients, content from the origin server are pre-saved to the cache server
-> when clients request content from cache server, all content is located in the cache server(100% Cache Hit)
-The Cashe server does not have content -> When clients request content, the cache server download the content from the origin server to deliver clients -> After the Cashe server is requested same content, the Cashe server deliver downloaded content to clients (Cache Hit)
-Each content can be removed after time to live
4) Use cases for dynamic content delivery with the CDN
News, sports, local, weather
Application development, APIs, IoT, telemetry
5) Benefits of Using a CDN
-Lower Latency for Improved User Experience
-Manage Traffic Spikes and Avoid Downtime
-What if huge internet traffic overloads the Cashe server physical limitation?
-Using the another nearest server ex) If Korean client can't use Akamai server due to overload, akamai server request Japanese server to deliver contents to the Korean client.
-How CDN can get the optimized path to fast data flow? ( How CDN can analyze the fastest way from A to B?)
/*How does a CDN work?
Over half of the internet’s traffic is served by a content delivery network (CDN). The goal of the CDN is to reduce latency – the delay between submitting a request for a web page and the web page fully loading on your device – by reducing the physical distance that the request has to travel.
To combat this, CDNs store a cached version of your website content in multiple geographical locations around the world, which are known as “points of presence” (PoPs). These PoPs will contain their own caching servers and will be responsible for delivering that content in the user’s location.