For years, companies have been turning to Content Delivery Networks to address all their website performance needs, from page speed and scalability to security. Caching content globally, which originally was the main purpose of CDNs, has undoubtedly helped create a faster and more scalable internet, but are CDNs living up to their lofty promises? Is it possible to achieve excellent website performance by simply using a CDN? Does the performance improvement offered by most CDNs justify the thousands of dollars they cost a month?
It is difficult to answer this question broadly, as every website has different needs. Depending on the distribution of your audience, frequency of front-end deployments, and technical ability to spend time configuring your caching strategy, a CDN might be your best option for improving website performance. Truly great website performance, however, is going to be unachievable with most of the CDN solutions offered in the marketplace today. This is largely due to the way CDNs keep reverse proxies, software which is at the core of most CDN features, locked in black boxes in fixed networks.
CDNs and Reverse Proxies
If globally distributed PoPs are the backbone of Content Delivery Networks, reverse proxies are the meat of the CDN: they are powerful tools which are deployed on all of a CDN’s PoPs to perform the functions CDNs are most known for, including caching content, adding security through a web application firewall, or blocking bots.
A CDN is really just a network of reverse proxies that allow you to perform these website-enhancing actions on a global network of servers. The global network reduces latency by keepings some of your content closer to the end user and reducing the strain on your origin server, but it is the reverse proxies on top of that network that provide the most performance benefits. CDNs use a variety of reverse proxies, including proprietary reverse proxies which they have built themselves and modified versions of open-source reverse proxies such as Varnish Cache.
CDNs compete with each other by promising that their reverse proxies are faster, their network of servers is larger, or their servers are built on better hardware. The truth is, the differences in performance CDNs offer their customers are bound to be insignificant as long as their reverse proxies are hidden in fixed networks.
Reverse Proxy Configuration and Testing
By limiting transparency into how their reverse proxies are coded and configured, CDNs make superior website performance unachievable as it becomes impossible for developers to configure the reverse proxies to truly optimize for performance. Without knowing how the reverse proxy is built, making and testing configuration changes is difficult and risky to deploy. As a result of this “CDN Black Box”, websites are often limited to caching static assets, like JavaScript files that don’t change, style sheets, and images. They are prevented from caching the full HTML document or maximizing hit rate through customized configurations that would drastically improve page speed and scalability.
Because most CDNs keep their reverse proxy software locked in fixed networks, developers are unable to test website changes locally before deploying to production. This can drastically increase development cycles, create bugs in production, and often leads developers to turn off CDN features rather than attempt to solve the problem in the dark.
Ultimately, without exposing the reverse proxy software to the developers for customizable configuration or allowing them to test those configurations locally, the promises offered by CDNs are destined to fall flat. Section is unique in that it uses fully open reverse proxies and makes it easy for developers to configure them on a globally distributed network, and has the added feature of a local development environment.
For more information about how to achieve great website performance learn about what content to cache or download our guide to optimizing ecommerce performance.
