I have researched this space a lot, and my conclusions are:
- Cloudflare: the best all-in-one solution, as long as you don't go above the Business tier
- Fastly: the most technically advanced CDN, but also one of the most expensive ones (there is a reason why StackExchange and Reddit moved from Cloudflare to Fastly)
- KeyCDN: the best fully-featured value-for-money CDN, if you just want to replace AWS Cloudfront CDN / Google Cloud CDN / Azure CDN
- BunnyCDN: the best value-for-money CDN for distributing large static assets across the globe (can get as low as $0.0025 / GB)
Especially with the crazy SSL pricing. I appreciate there are technical difficulties, but LetsEncrypt has been out what - 2 years? And Fastly still want $100/month for a shared certificate.
Still, definitely the most interesting CDN if you can’t do your own thing. Network still isn’t where Akamai or EdgeCast are. Lots of good people there, though.
But without a cheap/free tier for smaller projects (and all my tech skills have been honed on small projects and then applied to large clients) they are not going to attract that coverage.
- Cloudflare doesn't distribute hls segments they will just route everything to LAX
- Bunny CDN had a few
- KeyCDN had a few but better than Bunny CDN
- StackPath had a few but better than Bunny CDN
- Google CDN had 0 complaints
No youtube, Vimeo etc...
All video streaming / hosting is done in house. Streams about 500GB to 600GB / month.
I pay about 40 USD / month for Google CDN bandwidth. I used CDNPerf pricing calculator, it's spot on.
You might also want to evaluate a video QoE service to see what your users are experiencing in terms of video start-up times, rendition switching, buffering, etc.
I actually completed the video streaming part of my CMS right before Mux offered /video service. By that time it was too late lol I had already solved most of the problems.
Also saw that you guys use elixir on your backend which was coincidentally was also my language of choice.
Can you clarify the problem you had with Cloudflare? It should work for this sort of use case.
We left without looking back, because interrupting our primary product without notice is unacceptable in every situation (except the very, very few aggregious fringe cases).
I'd also like to add that with Cloudflare workers the technology lead of fastly (VCL, edge configuration) has reduced significantly.
Note about bias: I've used both cdn's for years but mostly opt for Cloudflare today.
Your comparison is missing Akamai which is probably the most feature-rich and largest CDN.
> All results are based on RUM (Real User Metrics) data from users all over the world
> We gather and analyze more than 300million tests every day
> "RUM Uptime" shows the uptime of CDN providers as measured by real users. Due to bad Internet connections this number can contain false positives.
Agreed about Akamai, though — it appears to be clearly faster than those listed (they certainly had a HUGE head start). But also by far the most expensive. You get what you pay for in this industry!
I skipped Akamai, because it seems to be from the period of time, where the number of points of presence (PoPs) was used as the best indicator of the quality of a CDN. It might still be true in some of the third-world countries, but it's no longer the case in the developed world.
As for DNS providers: NS1 is like Fastly (the most advanced / premium), Rage4 is like KeyCDN (the best fully-featured value-for-money), and ClouDNS is like BunnyCDN (the best high-volume value-for-money). And Cloudflare is still Cloudflare.
Except NS1 don't actually offer any pricing.
Rage4, are they being used by any big players site? I mean KeyCDN, despite its price are actually pretty decent and have quite a few Enterprise customers.
And no mention of DNSMadeEasy?
That's true, and it might have been a good enough reason to exclude it from the comparison, as I did with Akamai for CDN. Yet, unlike with Akamai, nothing seems to come really close to NS1 in DNS space.
> Rage4, are they being used by any big players site?
That's its major downside. It has no competition in terms of the price / performance ratio, but might be not big enough company for major players to put a trust in.
Still, Rage4 is regarded with respect by others in its own industry: BunnyCDN uses it for distributing the traffic, and Cloudflare's employee recommends it when Cloudflare doesn't fit.
> And no mention of DNSMadeEasy?
I found it to be neither the most technically advanced, nor the best value-for-money. It might be a good option for those who don't have enough justification for NS1, and enough confidence in Rage4.
The Reddit and StackExchange stories are before my time, but I believe they related to reliability issues we were having at the time. It was over three years ago at this point, a lot has changed.
Do they require you to go above the Business tier for high CDN traffic levels?
> The Service is offered primarily as a platform to cache and serve web pages and websites. Unless explicitly included as a part of a Paid Service purchased by you, you agree to use the Service solely for the purpose of serving web pages as viewed through a web browser or other application and the Hypertext Markup Language (HTML) protocol or other equivalent technology. Use of the Service for the storage or caching of video (unless purchased separately as a Paid Service) or a disproportionate percentage of pictures, audio files, or other non-HTML content, is prohibited.
This limitation does not exist on the Enterprise plan, and Cloudflare salespeople are likely to make that point when selling the upgrade.
It used to be SECTION 10: LIMITATION ON NON-HTML CACHING.  Then with the May 25, 2018 update to the terms  they removed that limitation. It has a section 2.7 Acceptable Use but no 2.8. Then they announced their Bandwidth Alliance on September 26, 2018  offering some interesting free bandwidth options, including with places like backblaze which are primarily for storing non-html content. At the time of the announcement it seemed pretty mind blowing, especially because the non-html limitation had been removed previously. However it looks like they later updated their terms again on October 26, 2018  to put back the limitation as section 2.8 Limitation on Non-HTML Caching.
Quite unfortunate. I was actually looking forward to using the bandwidth alliance benefit to access my B2 buckets, however looks like it's against the rules again.
This was the first email: https://www.celsoazevedo.com/files/2019/01.png
I then replied that I couldn't afford an Enterprise plan and that I understood about the costs of serving 80TB. I was offered a $3000 plan: https://www.celsoazevedo.com/files/2019/02.png
I explained that 3k was too expensive for me, but I would be fine with something up to $500 even if that meant less POPs/features. Or I could leave Cloudflare too. The price dropped to $1500: https://www.celsoazevedo.com/files/2019/03.png
I asked for a few days so I could move some heavy files (under the 512MB limit) to a ~$120 OVH server and reduced CF's usage to under 2TB/month.
Again, I'm not complaining. I still use CF's service (last month I used over 150TB with Backblaze B2), but it's true that some users receive emails telling them to upgrade and that sometimes these emails imply that the site will be kicked out if nothing is done.
Now when you say that you still use Cloudflare & also that you used over 150TB with B2 last month, do you mean through Cloudflare thanks to their Bandwidth Alliance? If so, is this with a regular $200 Business plan or something more expensive? I've been wondering how much of this Bandwidth Alliance traffic would truly be free like they're advertising until they want me to start paying by the GB.
What am I hosting?
There's modified Google Camera app that unlocks Google's HDR+ on non-Google phones. It's an amateur thing for people that like to thinker with their Android phone. People were having issues downloading the files so I started hosting them (https://www.celsoazevedo.com/files/android/google-camera/). I also host other stuff which is used by people that install custom ROMs. Eventually all this got popular and now my personal domain uses this massive amount of bandwidth. Here's the weird thing: this domain is on a "pro" plan ($20) and they haven't said a thing (yet?).
This is not a business or a service. I have Adsense, but sometimes it's not enough to pay all expenses, so if an upgrade to an enterprise plan was required, I would be forced to close down the site or (with community support) move all this to one or two dedicated servers (you can get at least two 1Gbps servers on Hetzner or OVH for less than what the Business plan costs).
I really mean it when I say that I'm happy with Cloudflare. Without them this little hobby wouldn't exist. I only showed the email because jgrahamc asked for it and because it's not the first time I see someone mentioning "forced" upgrades.
Now, while "unlimited" is nice for what I do and for when you get popular overnight, not having a limit creates some insecurity. 80TB wasn't okay before, but 150TB is okay now? Was the email sent because CF was proxying/caching .jpg and .mp4 files? If so, do .zip and .apk files have different limits? We don't know if we have crossed the line if we don't know where the line is.
If Cloudflare does what you need, go for it. If you want a plan b, look into dedicated servers, after all not all content needs a CDN.
I tried to edit my original comment, but the "edit" button is gone: the email was sent almost 2 years ago. At the time they also claimed to have unlimited traffic, but I received that email anyway. Maybe something changed between then and now?
Yeah my original plan was to use B2 as storage and build my own caching system on Hetzner dedicated machines, as you suggested. Excess traffic was very reasonably priced at Hetzner at 1€ per TB. Since October 4, 2018 they've made traffic completely free.  However it's the B2 traffic pricing that was bugging me, as they charge $10 per TB.
When the Bandwidth Alliance got announced between Cloudflare & B2 to make B2 traffic free, it was like a dream come true. Especially because at the time this was announced the Cloudflare terms allowed for caching all legal files.
Unfortunately on October 26, 2018 Cloudflare changed their terms again to prohibit non-html caching. 
Thanks to your comments here and also jgrahamc saying that forcing to upgrade shouldn't happen anymore, I'm now a bit more optimistic again about using Cloudflare. I need to research & think some more to decide the exact plan, but even something like using Cloudflare to tunnel data from B2 to Hetzner for free sounds pretty nice.
 Use of the Service for the storage or caching of video (unless purchased separately as a Paid Service) or a disproportionate percentage of pictures, audio files, or other non-HTML content, is prohibited. https://www.cloudflare.com/terms/
