Choosing a CDN
Aside from the network or servers being down completely and being unable to get the content at all, how does a customer see—and, more importantly, measure—the performance of a network? I’ve asked a lot of the CDNs and they use Gomez, a network benchmarking product that’s considered the industry standard among large delivery providers. But the problem with Gomez is that it doesn’t currently support streaming. It seems that most vendors use Gomez to show network performance for delivering small cache objects, and the market just assumes that any content, static or streaming, must see the same kind of performance. But as most people know, delivering and scaling the delivery of small static images via HTTP is very different from delivering and scaling a 300Kbps stream via RTSP or RTMP.
I’ve asked many of the CDNs about any tools on the market or any products they have that customers have access to. So far, they’ve agreed that there is no easy way to compare streaming media network performance—and I agree. So the real question is not how the vendor measures it but, rather, how do you measure performance? It should be a combination of many factors including price, customer service, SLA, and a guarantee that you’ll be able to access and upload your content at all times.
How Are You Compensated for Network Outages?
No matter what you are told, all networks have outages of one kind or another. While most networks offer a 100% uptime guarantee, streaming media SLAs typically do not go into detail as to what exactly is guaranteed. They may be guaranteeing only that the server will be up 100% of the time—not that the network will be. Typically, SLAs are very generic when it comes to streaming media delivery services. The only important question you need to ask is how will you be compensated in case of an outage of the network or any portion of its hardware that affects you.
While most service providers will put down in writing how they will compensate you monetarily if they have an outage that lasts a certain length of time or happens within a certain frequency, many times the fine print says they only have to compensate you if you notice the outage or if you request a credit. Some vendors also tend to prorate your service with credit. So if you were down for only a few hours in a month, that would amount to receiving one day’s worth of credit. For a customer who has a monthly bill of $10,000, one day’s worth of credit on a prorated basis is a little more than $300. That’s not a lot of credit if the outage happened during a live event, a busy point in the day, or if it had a major impact on your business. I suggest that you have your SLA amended to allow you to cancel your contract without any early termination fees should the service provider have a long outage or have outages frequently. It’s only fair that you be allowed to move to a new provider if your current provider can’t provide what it promised.
Does the Provider Charge Overages?
Lately, I’ve seen numerous articles talking about "bursting" overages charged by CDN providers. Many of these articles define overages incorrectly, and it is important to understand the two different ways CDNs charge for their services and how overages may or may not be involved. The terms "bursting" and "overages" are not interchangeable, especially when you’re talking about content delivery for video.
Every large-scale CDN charges for delivery of video, via streaming or download, based on two metrics. One is the total number of megabits per second (Mbps) sustained at any given time. The other is the total number of gigabytes (GB) delivered over the network in any given month. These are two very different metrics with very different overage charges.
The majority of customers for video delivery have contracts in which they are paying for the amount of GB delivered over the course of a month. With this model, there are rarely overages; typically, when you push more bits than you signed up for, you get charged a lower per-GB fee. For example, if you committed to push 100GB a month at $1 per GB, but you end up pushing 150GB, typically your pricing drops to a lower rate, say 95 cents per GB. Rarely do CDNs charge overages on a per-GB-delivered model, and in many cases, some of them charge one flat fee per GB no matter how much you push. Years ago, CDNs would charge overages with this model, but they quickly realized that by doing so, they gave customers no incentive to push more traffic on their network. This was how Speedera Networks really got traction in the market—by taking all the overflow traffic from customers who didn’t want to pay overages with their core CDN. My advice: If you are paying on a per-GB-delivered model, don’t ever agree to overages. Ask to be given a lower price based on growing your business.
The other way CDNs charge for video delivery is on a per-Mbps-sustained model. This means that you pay for the volume of traffic you push at any one given time, not the total bits pushed. Typically, in this pricing model, you are charged for overages above the volume of Mbps sustained that you commit to. Many users and providers refer to this model as "95th percentile" because you are typically allowed to burst over your committed Mbps allotment for less than 5% of the month with no penalty.
If you are just choosing content delivery services for video, those services will almost always be charged on a per-GB-delivered model. However, many customers who use CDN service for multiple forms of content, such as video, webpages, applications, and the like, get charged on a per-Mbps-sustained model as it is easier to include all the different content delivery services into one price. That said, every CDN charges overages when pricing on the per-Mbps-sustained model, so compare the two kinds of pricing models and figure out which one is best for your business.
What Exactly Does the Service Provider Support in the Way of Delivery?
Do not assume a vendor supports streaming just because it uses that term on its website or in its sales pitch. The word "streaming" is very generic these days, and it means many things to many people. Some service providers use the word streaming to sell and promote their services when in fact they don’t offer delivery from a media server, but rather they deliver everything via progressive download from a web server, like the Amazon S3 example mentioned earlier. This may suit your needs if you want progressive downloads, but if you require actual streaming or a combination of the two, you’ll want to make sure the provider supports it.