What Are Cdns?

What Are Cdns?

A walkthrough CDN and how it evolved.

Working with developers, you probably will see them suggest you learn CDNs. What do they do? What are they? What do they help you achieve. Listening to various people, the word speed will standout. The web encountered challenges of being unavailable when the demand was more than what the infrastructure could handle. The web servers could not serve a huge traffic and would be unavailable due to the strain hence a couple of approaches were tried out before CDNs

What are CDNs?

A Content Delivery Network(CDN) is basically a network of distributed servers that mirrors and caches content of origin server. A content creator say, a news network has its origin server but its audience is distributed across the globe. A CDN provider comes in to take the load of distribution at a cost.

Parties involved:

  • A content provider
  • CDN provider
  • End user

The content provider wants to reach the user. They want the content to reach the user efficiently hence they hire a CDN provider to ensure the content is delivered efficiently.

What is content?

This is any digital resource(encoded media and metadata)

Content is mirrored in different servers to achieve delivery to users. This done to improve the QoS(Quality of Service) through:

  • Maximizing bandwidth
  • Improving accessibility of content
  • Maintain correctness

CDNs functions

  1. Distribution of content
  2. Management through monitoring reports and network usage
  3. Sending user's requests to the nearest servers

Some CDN providers include:

  • Stack path
  • Sucuri
  • Cloudflare
  • Key CDN
  • Google Cloud CDN
  • Amazon

General Architecture

Content Delivery Components

This is the origin server and a set of replicate/surrogate servers.

Request-routing-components

Clients requests are redirected to web servers that are near them.

Distribution Component

Movement of content from origin servers to edge servers.

Accounting components

Records usage for billing

Services offered by CDN:

  • Storage and management of content
  • Distribution of content
  • Managing cache
  • Delivery of content
  • Backup and recovery
  • Monitoring
  • Reporting

Challenges

The challenges in CDNs revolve around price due to:

  • Bandwidth usage
  • Variation of traffic distribution
  • Size of replicated content
  • Loss of confidential data to outsourcing

Approaches before:

  • Improving the web server hardware like building high speed processors, increasing memory and disk space.
  • Caching proxy deployment by an ISP(Internet Service Provider)
  • Deploying different levels of cache at geographically distributed locations(hierarchical caching )
  • Server farms that led to CDNs in 1990 to solve the problem of cost on delivery of content to a large audience.

The first generation of CDNs was focused on static and dynamic web documents. The second generation was focused on video on demand, news on demand, audio and streaming.

  • Data grids
  • Distributed databases
  • Peer to peer(P2P) network eg torrents

    Business goals

  • Scalability by handling large amounts of data and acting as shock absorbers for sudden traffic that would otherwise cause failure.

  • Security through stringent requirements in the physical network, software, data and procedural security. This is to prevent unauthorized access and modification.

  • Reliability, Responsiveness, and Performance through delivery of content from multiple locations, caching and efficiency in delivery hence high performance on end users.

CDNs are core to the web and improvements are continually made. Optimization of content is at the center of web as everyone is aiming for performance, reliability and security. Cloud computing is a wave that swept the web and is continually changing.