The reason for the email was the bandwidth I was using. Since I could only spend up to $500/month, I asked if they had any plan inside my budget. I was open to have less features, less POPs or POPs only in cheaper places (eg: US or EU). If not, and since I couldn't afford the $3000 plan, I would have to leave the service and move everything to a new server (I was using a VPS, was in a place with bad internet, and asked for a few days to migrate everything).
The 3rd screenshot shows their reply to this:
> At the moment we offer the plans that are listed on our website and the Business Plus plan, which I cannot offer for less than $1500. If this is not an option for you please let me know when you have moved your traffic to a new server.
English is not my native language, so I might be missing something here. I understood it as "it's either the $1500 plan or leave the service".
As I said, traffic costs money and I don't really expect unlimited bandwidth. I'm also aware that it using something like Cloudfront would cost more than $1500.
I only replied to jgrahamc because he asked for the example and because it's not first time that I see CF people saying bandwidth is not a reason to force an upgrade. Since Matthew (CEO) and and jgrahamc (CTO) keep saying that bandwidth is not an issue, I assume that they don't know about these emails.
As of October 2018, Hetzner is the best choice in such scenario:
"Hetzner Online has permanently removed the traffic limitation for all Dedicated Root and Managed Servers with 1G Uplink. This means that outgoing traffic is now unlimited and free of charge. Therefore, we will no longer throttle the connection if you have higher levels of traffic.
In the past, if you permanently wanted to exceed the traffic limit on your server, you could pay an extra fee for each additional terabyte of traffic you used. But now this is not necessary. We will no longer invoice you for using more traffic."
You told them "If you have nothing cheaper, I'm going to have to leave" and they replied with "We have nothing cheaper. Let us know when you leave". That's not a threat, that's calling you out on >your< threat.
When I noticed that they had plans not available on their website, I asked if they had anything up to $500 and if not, if they could give me a few days to migrate everything to a server that could handle the traffic.
I was simply explaining my position, but I guess their sales representative could have perceived it a "threat". That wasn't my intention though. Also, I should have asked "what happens if I don't upgrade?".
Anyway, all this saved me some money and allowed me to learn a lot.