What is a CDN?
A CDN (Content Delivery Network) is a network of edge servers that provide optimized distribution or delivery of online content. The location of a group of servers is referred to as a PoP (Point of Presence), and each CDN PoP services the users in the geographic area it is placed. This widely distributed and optimized network of edge servers work together to improve the speed and efficiency of content delivery by transmitting data over a private global backbone, bypassing much of the congested public and internet service provider (ISPs) networks.
What are the Key Benefits of a CDN?
The primary goal and benefit that many people think of when it comes to CDN is speed. Speed is and has always been an important benefit of a CDN, but the benefits and capabilities of a good CDN go well beyond just delivery speed.
Speed is improved not only through the design, distribution, and capacity of the CDN, but also the intelligence and optimizations built into the network. Speed is a key benefit as it is known to have a significant impact on bounce and abandonment rates, as well as the overall user experience. Often speed is measured in response time, which is the amount of time it takes for the server to receive a request and start delivering the requested content.
Cost Reduction is another important benefit of using a CDN. Content delivery networks reduce the amount of data and bandwidth consumption required to deliver content by servicing requests from edge servers (content that is in the cache) and lowering the burden on the client’s origin server. By essentially renting bandwidth availability from the CDN, companies also save on the hard costs of owning and maintaining their own infrastructure which may go under-used or may result in revenue loss when traffic spikes require more bandwidth than is available.
Scale is equally important to speed. No CDN can deliver quickly and reliably without the ability to scale and handle large volumes of traffic. Without a CDN, a large spike in traffic may cause your server to crash or stop responding. A CDN can generally handle any amount of traffic without slowing down end-users, which takes the load off of the origin server and reduces instances of downtime.
Security has not traditionally been associated with CDN, but it’s become an area of opportunity and increased focus within the CDN industry in the last few years, especially with the massive growth of the internet of things (IoT). Learn how the internet of things is changing cloud security. A CDN provides redundancy, helps protect the origin server and content, and may mitigate or prevent common cyber-attacks, such as Distributed Denial of Service (DDOS) attacks.
How Does a CDN Work?
With the growth of the internet, much of the content produced today is accessible from anywhere in the world. However, when content is not delivered through a CDN, each request is handled by a single origin server. Servicing all requests from the origin places a tremendous burden on your origin server and leaves your content/server more open to hacks and other vulnerabilities. In particular, not using a CDN creates a real issue when content is being assessed by a widely dispersed audience, like the case of users in New York or Tokyo requesting content from an origin server in San Francisco. In these situations, each asset must be transmitted from across the country or from across the world, which causes users to experience a longer load time due to higher network latency.
What is Network Latency?
Latency refers to the period of time it takes to send a request from a device to the cdn server, for the server to process the request, and for the server to respond to the device (also referred to as round trip time). Round trip time (RTT) is measured in milliseconds and is an important metric in evaluating the performance of a network connection. One goal of a CDN is to get RTT as close to zero as possible. Two of the major factors that affect this time is the total physical distance between the server and the end users, as well as the number of hops (or changes from one network to another) required to transmit the data from the end user to the server and back. Increased physical distance typically leads to a greater number of hops. Without a CDN, data has to pass through more hops on the open internet, where it is then processed during each network change on each leg of the trip. Latency and RTT is reduced when, (1) the physical distance between the device and server is shortened, (2) excess capacity is continuously available to accommodate traffic surges, (3) servers are optimized to process responses quickly and have security features to mitigate attacks, (4) the number of required hops is minimized, and (5) the network is well maintained and up-to-date to allow fast connections and congestion avoidance.
A CDN takes the data or content from an origin server and caches or replicates that data across its entire global network of servers or in the regions you specify (learn more about content caching). All of these servers are linked together to allow content to be pulled or pushed from the origin to an edge server or from one edge server to another, getting the content to the user quickly, reliably, and securely as possible. A well-developed CDN has strategically placed points of presence all over the world to ensure that content is always physically closer to the content consumer no matter where a user is in the world. When a user requests content, it is sent locally, rather than the origin server where the data first originated. By localizing servers and operating on a private network, a CDN reduces network hops, packet losses and latency.
While a CDN cuts through a great deal of the network congestion a user would otherwise experience, it doesn’t hand-off content directly to the end-user. Between the edge server and the end-user is what’s known as the last-mile, which is controlled by each user’s ISP. A well-developed CDN will consider both proximity to users and the locations of major internet exchange points (IXPs) in the strategic placement of PoPs. IXPs are physical infrastructures developed to facilitate the exchange of internet traffic between different network operators, including internet service providers and content delivery networks. Another way CDNs can exchange traffic from one network to another is through a process known as peering. Peering is when two networks connect and exchange traffic directly, handing off traffic between one another without using an intermediary to exchange the traffic for them.
By tapping into IXPs and peering with last-mile networks, a CDN can considerably improve interconnectivity and speed, while reducing latency and hops. A well-developed CDN will strategically place PoPs to deliver content as close to the edge as possible, offering the most control over the user experience. You will need to consider where your current and future consumers might be and analyze a perspective CDN's footprint to ensure that PoPs are located in the right locations to reach your markets effectively.
Additional Considerations when Choosing a CDN
It may seem like CDNs are no more than a physical network of servers, but not all CDN services are designed and operated the same. Beyond the hardware are a number of factors that influence how effective a CDN will be at meeting your content delivery needs. Many CDNs have a specific focus or expertise in delivering certain types of content (E.g., static content, dynamic content...). Consider the ability of different CDNs to work with your internal network and existing systems through APIs and developer-focused controls and user interfaces. Other key considerations may include each CDN's pricing model and customer support. A good CDN will provide advanced analytics to show not only your content delivery performance but also the health of the overall network. This should include real-time network latency statistics so you know what’s going at all times.