Content Delivery Networks (CDNs) are a crucial part of any internet business strategy. At GlobalDots we analyze, implement and maintain CDNs for variety of companies, from Fortune 500 to startups and small-to-medium enterprises. Since the topic is broad and many of our customers ask very specific questions, we decided to put together this resource page for everyone to learn more about CDNs. We hope you’ll enjoy this article – feel free to share it with your colleagues

Chapter 1: Content Delivery Network Explained

A Content Delivery Network (CDN) is a globally distributed network of web servers whose purpose is to provide faster delivery, and highly available content. The content is replicated throughout the CDN so it exists in many places all at once. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, in order to avoid bottlenecks near that server.

how_cdn_works


Image Source

To put it more simply, the purpose of a CDN is to improve user experience and provide it with a more efficient network resource utilization. Content providers such as media companies and e-commerce vendors pay CDN operators to deliver their content to their audience, that is, end-users. In turn, a CDN pays ISPs, carriers and network operators for hosting servers in their data centers. There are two key mechanisms that explain how CDN functions:

  1. Keep important content distributed  to multiple, globally distributed data centers so it is closer to end users, and thus faster to download.
  2. Use server optimizations based on content type to get that content to the user most efficiently.

Other than better performance, CDNs also offload the traffic served directly from the content provider’s origin infrastructure, resulting in possible cost savings for the content provider. They are also effective against DDoS attacks, since they provide their own large distributed server infrastructure to absorb the volume of the attack, but we’ll explain that later.

Location is a big deal. And the traditional problem is that all content is in one location, meaning that the further away the end user is from the server with the content, the lesser the user experience will be. If a content from a certain website is stored in a server located in New York, for example, end users from China will have a  significantly lesser user experience and a longer page load than the end users in Philadelphia. Due to the laws of physics,  the content will simply take longer to get there.

Most CDN architectures are constructed from a number of key components:

  • Delivery Nodes – primary purpose is delivery of data to consumers. It contains caches running one or more delivery applications; these tend to be deployed as close to the edge (near the consumers) as possible.
  • Storage Nodes – primary purpose is providing data to caches, these can be deployed in a hierarchical model to allow tiered caching and protection to any origin servers. These nodes can also be used where pre-publishing of content is required rather than content being acquired on demand from origin servers.
  • Origin Nodes – these are the master sources for content and can be deployed within the operator’s network (on-net) or more commonly within a content owner’s infrastructure. A number of origins will be provided for scale and resilience.
  • Control Node – primary purpose is to host the management, routing and monitoring components of a CDN. This will be typically the integration point into any OSS/BSS systems and Network Operations Centres.

CDN nodes are usually deployed in multiple locations, often over multiple backbones. Benefits include reducing bandwidth costs, improving page load times, or increasing the global availability of the content. The number of nodes and servers making up a CDN varies, depending on the architecture, with some reaching thousands of nodes with ten thousands of servers on many remote points of presence (PoPs). Others build a global network and have a small number of geographical PoPs.

cdn nodes


Image Source

There are 3 primary types of content:

  • Dynamic content: content generated on the fly by the web server using any of several common web programming languages such as php, ruby or java.
  • Static content: content that typically does not change very often and does not require generation. Images, CSS, and JavaScript, etc.
  • Streaming content: videos or audio files that are played via a web browser control.

Each of these varies in size. How long it takes for individual bytes of data to travel from the server at the point of origin to the end user is known as “latency”, measured in ms (milliseconds). Fast web content means low latency. The latency factor is even a bigger deal when it comes to mobile web browsing. Mobile content delivery requires a much better and a more aggressive optimization strategy. There have been a number of studies from Yahoo, Google and others that show that as much as a 10% drop in conversion rates per each additional second of page load time; loses time and time is money. CDN’s were developed to help solve both of the above mentioned issues. Latency is greatly reduced, and content is delivered in a more optimal fashion.

