“Step right in. You will witness a show of magic and wonders, passion and trust, speed and misunderstandings.” a (slightly altered) catch phrase that keeps popping in my head when talking to companies in regards to managing Content Delivery Networks (CDN). Apart from the misconception that a CDN will solve all performance problems one of the great unknowns seems to be how to actually monitor CDNs the right way. And as we all know: you can’t manage what you don’t understand! So in three “Acts” I will walk you through the main purpose of CDNs, how such systems have to be monitored and what dirty unknowns the right strategy can bring to the surface.
Years ago I was a member in an Off-Theatre group in Berlin. Why that would have any relevance to the CDN topic, you may ask. Part of our maturity journey resembles what almost all companies go through when they end up paying for a CDN service. We were a passionate group, lots of talent (of course), lots of energy and had a dedicated fan group. However we had the same challenge as all off-theatre groups have: no budget, hence no real publicity from a marketing perspective. We started printing flyers and postcards to promote the show. First small numbers and then more and more putting them in pubs, restaurants, book shops, etc. While happy with the result the whole thing stole a lot of our time. So we began to delegate: friends and fans would distribute and in return get free tickets. After a while we realized that we needed to get into better locations like Hotel lobbies and other flyer stands, which however were controlled by marketing agencies.
So we decided to look for one which would help us out and a whole cascade of questions had to be answered:
- Which one has the best offer?
- Where and how should they distribute our content?
- Can they help us with the decision and if so do/can we trust their judgment?
- How soon do we need to make our decision and how quickly can they react to our needs?
- How can we be sure they deliver what they promised?
- Will the money we spent be worth it?
And these are questions which certainly should look familiar if you’ve ever had to deal with a CDN.
What is a CDN?
In a nutshell CDNs are helping IT teams either by taking on a large bulk of the traffic or by decreasing the latency. They typically have a large network server or points-of-presences (PoPs) spread across the globe. Historically these PoPs were basically used as caching tiers which are much closer to the end user then the origin servers of your own data center. Today of course the CDNs have become much more advanced handling complex route optimization, content compressions, etc., but for the purpose of explaining the right monitoring strategy the simplified explanation of a widely distributed network of servers instead of just 1 centralized data center is enough – also it’s the core aspect everyone thinks of when they hear CDN. The most important thing though is that they should speed up things for the end user with less investment then trying to do it in house.
Why use a CDN?
15 years after my theater adventures, I now realize that the services the marketing agencies offer, are exactly the same in the “real world” as the CDNs offer in our digital world today. They help getting the content closer to the customer, making it very convenient to access it. Used the right way they can have a very positive business impact – even when the initial investment seems to burn a big hole in the IT budget. And their service can grow with your business starting locally to simply ensure the scalability of your venture all the way to reaching far away locations across the globe.
Looking at a typical, internationally operating B2B manufacturing company or an international financial institution the main CDN benefit is getting the content much closer to the users spread across the globe and thus minimizing the latency and increasing the performance. Factors like decreased DNS, connection and first byte times are their main motivators.
Externalizing Load Balancing
Another scenario of a heavy traffic site like the popular German magazine Spiegel.de where most of the traffic is coming from within Germany on the other hand would benefit by outsourcing the handling of the load and thus minimizing the number of requests hitting their own infrastructure. So the hit/miss ratio is an important factor judging the efficiency of the CDN. Hit in this case meaning the content was served straight from a CDN PoP and miss meaning the content had to be fetched by the CDN from the origin before it could serve it to the end user thus still creating an impact in the data center. Such a traffic reduction on the origin can of course also be used cleverly to minimize the impact of denial of service attacks.
And of course mixes of these 2 main benefits like high traffic sites with international reach or outsourcing relatively few but large file downloads are relevant as well.
So the main 2 things to look for when it comes to CDN investments are:
Does the CDN help to achieve the overall goal of performance improvement for the end user by:
- Decreasing latency (dns resolution, connection speed, 1st byte time)
- Decreasing load on own infrastructure (hit/miss ratio)
and by how much?
Scarily enough over the years I have realized that many companies in the end base their decision on which CDN to choose on gut feeling and guesswork. Many do run an evaluation project, however in most cases the methodology of these projects is questionable.
What to look at when choosing a CDN?
While many aspects like pricing or relationship and trust are of course important in choosing the right vendor I want to focus on the main purpose of the CDN – fast delivery to the end user.
And to be able to make informed decisions and not just guessing about the current situation you need to be confident in answering the following questions:
- How significant is the performance improvement for the end user?
- How stable is the quality of the service on the edge?
- How can you test and monitor the performance pro-actively – before real end users get access?
- How can you detect failures or misconfigurations in production?
In my next blog (Act 2: How and How not) I will show you how easy it is to get the data to answer the above questions and will show you the common bit falls that I have seen when companies tried to answer the questions
But let me finish by saying:
The old way of monitoring doesn’t work and not having control over the situation can be disastrous!