Hosting Comparison

What Is a CDN Content Delivery Network

Sharing is caring!

Latency, latency, latency! It has always been a problem of the Internet. It was, it is, and it probably will be. Delivering data from one geographic point to another takes time.

However, latency can be reduced. This can be achieved in several ways:

  • Reduce the number of intermediate nodes on the data path from the remote server to the user. The fewer the handlers, the faster the data reaches the destination. But this is hardly feasible. The global Internet continues to grow and become more complex, increasing the number of nodes. More nodes = more power. That’s the global trend. Evolution!

  • Instead of regularly sending data over long distances, we can create copies of it on nodes closer to the user. Fortunately, the number of network nodes keeps growing, and the topology spreads ever wider. Eureka!

The latter option seems like an absolute solution. With a large number of geographically distributed nodes, it’s possible to create a kind of content delivery network. In addition to the main function—speeding up loading—such a network brings several other benefits: traffic optimization, load balancing, and increased fault tolerance.

Wait a second! That’s exactly what a CDN is—Content Delivery Network. So, let’s let this article explain what a CDN is, how it works, and what problems it solves. 

What is a CDN?

A CDN (Content Delivery Network) is a distributed network of servers designed to accelerate multimedia content delivery (images, videos, HTML pages, JavaScript scripts, CSS styles) to nearby users.

Like a vast web, the CDN infrastructure sits between the server and the user, acting as an intermediary. Thus, content is not delivered directly from the server to the user but through the powerful “tentacles” of the CDN.

What Types of Content Exist?

Since the early days of the Internet, content has been divided into two types:

  • Static (requires memory, large in size). Stored on a server and delivered to users upon request. Requires sufficient HDD or SSD storage.

  • Dynamic (requires processing power, small in size). Generated on the server with each user request. Requires enough RAM and CPU power.

The volume of static content on the Internet far exceeds that of dynamic content. For instance, a website’s layout weighs much less than the total size of the images embedded in it.

Storing static and dynamic content separately (on different servers) is considered good practice. While heavy multimedia requests are handled by one server, the core logic of the site runs on another.

CDN technology takes this practice to the next level. It stores copies of static content taken from the origin server on many other remote servers. Each of these servers serves data only to nearby users, reducing load times to a minimum.

What Does a CDN Consist Of?

CDN infrastructure consists of many geographically distributed computing machines, each with a specific role in the global data exchange:

  • User. The device from which the user sends requests to remote servers.
  • Origin Server. The main server of a website that processes user requests for dynamic content and stores the original static files used by the CDN as source copies.
  • Edge Node. A server node in the CDN infrastructure that delivers static content (copied from the origin server) to nearby users. Also called a Point of Presence (PoP).

A single CDN infrastructure simultaneously includes many active users, origin servers, and edge nodes.

What Happens Inside a CDN?

First, CDN nodes perform specific operations to manage the rotation of static content:

  • Caching. The process of loading copies of content from the origin server to a CDN server, followed by optimization and storage.
  • Purge (Cache Clearing). Cached content is cleared after a certain period or on demand to maintain freshness on edge nodes. For example, if a file is updated on the origin server, the update will take some time to propagate to the caching nodes.

Second, CDN nodes have several configurable parameters that ensure the stable operation of the entire infrastructure:

  • Time to Live (TTL). A timeout after which cached content is deleted from an edge node. For images and videos, TTL can range from 1 day to 1 year; for API responses (JSON or XML), from 30 seconds to 1 hour; HTML pages may not be cached at all. CDN nodes usually respect the HTTP Cache-Control header.
  • Caching Rule. A set of rules that determines how an edge node caches content. The primary parameter is how long the file remains in the cache (TTL).
  • Restriction. A set of rules on the edge node that moderates access to cached content for security purposes. For example, an edge node may serve requests only from nearby IP addresses or specific domains.

Thus, static content flows from the origin server through edge nodes to users, cached based on specific caching rules, and cleared once the TTL expires. Meanwhile, access restrictions are enforced on every edge node for security.

How Does a CDN Work?