Chapter 2: Web Performance Optimization Explained

A great user experience is everything when it comes to running a website. At one hand, the user expectations are huge; the site should provide interactivity, media and info, but on the other hand, the Internet is growing, making it harder and harder to provide a great user-friendly website.

Web performance or website optimization simply means optimization of the speed of web elements (pages, images, other file formats etc.) which are downloaded or displayed on the user’s web browser.

web performance optimization


Image Source

Performance has a direct impact on your website revenue, metrics influence brand perception, loyalty and visitor engagement. In a mobile-first world, where according to RadWare research, 26% of total ecommerce sales by 2017 will be done via smartphones, one cannot ignore performance issues. Consider the patience of your customers; the majority of Americans are said to wait in line (in a real shop) for no longer than 15 minutes. However, on the web, 1 out of 4 customers will abandon a webpage that takes more than 4 seconds to load.

Walmart reported huge improvements in revenue and conversion rates by applying web performance principles, as pictured below.

Rate speed
Tweet this: For every 1 second of improvement WalMart experienced up to a 2% increase in conversions
Tweet this: For every 100 ms of improvement, WalMart grew incremental revenue by up to 1%

There are so many benefits of user performance but here are the top 3 reasons why you should care about maximum performance and top speed:

  1. User satisfactionLong load time equals high bouncing rates. The bounce rate is an important factor that any website owner should ALWAYS take into account. In simpler terms, it’s when a user visits your website and rather than continue viewing other pages within the same site, leaves. It is considered as one of the most important measures of effectiveness for a website.Considering the improved technology of today, a website with simple content should completely load within 2 seconds. Loading time is crucial since it directly affects the satisfaction or dissatisfaction levels of your visitors, and therefore your page revenue. In other words, time is of the essence!
  2. Improved search rankingsSince April 2010, Google started to take load time into account when ranking sites. Of course, Google’s algorithm uses much more factors that determine how to rank search engine results, but the page load speed is taken into account and should be a priority. Improving your page load time is an effective way to help visitors get where they are going faster, and it helps you stay on top of the search results which is the best way to get spotted by potential users. Page speed matters now, more than ever. Whether your customers are there for a pretty interface, clear privacy policies, for the best bargain, or simply because they have found exactly what they were looking for, they had to get there in the first place, and quickly. If you could cut that path to your website even shorter, and this is a matter of milliseconds, you could convert more visits to actual orders.
  3. Mobile usersMobile users are more patient than computer users, main reason being is that they’re used to having slower internet speed. But considering today’s connection speeds, loading time for mobile is an important factor. As you may presume, things are different for mobile devices (including tablets) even though fixed connections are enough to not cause too many problems for website loading time. Mobile page optimization is more important than ever, since web browsing is now mainly done via mobile devices.

In fact, here are three crucial points to Google’s mobile customer experience swing:

Tweet this: 93% of users who research a product or service on mobile device actually buy products.
Tweet this: 66% of e-mails are opened on mobile devices.
Tweet this: The amount of shoppers who made a purchase on a mobile device increased 2.5x from 2009-2014.

An advantage of 250 milliseconds of page load time, according to recent research, is what keeps your customer from going to a competitor. By choosing CDN over standard hosting, you ensure that the content is delivered from a server located closest to the end user. This will also save you money on buying additional hardware and software for the server.

loading


Image Source

Here are some other amazing performance optimizations done by other web giants:

Tweet this: Shopzilla speeded up average page load time from 6 seconds to 1.2 seconds, & increased revenue +12% & page views +25%.
Tweet this: Yahoo increased traffic by 9% for every 400ms of improvement.
Tweet this: Mozilla got 60 million more Firefox downloads/year, by making their pages 2.2 seconds faster.
Tweet this: Advantage of 250ms of a page load time keeps your customer from going to your competitor.
Tweet this: Amazon and Walmart increased revenue by 1% for every 100ms of better page load time.