What it is a CDN? How to determine if a content delivery network is right for you
Post Author:
CacheFly Team
Categories:
Date Posted:
August 5, 2010
Follow Us:
No matter the ultimate goal of your business, whether you are creating the next massively multiplayer online role-playing game (MMORPG) or the next must-read blog, delivering content to your users quickly and efficiently is crucial. The difference between the best- and worst-rated websites on the Internet today is often determined by speed—users will judge your website based upon how long they have to wait for content to load.
In the race to offer the best service to your customers, take the time to answer this very important question: What is a CDN? While content delivery networks (CDNs) have existed for 15 years, only in light of HTML 2.0 have they become increasingly practical.
In a typical client–server model, the user is subject to the fragility of the data link. Content is only hosted on one server, which may be busy or unavailable at the time a user requests it. In this set-up, there is no way to guarantee that content will be downloaded quickly, completely and without fear of packet loss each time a customer requests it. There is also no way to ensure that your server will be located locally to your customer. A CDN configuration can help resolve the shortcomings of the client–server link, efficiently and affordably.
What is a CDN?
A CDN provides a way to master distribution of your media in a cost-effective and controlled manner. In its most simplistic definition, a CDN is a managed network of servers, each hosting a copy of your media and scripts, that connects users to the fastest and most conveniently available server. A CDN is an application service provider that offers the end-user access to bandwidth-intensive static content in a manner that is distributed and balanced. This ensures that the user has access to the requested assets fast, and that dynamic content can be quickly populated.
Perhaps the most well-known example of the use of a CDN is the video-hosting website YouTube. YouTube is able to transmit massive amounts of video content because it uses a CDN. When a user uploads a video to YouTube, it is stored in the website’s central server. When another user requests to view the video, the server located closest to him will download the video and stream the content. This means that the next person located nearby that requests the same video will not have to wait, as the content is now cached and ready to stream.
Traditionally, CDNs boost website performance by offloading and separating the cacheable static content—such as CSS and JavaScript files, images, videos, and audio streams. A game provider, for instance, can distribute a smaller installation package and minimize the ability to hack by hosting the game assets remotely from the end user. An online music service can offer low-latency service by streaming from local servers, and video-on-demand providers can prevent bottlenecking—the sudden lack of available bandwidth that happens when too many users access the same resource at the same time.
Benefits of a CDN
Typically, a CDN is used in situations where high content flow is essential. Under normal conditions, a browser will only allow a set number of media files to be downloaded from a single domain simultaneously per user. Since CDN files are hosted on different domains, a browser is able to download more files at the same time. Transmission speed from the server to the end user is a factor of the latency of the delivery network and the maximum transmission control protocol (TCP) window size of the end user’s operating system. As the TCP size is a system setting, the only controllable factor is latency.
Transmitting many packets internationally can lead to a high rate of latency. Greater distance can lead to dropped packets, data distortion or the wholesale corruption of the file. To service end users in China or Australia downloading content from the United States, for example, it may be practical to have a data center with a shorter transmission path available.
A CDN can also provide your business with increased security. In the case of a client–server connection, anything that interferes with this pathway will break the flow of content. Through a CDN, the end user will access the most readily available server. If the CDN is designed so that traffic for the end users can only originate or terminate at its servers, the loss of service to that server—from a power outage, telecom failure, or even a distributed denial-of-service (DDoS) attack—would not mean that your web service would be offline. A well-designed CDN would instead re-route the traffic to available servers with little noticeable change in latency.
Choosing the right CDN provider
In choosing a CDN provider, you should ask several questions:
- How reliable and fast are the provider’s servers?
- How many servers does the provider operate, and where are they located?
- Can the provider offer 24/7 customer support, FTP uploads, real-time CDN usage statistics and the ability to override browser caching headers?
- Does the provider offer Origin-Pull, gzip compression and custom CNAME for secure web pages?
- Does the provider offer dynamic content hosting?
It is important to establish your requirements before attempting to purchase a solution. The best way to approach this is the MoSCoW method: determining 1) what you must have, i.e., what is absolutely needed to make your content delivery scheme work; 2) what you should have, i.e., high-priority items that should be included in the solution if possible; 3) what you could have, i.e., determining what is desirable but not necessary; and 4) what you won’t have, i.e., requirements that can be passed on for the time being.
By taking the time to determine your business’s needs first-hand and discussing your plan with a solutions advisor, you can cost-effectively determine how a CDN can help you leverage the power of the Internet—giving your customers the best possible user experience.
Image source: Flickr
Product Updates
Explore our latest updates and enhancements for an unmatched CDN experience.
Book a Demo
Discover the CacheFly difference in a brief discussion, getting answers quickly, while also reviewing customization needs and special service requests.
Free Developer Account
Unlock CacheFly’s unparalleled performance, security, and scalability by signing up for a free all-access developer account today.
CacheFly in the News
Learn About
Work at CacheFly
We’re positioned to scale and want to work with people who are excited about making the internet run faster and reach farther. Ready for your next big adventure?