Let’s see how a CDN works from the user’s perspective. We can divide the process into several stages:

  1. User Request Execution. When a user opens a website, the browser sends requests to CDN servers specified in HTML tags or within JavaScript code (such as Ajax requests). Without a CDN, requests would go directly to the origin server.
  2. Finding the Nearest Server. Upon receiving the request, the CDN system locates the server closest to the user.
  3. Content Caching. If the requested content is in the cache of the found CDN server, it is immediately delivered to the user. If not, the CDN server sends a request to the origin server and caches the content.
  4. Data Optimization. Content copies on CDN servers are optimized in various ways. For example, files can be compressed using Gzip or Brotli to reduce size.
  5. Content Delivery. The optimized and cached content is delivered to the user and displayed in their browser.

For instance, if a website’s origin server is in Lisbon and the user is in Warsaw, the CDN will automatically find the nearest server with cached static content—say, in Berlin.

If there is no nearby CDN server with cached content, the CDN will request the origin server. Subsequent requests will then be served through the CDN.

The straight-line distance from Warsaw to Lisbon is about 2800 km, while the distance from Warsaw to Berlin is only about 570 km.

Someone unfamiliar with networking might wonder: “How can a CDN speed up content delivery if data travels through cables at the speed of light—300,000 km/s?”

In reality, delays in data transmission are due to technical, not physical, limitations:

  • Routing. Data passes through many routers and nodes, each adding small delays from processing and forwarding packets.
  • Network Congestion. High traffic in some network segments can lead to delays and packet loss, requiring retransmissions.
  • Data Transmission Protocols. Protocols like TCP include features such as connection establishment, error checking, and flow control, all of which introduce delays.

Thus, the difference between 2800 km and 570 km is negligible in terms of signal propagation. But from a network infrastructure perspective, it makes a big difference.

Moreover, a CDN server in Berlin, finding no cached content, might request it not from the origin server but from a neighboring CDN node in Prague, if that node has the content cached.

Therefore, CDN infrastructure nodes can also exchange cached content among themselves.

What Types of CDN Exist?

There are several ways to classify CDNs. The most obvious is based on the ownership of the infrastructure:

  • Public. The CDN infrastructure is rented from a third-party provider. Suitable for small and medium-sized companies.
  • Private. The CDN infrastructure is deployed internally by the company itself. Suitable for large companies and IT giants.

Each type has its own pros and cons:

 

Public

Private

Connection speed

High

Low

Initial costs

Low

High

Maintenance complexity

Low

High

Cost of large-scale traffic

High

Low

Control capabilities

Low

High

Dependence on third parties

High

Low

Many CDN providers offer free access to their infrastructure resources to attract users. However, in such cases, there are limitations on:

  • Server capacity
  • Traffic volumes
  • Geographical coverage
  • Advanced configuration options

Paid CDN providers use various pricing models:

  • Pay-as-you-go. Costs depend on the volume of data transferred, measured in gigabytes or terabytes.
  • Flat-rate pricing. Costs depend on the chosen plan with a fixed amount of available traffic.
  • Request-based pricing. Costs depend on the number of user requests made.

Deploying your own CDN infrastructure is a serious step, usually justified by strong reasons:

  • Public CDN costs exceed the cost of running your own infrastructure. For example, high expenses due to massive multimedia traffic volumes.
  • The product hits technical limitations of public CDNs. For example, heavy network loads or a specific user geography.
  • The project demands higher reliability, security, and data privacy that public CDNs cannot provide. For example, a government institution or bank.

Here are a few examples of private CDN networks used by major tech companies:

  • Netflix Open Connect. Delivers Netflix’s streaming video to users worldwide.
  • Google Global Cache (GGC). Speeds up access to Google services.
  • Apple Private CDN. Delivers operating system updates and Apple services to its users.

What Problems Does a CDN Solve?

CDN technology has evolved to address several key tasks:

  • Faster load times. Files load more quickly (with less latency) because CDN servers with cached static content are located near the user.
  • Reduced server load. Numerous requests for static content go directly to the CDN infrastructure, bypassing the origin server.
  • Global availability. Users in remote regions can access content more quickly, regardless of the main server’s location.
  • Protection against attacks. Properly configured CDN servers can block malicious IP addresses or limit their requests, preventing large-scale attacks.
  • Traffic optimization. Static content is compressed before caching and delivery to reduce size, decreasing transmitted data volumes and easing network load.
  • Increased fault tolerance. If one CDN server fails or is overloaded, requests can be automatically rerouted to other servers.

