Content delivery networks (CDNs) are an excellent way of speeding up access to your content to the user’s screen or device by delivering data cached on nearby servers. When users access a CDN-enabled website, they can get a significant improvement in loading speed, which likewise improves user experience.
For data infrastructure architects who particularly seek to mitigate any wastage of bandwidth and ensure a highly efficient use of resources, CDNs are a perfect solution. Top CDNs come with real-time scalability and the ability to minimize network latency. This means that the users receive the data in the minimum possible time, with minimum packet losses and your resources are expended in an optimal fashion. (To learn more about network efficiency, see The Role of KPIs in Network Management.)
Typically, it is believed that CDNs are immensely helpful in all content situations by ensuring a faster response time through caching and front-end optimization. However, CDNs are not necessarily the best way to optimize for performance in all cases.
A typical CDN relies on multiple nodes distributed around the globe. Cached content from your site is stored at these nodes. When users from a particular geographical region access your site, they are delivered with cached content from the nearest node. Reduced distance means reduced round-trip time, and the user receives the content in the least possible time. Similarly, if your site is prone to receive huge traffic loads or spikes, a distributed network topology can act as a safeguard against excessive bandwidth consumption.
On the face of it, a CDN would seem to be a very useful tool for any sort of content. However, it is not always advantageous, especially if you have specific needs that rule out a distributed infrastructure. Here are some examples.
Modest User Base
Deploying a CDN makes a lot of sense if you have a huge and diverse user base. But if you have a small, targeted and specific user base, you might be better off with employing other ways of improving user experience. This is particularly applicable if your infrastructure only services a small number of users, such as an intranet for your organization's internal usage, or if your user base is very minimal.
One alternative here is to implement lazy loading, which downloads the minimum amount of content to the user’s screen, therefore giving the user instant access to this content. In the place of the rest of the content, temporary placeholders are retained. As the user moves to the rest of the content, the placeholders are filled with the actual content. This technique ensures that the essentials are provided to the user instantly and the rest of the content is loaded on a per-need basis. The result is smart bandwidth consumption, minimum page load speeds and an improved user experience due to speed improvements.
Extremely Localized User Base
One of the most outstanding advantages of a CDN is that it is able to speed up content delivery to users all around the globe. But if you are targeting your content at users located within a given geographical region, the use of a CDN may not make a whole lot of sense. Such examples would be if you run a school or university website – you might be better off providing access from on-premises infrastructure, especially if users will be accessing from within the vicinity.
For such a concentrated user base, you can experiment with other ways of improving the user experience. You can, for instance, try implementing prefetching on your site. Prefetching essentially fetches components that the user is expected to access next. For instance, if you are displaying one image in a gallery, the user is very likely to click to the next. So prefetching loads the next image on the user end before the user has clicked it, thereby rendering it instantly as soon as the user reaches it. This immensely improves the perceived load time at user end.
Regulatory and Complex Governance Requirements
If your organization handles sensitive user data, it is obvious that you will have a complex governance protocol in place, meant to guard user data at all costs. This may include sovereignty requirements, which mandate that data should stay within the physical jurisdiction of a certain country. In such a case, deploying a CDN might not necessarily be a good fit, since this means data could be cached on servers in countries outside of jurisdiction, which could go against sovereignty requirements. (For more on those responsible for data governance, see Chief Data Officer: The Next Hot Tech Job?)
Still, CDNs are a great way to improve website speed and reliability in most instances. Modern cloud-based CDNs will also provide a layer of security features, including acting as a front line of defense against traffic-based attacks and load-balancing by acting as a reverse proxy.
Thus, while you may not enjoy the most vital benefits of a CDN in an extremely localized scenario, deploying this kind of service will produce significant improvements in many other cases.