Content Delivery Network (CDN), a solution to deliver content faster and more efficiently
- 작성자 Woo Sungsil
A Content Delivery Network (CDN) is a solution that brings your content to users’ devices on the Internet quickly, such as PCs and mobile devices. It is used in various fields, such as web services, OTT, and games. In particular, as COVID-19 and the metaverse are getting more attention, it is increasingly used in a variety of Internet-based services. We will look at the growing importance of CDNs for faster and more reliable service delivery.
What is the content delivery network (CDN)?
A Content Delivery Network (CDN) is a solution that brings your content to users’ devices on the Internet quickly, such as PCs and mobile devices. It is used in various fields, such as web services, OTT, and games. In particular, as COVID-19 and metaverse are getting attention, it is increasingly used in a variety of Internet-based services, and its importance is growing to provide faster and more stable services.
Public cloud providers entering the constantly-growing CDN market
The CDN market is growing by more than 15% each year, and at the center are traditional CDN companies, such as Akamai, Limelight, and Chinanet Center, which acquired a domestic company called CDNetworks. In addition, public cloud providers, such as Amazon, Microsoft, and Alibaba, have recently leveraged their infrastructure to provide CDN services, rising as strong competitors for existing CDN companies.
The size of the CDN market was predicted to be USD 12.4 billion in 2019, USD 13.9 billion in 2020, and it is expected to grow by 12% in 2021.
Moreover, it is estimated to grow to USD 22.1 billion in 2024.
Asian regions show rapid growth with the tremendous supplies of the Internet and smartphones.
(Source: Graph of the CDN market growth https://www.t4.ai/industry/cdn-market-share)
Understanding of CDN
A CDN is a globally distributed network of edge servers that caches content for content delivery. This also has a positive effect on origin resources because numerous users can receive cached content from edge servers, resulting in reduced throughput on the origin server. This allows content providers to reduce server investment, operating costs, and line costs. In other words, the CDN is considered more effective as the distance between the user and the origin server increases, and the number of users increases.
[Wait!] What are edge locations?
In CDNs, the data centers where cache servers are located are called edged or edge locations, instead of regions. There are many edges distributed around the world, and user requests are routed to the nearest edge to enhance the HTTP response speed.
[Wait!] What is the origin server?
Since a CDN is just a server network, it actually needs a server to store content, which is called an origin server.
Fast dynamic content delivery
Typically, content cached on edge servers is static content, such as images, videos, and fonts. Dynamic content still requires communicating with the origin server because it is not cached, so if it is a service that requires a lot of transactions with the origin, it is necessary to think about improving the communication section speed to the origin. CDN providers offer models with additional acceleration capabilities based on existing CDN services. This is calculated in the middle mile section from the edge server close to the user location to the one close to the origin server in order to bypass the unstable network environment, communicate with the origin server with low latency, and accelerate the delivery speed of dynamic content by applying transmission technology optimized for each CDN.
Main features and usage of a CDN
A CDN can be applied on a domain basis, not on a path basis. However, in the case of applying a CDN by country, such as the case where a CDN is applied only to overseas users who are far away due to the origin server located in Korea, it can be flexibly applied according to GEO IP by country via a CDN DNS. Basically, service operators can increase offload by setting appropriate criteria for static content to be cached and separating dynamic content to manage files, but a deep understanding of the cache will help you make the most if it.
Identify network environments such as a DNS.
The way the edge is assigned close to the user's request is applied when querying a DNS. When a user queries a DNS for a domain address that uses a CDN and eventually a CDN DNS views the user's DNS IP address to determine the user's location and responds to the user to access the edge IP close to the location, which is impacted by the user's DNS location, rather than the actual user location. If a global company builds an in-house network and uses only one or two in-house DNSs, it would be difficult to allocate close-edge servers to local network users even when applying CDN, so it is necessary to understand the network environment, such as the actual service users’ DNS before applying CDN.
Consider efficient cache management.
Cache content is stored separately on the edge server based on the URL, and when the specified TTL expires, it sends an If Modified Since (IMS) request to the origin server to compare the cached content with the content in the origin server to see if it has changed. If the last-modified header value of the content with the same URL is newer than that of the origin server, the cached content is renewed, and if it is older or equal to, the cached data is reused without renewal, so it is recommended to set the last-modified header on the origin server for efficient use of cache. If you don’t use an existing CDN, you can also use the origin server's cache-control header to control the cache for the proxy server or user browser. However, if you use a CDN, it is recommended to consult with the CDN operator so that the cache control is used only through CDN settings to prevent accidents caused by unintended cache behavior and to manage the cache efficiently.
|Response header||Response header details||Function descriptions|
|Cache-Control||no-store||Creating cache files is not available / used when excluding cache for some content|
|no-cache||Cache files can be created, but a validation request for the original file is required every time|
|no-cache||Cache files can be created, but a validation request for the original file is required every time|
|max-age||Maximum caching period for content within the edge server|
|public / private||Content expiration time is separate from the cache control and settings, which is ignored when Cache Control is set to max-age|
|must-revalidate||Settings to reconfirm only expired content for the origin|
|Expires||Public: Store in cache servers / Private: Store in browsers|
|Last-Modified||Used as a validation measure when requesting an if-modified-since (IMS) from a CDN cache server as the last modification time for content|
|Etag||Unique key assigned when creating content|
(Cache-related HTTP header)
Consider the criteria for creating cache keys.
Cache keys are criteria for caching and distinguishing content received from the origin server to the edge server upon user requests, and it is mainly determined by the domain, Path QueryString Parameter (hereinafter QS). In general, a cache-key is created with QS, so although the user requests the same path, the QS determines that it is a different request and caches it, which also affects origin resources as offload decreases. Therefore, the content manager can improve offload by identifying whether the content has changed according to QS, and by excluding QS from the criteria for generating a cache key after classifying URLs that QS does not affect content.
(Cache behaviors depending on whether QS is included in the cache-key)
Consider the characteristics of purge.
Purge is a feature that deletes cached content on edge servers. If the content of the origin server is updated, this content is not imported again until the cache on the edge server expires. Thus, when we want to provide updated content to the user immediately, it is recommended to use a purge to remove the existing cache content and bring the updated content from the origin server while caching it on the edge server upon user request. However, if the content is cached in the browser, it is not possible to remove the browser cache with CDN purge, so the users need to remove the browser cache by themselves (cache behavior based on whether QS is contained in the cache key) or change the file name so that the users can receive the content again. Using CDN cache based on the understanding of its basic characteristics not only speeds up content delivery, but also keeps providing cache content to users in the event of an origin server failure, which can bring a positive effect on service continuity and protect the origin server by processing requests on the edge servers in case of DDoS attacks.
Additional features of CDN
In addition to the basic cache feature, the HTTP-based CDN service provides various features at the edge-server end based on the users' HTTP request header information. Basically, through CDN settings, users can block the IPs of those who attempt malicious attacks or utilize access control features that only allow certain users to access some content. For global services, CDN redirects users to the appropriate page after finding which country the users have accessed the service using user IPs, or delivers cookies to the origin server after creating cookies with the user’s country name, realizing different features in line with characteristics of each country.
As the Internet has developed, many users are now able to send and receive information through the Internet, and at the same time, threats to cyber security are evolving as well. Accordingly, major CDN companies offer solutions to implement security features to CDN services to protect origin servers and data from DDoS attacks, Bots, and a variety of application-aggressive traffic on the edge server end, as well as to reduce the security and network burden on the origin servers. In particular, Akamai's security solution has been recognized for its strong competitiveness in security and selected as a leader for four consecutive times in the Gartner Magic Quadrant web application and API protection (WAAP) report until 2021. In addition, by subdividing products into WAF, DDoS, Bot Manager, API Protector, etc., they let their clients apply optional solutions suitable for the client environments, strengthening security for client services including Samsung.
- Cloud flare (ability to execute, completeness of vision)
- FS (ability to execute, completeness of vision)
- Fastly (completeness of vision)
- Amazon Web Services (completeness of vision)
- Barracuda (completeness of vision)
- Akamai (ability to execute, completeness of vision)
- Imperva (completeness of vision)
- NICHE PLAYERS
- Fortinet (ability to execute, completeness of vision)
- Microsoft (ability to execute)
- Radware (ability to execute, completeness of vision)
- ThreatX (ability to execute)
(Gartner Magic Quadrant on “WWAP” in 2021)
Recently, many images and videos have been used in web services to provide more intuitive and abundant service to users. Using the CDN image solution, users can quickly receive optimized image files by recreating one original image in line with the user's network speed or device environment and delivering it to users. Thus, the CDN image solution has strength in terms of performance and management as a content manager does not need to create and manage image files with different qualities and sizes by user environments. In addition, it is not just a cache service on CDN like it was in the past, but is now getting closer to edge computing and becoming more competitive by offering various additional products, such as video streaming, multi-origin branching, and Token Auth.
A CDN image solution delivers a single original image to a user in accordance with the user's device environment.
[Wait!] What is edge computing?
Edge computing refers to a model that distributes and arranges servers on terminal devices themselves, such as PC or smartphones, or nearby areas instead of arranging them in cloud data centers to process data from the terminal devices in those distributed servers. In other words, cloud computing is processed mainly in the cloud servers while edge computing is handled in distributed servers close to the terminal devices.
Both cloud computing and edge computing provide computer resources and services to users, but with different structures and objectives.
Cloud computing is a technology that concentrates computer resources in large-scale data centers to provide them to users. The advantages of cloud computing include fast and stable services for a large number of users and high flexibility and scalability of the services.
On the other hand, edge computing, unlike cloud computing, processes data and provides services on local devices. Edge computing processes data on local devices to minimize latency and reduce bandwidth.
The two technologies complement each other, allowing users to select an appropriate technology to meet their business requirements.
If you're looking for a fast, stable network service for various cloud environments?
Check out the enterprise cloud container products in Samsung Cloud Platform at Samsung SDS.
Fast, reliable network services for diverse cloud computing environment
- VPC Independent Virtual Network in Cloud Environment
- Transit Gateway Multi Gateway Service for Connection among Customer Networks or Connection Hub among VPCs
- Direct Connect Secure and Rapid Connection between Customer Network and Samsung Cloud Platform
- Firewall Firewalls for Connecting Traffic of VPC with Internet and Customer Network
- Security Group Virtual Firewall Controlling VM Traffic
- Load Balancer Automatic distribution of server traffic load
- DNS Convenient domain setting and management
- GSLB DNS-based Load Balancing to Distribute Traffic for Reliable Network
- VPN Connecting External and Cloud Networks through Encrypted Virtual Network
- Global CDN Delivers Content Securely and Quickly Using Global CDN Infrastructure
- Professional, Woo Sungsil / Samsung SDS
- Woo has been working on operation and implementation of CDN services provided by Samsung Electronics and Samsung affiliates, and various solutions from the CDN providers.