Content Delivery Network – What You Really Need To Know
Given the fact that performance industry is ever changing, this blog post will use as a Q&A we get from many of our customers wanting to know details and specifics about CDN, cloud and other performance technologies.
What is a Content Delivery Network CDN?
Using a Content Delivery Network (CDN) hosting instead of a standard hosting means that you will load some of the traffic to cloud based servers in data centers strategically located in different regions of the world. The servers from a data center closer to the end user will always be triggered, so the content reaches him faster.
CDNs are basically surrogate web servers distributed across different data centers in different geographical regions to deliver content to end-users, based on proximity of this user. They help global availability of a website, address the latency problems and gain size, i.e. reduce bandwidth.
How can my site benefit from CDN?
A CDN hosting system offers a cost-effective solution for an online vendor, or an e-commerce owner, a content provider etc., to keep his customers satisfied at all times no matter how many objects they are downloading from a page, or where they are in the world. It immediately means the faster performance of a hosted website and a better security from hacker attacks.
This is because CDNs maintain multiple Points of Presence, i.e. servers store copies of identical content and and apply a mechanism that provides logs and information to the origin servers. Instead of a standard client-server communication, two communication flows are used. Between client and the surrogate server, and then between the surrogate server and the origin server.
What kind of problems CDN solve
Implementing a CDN affects everything, from your internal architecture to the cost of your IT staff, performance management and more. True power of a content delivery network is yet to be revealed in future decades, as it soars by 20% each year, but so far, the major advantages of using one are:
- significantly reduced page load time of your website
- increased revenue by 1% for every 100 ms of improvement to your page load time
- retaining more customers (they are more satisfied)
- more manageable traffic
- maximum availability of your product
- more secure network
- no geographical barriers
- easy delivery of video, audio rich content
- build more interactive website at no cost of losing visitors due to latencies
- reaching mobile customers with ease
- branching out to new markets, regions
- easy management of traffic peaks
- more scalability to your business, you can grow it as much as you want to
- less or now downtimes
- setting your own criteria to enable the best possible performance for your website
How can I implement CDN?
More than 90% of business owners now realize the benefits of using the cloud, the reliability of the cloud and cloud investments keep them on top of the market and safe against competitors. Implementing a CDN to the cloud gives them even more market opportunities, helps them scale their business as much as they need to, and pushes them to keep up with technological revolutions.
There are no general rules to how to implement CDNs since each type of CDN has its own configuration process. What is important is that YSlow recognizes the CDN and for blogs you may even use plug-ins.
How much does a CDN cost?
The usage of Content Delivery Networks (CDNs) is rapidly growing in the era of mobile and app-based internet. The effort to simplify navigation and improve user experience is taken both by vendors and network operators. The speed of a website affects everything, from infrastructure to cost of an e-commerce. With CDNs, the data is served to the end-user from the surrogate server located nearest to him.
A CDN replicates content from the origin server to cache servers, scattered over the globe. Renting such service from a CDN provider has proved to be much simpler and more cost effective than maintaining an on-premise server of your own. Also, the content that the vendors provide is seeking to be highly interactive, and the varying round-trip of the content/data needs to be optimized, the latency minimized.
Of course, the value measured will depend on the type of the service provided, on whether you are a vendor/content owner, or a CDN service provider. For the content owners, basically two questions need to be answered to find where the value of their CDN implementation lies:
- how does it improve overall retail service delivery?
- how does it support their efforts to win/retain customers?
There are many different stakeholders in the CDN market, like content providers, content makers, data centre providers, Internet Service providers (ISPs), Internet access providers, Internet backbone providers, CDN providers, advertisers, and so forth. As the market dynamics continue to evolve, so will evolve the profiles, the merging trends, and price strategies of different stakeholders.
A list of CDN providers can be found here.
In 2012, according to StreamingMedia research 317 customers spent less than $100K per year on CDN. For customers spending under $100K per year, Amazon dominates with more than half the contracts, followed by EdgeCast, Limelight, Level 3, Highwinds and those who buy CDN services via third-party resellers. The current trend for prices is that they are in decline.
What is POP?
POPs (also, points of presence, edge caches) are distributed servers where static resources are stashed across a region or worldwide, thereby bringing resources closer to users and reducing round trip time.
Is there anything else I can do to speed up my website?
The options to make your website faster, split in two major categories:
- speeding up your browser side technologies (browser caching, minifying page elements, minimizing redirects)
- speeding up by using some of the acceleration technologies (Content Delivery Networks, dynamic CDN, media streaming)
Below are some tips.
- Use the optimal formatting for images: JPEG’s are for photographs, GIF’s are for low color images/flat color images, and PNG’s are for everything else. Also, try and adjust the image size yourself, i.e. set the width and height (width=’60px’ height=’30px’). Use web tools for image optimization (such as Riot, ImageOptim). Don’t store everything locally, try using services like Flickr.
- Minimize redirects. Each redirect creates an additional HTTP request and adds RTT (round-trip-time) latency. Use redirects only when absolutely necessary. The more redirection you have, the slower the end user will get to the desired page.
- Reduce DNS Lookups. It takes some milliseconds for DNS (Domain Name System) to resolve an IP address for a given hostname or domain name. The browser cannot do anything until the process is fully completed. Ideally, you should use no more than 4 hostnames. This will also allow for a higher degree of parallel downloads.
- Set up a GZIP compression on your web server. It saves bandwidth and solves problems with older browsers. The compressing options vary depending on the server.
- Employ media streaming methods. Real-time protocols will read compressed files to deliver data as it arrives. And dismiss the data once it has been streamed. The option to stream media will allow faster views, and compression/decompression methods will dispose of all the unnecessary data that would otherwise clog your connection.
- Don’t forget to run a website speed test first. In this way, you will know more precisely which components need to be targeted first. There are many tools that can detect the root cause of your website being not fast enough, such as YSlow, Pingdom, WebPageTest, Cuzillion, Wireshark, HTTP Archive, PageSpeed and so on.
Is CDN useful for every site?
The first rule of e-commerce says that if the customer cannot find your product/service, he cannot buy it. The number of web shoppers in US alone in 2011 was said to be 178,5 million and is to reach 200 million by 2015 (source: eMarketer) which will equal 90% of all internet users in US. Now, to consider the patience of your customers. 1 out of 4 customers is sure to abandon a webpage that takes more than 4 seconds to load.
So, yes, improving performance is absolutely a must for every website except if the content is hosted locally and their users are local, in that case CDN doesn’t make that big of a difference.
What can I expect as a result of using a CDN?
Faster websites result in better user experience, better search engine rankings and more conversions. 1 out of 4 visitors won’t wait for the page to load for more than 4 seconds. The ideal is to find balance between neat performance and indulging the end users’ desire for interactivity, delivering script intensive content.
CDNs help with major performance problems on the server-side, mainly latency, availability and bandwidth.
Is CDN a cloud?
The development of CDN networks sought to deal with extreme bandwidth pressures, first as video streaming was growing in demand as well as the number of content providers. That was in the past. Now, CDNs are a continual trend, with the emergence of cloud computing, improving all the layers of cloud computing:
- SaaS (Software as a service), e.g. Google Docs
- IaaS (Infrastructure as a service), e.g. Amazon
- PaaS (Platform as a service) e.g. Google App Engine
- BPaaS (Business Process as a service) e.g. advertisements, payments
However, CDNs are not “the cloud” as this is the umbrella term for all the remote computers owned by companies that run applications, store data, offer platforms etc. CDNs are content delivery networks, a worldwide network that stores static files such as video, pictures and pages that don’t change. It’s faster to load such files from somewhere locally which causes the page load improvement.
CDN would require actual server to be placed on different places around the world, and cloud computing would require large amount of hardware resource to provide as service.
Does CDN solve security issues?
Since CDNa use surrogate servers located across different data centers in different regions around the globe, this scattered infrastructure provides a more secure network.
CDNs are known to absorb less-sophisticated DDoS attacks, simply with bandwidth. With CDNs, you gain the advantage of – size. The overload caused by DDoS attack is processed on different PoPs according to their origin, which helps to prevent server saturation.
Many CDN providers will also block threats and limit abusive bots and crawlers from wasting your bandwidth and server resources. This will result in the decrease of spam and hack attacks. Again, this depends of a service that your CDN provider is offering.
What is a difference between CDN, dynamic site acceleration, video delivery, mobile delivery, multi-CDn, cloud?
- A content delivery network (CDN) is a system surrogate web servers distributed across different data centers in different geographical regions to deliver content to end-users, based on proximity of this user.
- The dynamic content of the World Wide Web 2.0 needs to get out there faster, and remain personalized. Personalized content as well as real-time info can not be cached. Moreover, the emergence of cloud layers such as SaaS (Software as a Service), and PaaS (Platform as a Service) and so on, require more efficient models of delivering online content. Besides caching. This is why Content Delivery Networks (CDNs) include Dynamic Site Acceleration services.
- Sometimes, using more than one CDN provider is advised because CDN providers perform differently in different geographical regions, and not all CDN providers are reliable as others. This is known as multiple content delivery network or multiple CDN, multi-CDN.
- Content Delivery Network platforms for the delivery of video and multimedia content acceleration, are on the rise. The new emerging technologies are busily developed and discussed among all the stakeholders – video content owners, service providers, telecom carriers and industry vendors. All are struggling for a flawless delivery of clips and video streams all over the world, at any time, as the user becomes more impatient, more mobile, more critical of services provided, and more picky.
- Finally, mobile is the defining change in industries, building websites with a responsive design. The shift towards a mobile and app-based internet is rapidly changing the role of the CDN. Today, content delivery network for mobile delivery must be highly customized to further maximize the end user experience.
- The term “cloud” stands for a set of remote computers that run the applications, store the data, and use a server system, and are owned by companies. The real storage and the software thus does not exist on your computer, but exist instead – on the cloud.
- The most popular services of the cloud are that of either infrastructure, platform, software, or storage and are largely improved by CDNs.
How should I select my CDN vendor?
As CDN performance primarily depends on geographical location and the proximity of POPs to end-users, you should locate your users first. Also, you should know who your regular user is, define the type of content you are delivering, your business model and what specific requirements you need in order to become more successful.
Knowledge of your specific needs is crucial as performance fluctuates among CDN providers. With this information you make a request for proposal and go through the feedback the CDN or service provider gives you. It is important that you get an idea of:
- how will network performance be measured
- what chances there are for outages and how will you be compensated
- if the provider will charge overages
- what is indeed supported in terms of delivery
What if I don’t see any results?
Providers of Content Delivery Networks (CDNs) vary in service. Some will perform better in China, some in US, some in Australia. Some will include one feature, but not the other. And you’ll want to be on the right cloud at the right time.
CDNs are known to provide a more secure network, reduced loading time of your page, manageable traffic, maximum availability, and so on. An irreplaceable tool that will improve the entire technological infrastructure that backs up your business. Whether you are in e-commerce business, or your website is supposed to deliver various audio, video rich content.
Using multiple CDNs is smarter than using one CDN because:
- CDN providers perform differently in different geographical regions
- Not all CDN providers are reliable as others
- Not all CDN providers include same features and strategies as others
- You don’t need to switch CDN providers as this process becomes automated
For for a comparison of CDN providers performance you can check a CDN cloud test that CloudClimate company performed here.
What industries see the best results with CDN?
Take an example of Walmart. When they found out they were not the fastest retail site on the internet, compared to EBay, Amazon etc., they have decided to overhaul their site speed.
As a result:
- For every 1 second of improvement they experienced up to a 2% increase in conversions
- For every 100 ms of improvement, they grew incremental revenue by up to 1%
Giants like Amazon, Shopzilla, Yahoo, AoI and mozilla all did the same, and made their results available.
Shopzilla speeded up average page load time from 6 seconds to 1.2 seconds, and increased revenue by 12% and page views by 25%. Amazon increased revenue by 1% for every 100ms of improvement (same as Walmart). Yahoo increased traffic by 9% for every 400ms of improvement. Finally, mozilla got 60 million more Firefox downloads per year, by making their pages 2.2 seconds faster.
Content delivery networks are used for B2B interactions mostly and in serving content to consumers. Today, as more aspects of daily life move on the web, organizations use content delivery network to accelerate static content, dynamic content, mobile content, e-commerce transactions, video, voice, games and more.
Shouldn’t I just optimize my website?
Statistics for your uptime, response time, website performance. Plus,historical records of all downtimes and errors and performing speed tests (e.g. with Pingdom) will help you decide whether you need to only improve your CSS files asset, do simple optimizing tricks, or use Content Delivery Network (CDN) hosting which uses servers located at different data centers to deliver content from the server that is closest to the end user.
Bear in mind that 250 milliseconds will make a difference between you and your competitor, nowadays.
Does CDN guarantee 100% availability?
CDNs improve overall global availability of a website but the performance depends on the geographical location of a server and of a vendor, as well as the number of vendors that you are hiring. Having more than one is a surest way to avoid downtimes.
How can I see if CDN is really that fast in specific location?
To measure CDN performance several methods can be used to get analysis results.
- server side performance monitoring: simulates end user data requests, and then measures how quickly a webpage responds to the request
- synthetic transaction monitoring: incorporates emulators and real world browsers to test predefined data requests from many different locations
- measuring the performance of a few users: taking a selection of your end users and measuring how long it takes for them to access your pages
- measuring the performance of every end user: the most accurate method, by measuring all actual transaction times across a network and from all users, you can record response times from a server, network and application perspective
- number of POPs: the more points of presence a content delivery network provider has, the more bandwidth and customers it can potentially handle
Can SPDY work with CDN?
SPDY, pronounced “SPeeDY”, is an application-layer protocol for transporting content over the web, designed specifically for minimal latency.
The SPDY project defines and implements an application-layer protocol for the web which greatly reduces latency. The high-level goals for SPDY are to:
- target a 50% reduction in page load time.
- minimize deployment complexity.
- SPDY uses TCP as the underlying transport layer, so requires no changes to existing networking infrastructure.
- avoid the need for any changes to content by website authors.
The only changes required to support SPDY are in the client user agent and web server applications.
However, SPDY has not been widely adopted by the content delivery industry and many o not support the protocol.
Can CDN stop DDoS?
DDoS attacks are one of the biggest threats to the security on the internet, since the users of controlled computer systems are usually not aware of the attack performed. And since packets are not coming from a single source, they can not be stopped by simply blocking a single IP address.
Not that using one method of prevention alone can actually protect you. However, by using a combination of a few, you have a better chance of defending your business space.
Content delivery networks (CDNs) use servers located at different data centers. Not only one, but many communication channels are used. Since the emergence of cloud computing, CDNs are employed not only as a tool for unclogging the internet, but also as a tool for mitigating (avoiding) DDoS attacks. CDNs will absorb less-sophisticated DDoS attacks, simply with bandwidth. With CDNs, you gain the advantage of – size.
With global CDN market changing and bringing ever more performance technologies and solutions, it is rather complex to describe each and every potential use case. It depends on your overall business goals, strategies and competitive landscape on which performance technologies will you use. Use the comments to ask additional questions on which we’ll try to answer in future blog posts.