Most websites and applications that people interact with every day are run out of one physical location, but content on the site or application (like images, text, and video) still needs to travel over wires to the entire world.
It works like this: if a website’s servers are based in New York City, people in Boston will get the content faster than people in San Francisco or Tokyo. The farther away customers are from a company’s data center, the slower the website or application loads — creating an inconsistent and frustrating user experience.
Lag times of any length frustrate web and mobile users accustomed to real-time digital experiences. According to LoadStorm:
25% of users will abandon a website that takes longer than four seconds to load.
74% of users will abandon a mobile site that takes longer than five seconds to load.
46% of users won’t return to a poorly performing website.
This problem can be fixed with a content delivery network (CDN).
What is a CDN and how does it work?
A CDN is a way to deliver content from your website or mobile application to people more quickly and efficiently, based on their geographic location. A CDN is made up of a network of servers (“points of presence,” or POPs) in locations all over the world.
The CDN server closest to a user is known as the “edge server” — when people request content from a website served through a CDN, they’re connected to the closest edge server, ensuring the best online experience possible.
You can cache (temporarily store) your content on a CDN so it’s delivered from the edge to your end users much faster than if it had to be delivered all the way from the origin. If you use a CDN, it means that if someone tries to access content from your website or mobile app, then that person’s request for content only needs to travel to a nearby POP and back, not all the way to the company’s origin servers and back.
CDNs also purge (remove and update) content constantly, so that the most current, relevant content is delivered. Also known as content invalidation, purging allows businesses to update content when necessary.
Some of the benefits of using a CDN for your website include:
Faster load times for web and mobile users
Quickly scalable during times of heavy traffic
Minimizes risk of traffic spikes at point of origin, ensuring site stability
Decreases infrastructure costs due to traffic offloading (less load on origin)
Better site performance
Modern CDNs vs. traditional CDNs
CDNs have been around since the late 1990s, but traditional CDNs often lag behind advancements in hardware and technology, and can’t provide the same benefits as a modern CDN. Often, these legacy CDNs are not built in agile software environments, where the company is constantly iterating on products, incorporating customer feedback, and improving the product. These CDNs have been around for five or more years without much change.
Purging static and dynamic content
Dynamic content, on the other hand, includes frequently changing content that requires server logic — credit card transactions or updates to an individual shopping cart on an ecommerce site, for example. Dynamic content is often categorized as “uncacheable” because it has to be passed through an origin server due to the sensitive nature of the data.
This is true, to some extent. There’s a large portion of dynamic content that can be cached — content that doesn’t include personal data but is still unpredictable and frequently changing. This dynamic content is event-driven — based on an action from either a human or machine. Think stock prices, user-generated comments on an article, news headlines that need to be updated instantly, or sports scores. Most CDNs treat this content as “uncacheable,” as they would with other dynamic content, but it can actually be cached. Learn more about how modern CDNs cache dynamic content.
Traditional CDNs can offer their clients only so much real estate at the edge, due to the fact that they mostly rely on spinning hard drives. That means they have to prioritize which content is cached at the edge, and which is cached further in. This often means that larger websites are given priority over smaller websites.
Alternatively, modern CDNs are built on a large network of solid-state drives (SSDs) and can cache all content at the edge, so all customers get the benefit.
Another major benefit of modern CDNs is reverse proxying. With traditional CDNs, customers are expected to upload their content directly to the cache servers the first time. Modern CDNs fetch and store content from the customer’s origin server as it’s requested, so there’s no need to front load the cache servers.
Websites using traditional CDNs are often forced to keep dynamic content on the origin server, which can lead to traffic spikes and slow performance, defeating the purpose of having a CDN in the first place.
Who can benefit from using a CDN?
Anybody who has a website or mobile application that’s likely to be requested by more than one user at a time can benefit from a CDN, but CDNs are especially useful to large, complex websites with users spread across the globe, and websites or mobile apps with lots of dynamic content.
CDNs offer many specific benefits to different types of businesses and organizations, such as:
Ecommerce. A CDN helps ecommerce sites deliver content quickly and efficiently even during times of heavy traffic, like Black Friday and the holidays.
Government. Large, content-heavy websites can deliver vital information to citizens much more quickly and efficiently by using a CDN.
Finance. CDNs provide banking institutions with a fast, secure, and reliable infrastructure to deliver sensitive data to consumers and analysts.
Media / Publishing. Media websites need to deliver timely and up-to-date information, and a CDN can help media companies update headlines and news homepages as stories unfold in real time, and remove data as it becomes outdated.
Mobile apps. A CDN delivers dynamic location-based content for mobile apps, reducing load times and increasing responsiveness.
Technology and SaaS. A CDN helps technology websites serve billions of requests a day to web users without decreasing performance.