The primary purpose of a Content Delivery Network (CDN) is to get content to users faster. This has never been more important in the era where a response taking more than a couple of seconds can lead to a user abandoning your web site. For example, we all know that round trip latency can greatly impact overall page response time. The distance between Los Angeles and Washington DC is 2,669 miles or 4,296 Km. Let’s say the theoretical minimum for roundtrip latency is 28ms. But that’s theory. In reality, it takes between 80-100ms. This latency is included in each and every round trip made for content on your website. CDNs help reduce this by delivering content from points of presence closer to the end user than the origin web server, and ensure your users stay on your site.
Before deploying a CDN most organizations go through a rigorous metrics-based evaluation to help them assess how much faster the CDN is than their origin in key geographical markets. During the evaluation customers will monitor CDN and origin performance to determine how much key metrics improve, but post deployment ongoing CDN monitoring often stops. Deploying a CDN should mark just the beginning of a CDN monitoring strategy.
It is up to you, the consumer of the CDN service, to ensure that promises regarding performance obtained during the evaluation continue through delivery. A continuous CDN monitoring strategy that specifically targets key features and deliverables of the CDN such as network performance, web performance, CDN infrastructure, origin to edge stability, and content integrity validation is essential for their effective utilization. Being able to quickly detect and fix performance issues at the edge or origin is a key requirement to ensuring customer satisfaction and a low mean time to resolve.
Many organizations today are using multiple CDN providers. Monitoring your CDN can help you implement real-time performance-based CDN routing or identify geographic areas that may be better suited to a second CDN. The ability to benchmark your CDN’s performance variations over time helps identify performance patterns and enables you to hold the CDN accountable to the agreed upon SLA.
CDN Monitoring Basics
Implementing a CDN introduces a dynamic component into your IT infrastructure, with multiple moving parts and potential points of failure. Each of these components should be included in a CDN monitoring strategy.
Last-mile and mobile testing
The last-mile network is a critical component for the optimal functioning of a CDN. Mapping of an end user to the most optimal point-of-presence (PoP) is a science in itself; taking into consideration the ISPs, the geo locations, and historical data. All of this is to ensure end users get the same performance from any device, from anywhere. Monitoring from only backbone or cloud nodes will not show you how your end users are experiencing your application. Synthetic monitors from last-mile and mobile locations combined with real user monitoring will give you a true picture of your application as delivered via the CDN.
Most CDNs provide value-added services such as front-end optimization or HTTP/2 support to further improve application performance. Optimization features such as caching, compression, image optimizations, and redirection offloads can reduce the size of objects and number of requests, thereby reducing the number of roundtrips needed to deliver content. Monitoring these features provides IT teams the ability to identify performance bottlenecks and quickly resolve performance issues.
CDN infrastructures are complex. In most request-response cycles, a significant time is spent within a CDN’s infrastructure. Usage of cache-hierarchies and optimized routing between their own PoPs have all led to further added complexities and with them, latency. Hence, monitoring how each aspect of the CDN’s own infrastructure and routing impacts the delivery of your content becomes a key aspect of any CDN monitoring strategy.
Monitoring performance of objects retrieved directly from the origin server either by the CDN or the end user cannot be overlooked in your CDN monitoring strategy. If the origin is producing errors, unavailable, or is introducing latency, this can cascade through the CDN and ultimately the end-user experience is impacted. When CDN servers have to fetch contents from these origin servers, issues with network connectivity, latency, and origin capacity can become a bottleneck. The need to monitor the performance of your origin server infrastructure is essential to separate issues of CDNs from problematic origin infrastructure.
Measuring Success with CDN Monitoring
There are a variety of reasons why your company chooses to deploy a CDN. Below are a some of the top reasons why CDNs are used and tips on what to include in your CDN monitoring strategy to measure the success:
One of the fundamental use cases of a CDN is to improve the availability of web assets. CDNs provide multiple ways to achieve higher availability when compared against an origin infrastructure. This is accomplished through features such as serving cached or stale content when origin is unreachable or unavailable; long term caching strategies ensure the need to reach the origin is reduced. Modern CDNs also provide ways to enforce failover logics at their edge servers; based on response from stipulated origin, backup or secondary origins can be invoked.
To measure improvement in availability with CDN monitoring:
- Run high-frequency object tests from last mile ISPs.
- Schedule tests against both the CDN and the origin server.
CDNs bring web content closer to the end user through their geographically distributed network infrastructure. Leveraging a similarly distributed DNS system, CDNs also “move” the DNS resolution process closer to the “edge”. This reduces network latencies and cascades into improved response times for an end-user.
Another key component to CDNs is their mapping technologies and peering agreements. Some CDNs use proprietary mapping algorithms while some leverage the anycast technology to map their end users to an optimal edge server. The common idea behind any method is to identify an end user based on the connecting ISP and route them in the best manner possible.
To measure improvement in network proximity with CDN monitoring:
- Test across a broad range of geographies and ISPs.
- Use traceroute tests to compare and contrast the network roundtrips with and without the CDN.
- View the cumulative effect a lower round trip time has on overall page load time with a single object HTTP test. This eliminates requests from third parties.
- Test across multiple ISPs in the same geography to identify peering and mapping anomalies.
Content proximity and optimization
CDNs started off as simple distributed reverse proxies, with the goal of offloading origin traffic by caching content closer to the user. Caching static content is still a well-used feature, even decades after CDNs’ inception. The impact between a cache-hit versus a cache-miss could translate into lost revenue or a frustrated end user.
Apart from optimizing and caching of static contents, CDNs can also accelerate the delivery of dynamic content. User-generated content, logged-in pages, confidential and private information, and financial details are good examples of dynamic content. Optimizing the path to origin becomes a critical requirement for this acceleration. Providing conditional caching, providing “edge” server hierarchies, and offloading SSL handshake all contribute to improving performance for an end user.
To measure improvement in content proximity and optimization with CDN monitoring:
- Collect information on which edge server responded to the request, cache hits, cache misses, and other metrics related to the delivery of content.
- Conduct A/B tests to analyze the impact of front end optimization on page completion. Identify which percentiles see the greatest improvements with optimizations.
- Run what-if scenarios to test different features and use cases out.
- Classify data based on content delivered from the CDN and content delivered elsewhere.
- Collect timings on critical resources such as hero images.
Benchmark emerging technology
CDNs work as an extended arm of a company’s infrastructure. It’s imperative for CDNs to support emerging technologies and protocols in a scalable way. A good example of this would be the implementation of the HTTP/2 protocol. The successful adoption of this was driven in large part to CDNs supporting this protocol.
An advantage of CDNs supporting emerging technologies is the reduction in capital expenditure and a reduction in IT operations. The CDNs offload this implementation over to their platform, providing customers simple switches to turn on these technologies for their customers.
To benchmark emerging technology, configure tests for the technologies being used including HTTP/2 and IPv6.
Evaluate market expansion
A CDN makes it easier to break into emerging or new markets without significant capital expenditure. A significant use case of this is China. China represents a tremendous opportunity for online companies who can deliver a superior experience behind the “Great Firewall.” But establishing a presence in China comes with additional challenges.
To evaluate market expansion with CDN monitoring:
- Test from backbone and last-mile providers in the desired geography.
- Measure performance from mobile providers.
Deploying a CDN and creating a comprehensive CDN monitoring strategy can offer a variety of benefits to your organization including increased site availability, improved response times, optimized content, and validation that performance expectations are met in new markets.