The CDN, being a global infrastructure, takes over nearly all core responsibilities for handling user requests for static content.

What Are the Drawbacks of Using a CDN?

Despite solving many network issues, CDNs do have certain drawbacks:

  • Costs. In addition to paying for the origin server, you also need to pay for CDN services.
  • Privacy. CDN nodes gain access to static data from the origin server for caching purposes. Some of this data may not be public.
  • Availability. A site’s key traffic may come from regions where the chosen CDN provider has little or no presence. Worse, the provider might even be blocked by local laws.
  • Configuration. Caching requires proper setup. Otherwise, users may receive outdated data. Proper setup requires some technical knowledge.

Of course, we can minimize these drawbacks by carefully selecting the CDN provider and properly configuring the infrastructure they offer.

What Kind of Websites Use CDNs?

In today’s cloud-based reality, websites with multimedia content, high traffic, and a global audience are practically required to use CDN technology. Otherwise, they won’t be able to handle the load effectively.

Yes, websites can function without a CDN, but the question is, how? Slower than with a CDN.

Almost all major websites, online platforms, and services use CDNs for faster loading and increased resilience. These include:

  • Google
  • Amazon
  • Microsoft
  • Apple
  • Netflix
  • Twitch
  • Steam
  • Aliexpress

However, CDNs aren’t just for the big players — smaller websites can benefit too. Several criteria suggest that a website needs distributed caching:

  • International traffic. If users from different countries or continents visit the site. For example, a European media site with Chinese readers.
  • Lots of static content. If the site contains many multimedia files. For example, a designer’s portfolio full of photos and videos.
  • Traffic spikes. If the site experiences sharp increases in traffic. For example, an online store running frequent promotions or ads.

That said, there are cases where using a CDN makes little sense and only complicates the web project architecture:

  • Local reach. If the site is targeted only at users from a single city or region. For example, a website for a local organization.
  • Low traffic. If only a few dozen or hundreds of users visit the site per day.
  • Simple structure. If the site is a small blog or a minimalist business card site.

Still, the main indicator for needing a CDN is a large volume of multimedia content.

Where Are CDN Servers Located?

While each CDN’s infrastructure is globally distributed, there are priority locations where CDN servers are most concentrated:

  • Capitals and major cities. These areas have better-developed network infrastructure and are more evenly spaced worldwide.
  • Internet exchange points (IXPs). These are locations where internet providers exchange traffic directly. Examples include DE-CIX (Frankfurt), AMS-IX (Amsterdam), LINX (London).
  • Data centers of major providers. These are hubs of major internet backbones that enable fast and affordable data transmission across long distances.

The smallest CDN networks comprise 10 to 150 servers, while the largest can include 300 to 1,500 nodes.

Popular CDN Providers

Here are some of the most popular, large, and technologically advanced CDN providers. Many offer CDN infrastructure as an add-on to their cloud services:

  • Akamai
  • Cloudflare
  • Amazon CloudFront (AWS CDN)
  • Fastly
  • Google Cloud CDN
  • Microsoft Azure CDN

There are also more affordable options:

  • BunnyCDN
  • KeyCDN
  • StackPath

Some providers specialize in CDN infrastructure for specific content types, such as video, streams, music, or games:

Choosing the right CDN depends on the business goals, content type, and budget. To find the optimal option, you should consider a few key factors:

  • Goals and purpose. What type of project needs the CDN: blog, online store, streaming service, media outlet?
  • Geography. The provider’s network should cover regions where your target audience is concentrated.
  • Content. The provider should support caching and storage for the type of content used in your project.
  • Pricing. Which billing model offers the best value for performance?

In practice, it’s best to test several suitable CDN providers to find the right one for long-term use.

In a way, choosing a CDN provider is like choosing a cloud provider. They all offer similar services, but the implementation always differs.

Conclusion

It’s important to understand that a CDN doesn’t fully store static data; it only distributes copies across its nodes to shorten the distance between the origin server and the user.

Therefore, the main role of a CDN is to speed up loading and optimize traffic. This is made possible through the caching mechanism for static data, which is distributed according to defined rules between the origin server and CDN nodes.

Source