Since CDN uses geographical proximity of a visitor to send a cache copy, the visitor will experience a faster loading website.
When a user requests your site, the node closest in proximity to user will deliver the static content, ensuring the shortest distance for the data to travel (reduced latency). This not only eliminates the distance that content travels, but also reduces the number of hops the data packets must make. The result is a less packet loss, optimized bandwidth and faster performance with minimized time-outs.
While improving overall user experience, in an event of an internet attack or malfunction, your website can still be accessible to at least some users thanks to its contents hosted on CDN servers still available.
For this advantage to happen, CDN needs to have as many node servers as it can so contents can be distributed fast and easy throughout the world. Large CDNs can have thousands of servers around the globe, making it possible for them to send the same content to many requesting clients efficiently and reliably.
For most websites, CDN can be the ultimate solution for speed improvement. But to others, implementing CDN can be a solution that pose more risks in exchange for just a bit of its benefits.
Not every website needs CDN because implementing it is not always necessary. Before implementing CDN, it's important to understand how CDNs work to ultimately know whether CDN is your best choice.
Do You Need CDN?
For most people, their main reason for using CDN is to improve their users' experience in terms of speed. On the web where the competition is more than plenty, people are bombarded with more than enough information. As people on the web are always in a hurry, ensuring a consistent experience on the web is important. And for that, speed matters.
Your website may be hosted in a particular region. But as your website comes online, it can be visited by anyone in the world with internet connection. If the majority of your visitors are coming from an entirely different region, your website will load slower to them if compared to you. The reason for this is the distance the data needs to travel. The longer it it needs to travel, the longer your website will finish loading.
When using a CDN, your visitors from other region will download your website's static contents faster from a closer server node. So rather than your main server responding to the visitors' request, the nodes that are closest to the visitors are responding and sending the contents. The effect can be seen when parts of your website loads faster than others.
The advantages of using CDN don't stop there. CDNs not only ensure faster web experience, but they also help your website when it crashes or traffic surges. Because CDNs distribute bandwidth across multiple servers, it can distribute the load to other servers to handle the traffic.
For websites that have international audience, or to businesses that thrive on the internet with their massive audience, CDN can be an absolute necessity. But to others, CDN is better kept out of planning.
CDN is seen as a next-level optimization. For those with heavy traffic, mission critical websites that are serious about providing the best possible experience for all their users, a CDN should be a crucial part of their optimization strategy. But for relatively small website, or websites that their primary contents are dynamic (reducing the advantage of caching), using CDN means more resource spending for just a bit of gain.
Most CDNs are third-party paid services and can range from expensive, high-end setups for enterprise websites, to the more cost-effective small/medium website oriented solutions. Their service also depends on bandwidth, region reach, and/or security/SSL needs.
Using a third-party to manage the distribution also means an added thing to manage.
Let alone maintenance, using CDN needs a moderate understanding about how networking works because you need to modify DNS records and changing the name servers of your domain. If you run a small website with more local audience for example, or host not that many pages with not that many visitors, CDN will cost you more time and/or money to just to keep your website up and running.
So CDN implementation depends heavily on your goals, priorities and budget.
Then comes the question: Will a CDN help improve the performance of your website? The answer is: yes. Is it absolutely required for all websites? No. You can still provide a decently fast website experience without a CDN by reducing HTTP requests and your web page sizes, for example.