Hacker News new | past | comments | ask | show | jobs | submit login

CDNPerf[1] provides a real-time performance analysis of all major CDN providers.

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)

[1] https://www.cdnperf.com/

> - 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)

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.

Yup, that was a major barrier for us. Worth noting that they charge this much even if you want to use a Let's Encrypt cert [0].

[0] https://support.fastly.com/hc/en-us/community/posts/36004016...

Fastly also don’t support proxying WebSockets. They told us we should switch to long polling which would have driven up our costs with them significantly since they charge per request — funny how that works.

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.

And if anyone needs more than just proxying WebSockets, there's Fanout Cloud which can manage WebSockets without requiring 1:1 connections with the origin.

Seems like a pretty clever way to filter out cheapskate customers. I don't think most large organizations would care about that kind of rate

It's less a filter but more of a tack on. What I mean is that if you're already on Fastly and find their features compelling, $100 for a certificate is nothing and generates huge margins for Fastly. It's a bit like the BMW/German car model: their base price is not too bad but if you want even the most basic features the mark ups are insane.

Even worse when you consider that their biggest competitor gives SSL away to free tier customers.

I happen to like VCL and what you can do with it. I would rather Fastly got coverage for what's possible, rather than Cloudflare Workers getting all the blog articles.

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.

CDNPerf is great. I actually used them to choose which CDN to use for video on demand streaming. I ended up going with Google CDN. My benchmark was how many complaints I got from students on my platform[1].

- 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.

[1] https://www.codemy.net.

At Mux we use Cedexis Openmix to dynamically select between Fastly and Highwinds (now Stackpath) CDNs to stream a lot of video. The end-user experience with a CDN is going to vary dramatically depending on where your users are located around the world, which ISP they use, and many other factors that change by the minute. I wrote a blog[1] post about how & why we use multiple CDNs with our video service.

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.

[1] https://mux.com/blog/multi-cdn-support-in-mux-video-for-impr...

That is cool. I've been stalking Mux for a while. Since I've had to implement some of the things Mux offers on my own.

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.

(edited: I work at Cloudflare)

Can you clarify the problem you had with Cloudflare? It should work for this sort of use case.

A major client of mine was recently shut down (without notice) because one of our major products is video streaming. Apparently that’s now against the Cloudflare’s TOS (unless, of course, we used CloudFlare’s streaming product at rates that make us unprofitable).

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).

Hi Luke, late to the show here, but agreed this should never happen. Can you reach out to me directly with the domain name you used? You can DM me at twitter.com/jplevine

I don't think you can, because Cloudflare Video CDN is a separate product. So offering it a long with your business / free package is against your business interest. Cloudflare basically tried to sell me a $1000 / month (minimum) Video CDN. But if it was a mistake and should this be able to work using Cloudflare I would happily pay to upgrade to the business plan. I can afford 20-40 USD / month not $1000

I'm not sure what our minimum plan level that allows using us for mostly video is, but it's almost certainly independent of Cloudflare Stream.

>Cloudflare doesn't distribute hls segments they will just route everything to LAX

HLS segments?

HLS = HTTP Live Streaming

Coverage is a Big Deal. Fastly used to be pretty unavailable in South America but has since last year improved coverage (esp via west, in Chile).

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.

I wish they'd show at least 99th percentile latency (if not higher) in the comparison charts, not the average. Average is the wrong way to measure latency.

CDNPerf and DNSPerf services most likely do testing from some pool of VPSes or hosting services, although I can't see such details in their description. If you are interested how your service performs when serving to other servers, you can use it. If you are interested how it performs when serving to real people (home, mobile, offices), I wouldn't trust it.

Your comparison is missing Akamai which is probably the most feature-rich and largest CDN.

I believe they used to benchmark via their own pool of test servers, but according to the sidebar they're now collecting "real user metrics" somehow:

> 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 see CDNPerf and DNSPerf as a way to compare the providers relatively to each other, not as a trustworthy tool go get the real indications of time.

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[1].

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.

[1] https://www.fastly.com/blog/why-having-more-pops-isnt-always...

You're right. I was wondering how this company is able to collect such data from real users. It's registered in an apartment in Cracow, Poland, a 1-person company till last year (here is their company info in polish: http://www.krs-online.com.pl/perfops-sp-z-o-o-krs-10397838.h... , still an apartment address) . Now looking at the Network tab in Developer Tools I can see they are running the tests from JS on their site using visitors of cdnperf.com. I can see requests for URLs like /500b-bench.jpg?t=1552402827417 to various domains.

CDNPerf is owned by PerfOps, a VC funded startup. Lots of info here https://perfops.net

>NS1 is like Fastly

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?

> Except NS1 don't actually offer any pricing.

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[1].

> 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.

[1] https://news.ycombinator.com/item?id=12052830

They’re a good macro view of latency though. You need to do your own testing to get real world results.

(I work at Cloudflare)

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.

I have a personal connection with your comparison because my company actually used Fastly before I joined Cloudflare, I had the exact perception you're describing. Four years later, being able to write JavaScript with Workers would have made my life so much easier than trying to do failover in VCL as I was then.

Not arguing that VCL doesn’t suck hard, but check out:


Thank you for not making us read a blog post to learn this. I appreciate the information.

> Cloudflare: the best all-in-one solution, as long as you don't go above the Business tier

Do they require you to go above the Business tier for high CDN traffic levels?

A very high traffic CDN customer is likely to run afoul of section 2.8, Limitation on Non-HTML Caching, of the Cloudflare Self-Serve Subscription Agreement:

> 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.

Oh wow, they added that back. Bummer.

It used to be SECTION 10: LIMITATION ON NON-HTML CACHING. [1] Then with the May 25, 2018 update to the terms [2] 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 [3] 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 [4] 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.


[1] https://web.archive.org/web/20180413184130/https://www.cloud...

[2] https://web.archive.org/web/20181002020343/https://www.cloud...

[3] https://blog.cloudflare.com/bandwidth-alliance/

[4] https://web.archive.org/web/20181102014745/https://www.cloud...

Yes, if you use too much bandwidth a business rep will reach out to you and tell you that you must upgrade to a per gb plan to continue using their service. In my case, I think I was at about 40TB a month

If one of our reps told you that you are forced to upgrade then I would like to see that email because you will not be forced into upgrading.

I'm happy with CF's service and this isn't a complaint. I was serving ~80TB of data (mostly in South America) and paying 80 or so dollars/month, so I completely understand why I was contacted. But I keep seeing these messages that people aren't forced to upgrade and that traffic is truly unlimited...

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.

This was looked into. This apparently occurred in early 2017. This is a not a sales practice that we endorse and I'm sorry it happened to you.

No problem :)

Thanks for your insight! I've been thinking of building a data heavy service myself and have been considering using Cloudflare. Your comment is very valuable.

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.

Yes, Cloudflare + B2. Since they're part of the Bandwidth Alliance, traffic between Backblaze and Cloudflare is free. I also cache all files on Cloudflare with a "page rule" (they cache files up to 512MB), so the heavy lifting is done by them.

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?

I really appreciate you taking the time to reply. Thanks!

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. [1] 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. [2]

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.


[1] https://www.hetzner.com/news/traffic-limit/

[2] 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/

Hetzner have Storage Boxes with free internal traffic.[1] Assuming they are enough for what you're trying to do, they might be a better solution than B2.

[1] https://www.hetzner.com/storage/storage-box

Other than, "please reply" I don't see where you were forced to upgrade.

Check the other two screenshots.

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.

> 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).

As of October 2018, Hetzner is the best choice in such scenario[1]:

"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."

[1] https://www.hetzner.com/news/traffic-limit/

I checked your screenshots before replying to you (and regardless of jgrahamc apologizing with a convenient "we don't do that anymore"). It seems like the second screenshot came after you told them you were thinking about leaving the service. At least that's the way the screenshots are linked in your post. I think your english skills (from two years ago) failed you here. You told them you were possibly going to leave the service, and in their follow-up they asked you to notify them if/when you moved off the service. I don't see any threat here.

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.

On my first reply I asked them: "So, tl;dr, my website uses too much traffic and I need to upgrade to an enterprise plan?" Then I explained that I probably couldn't afford an enterprise plan, explained why, and said if the business plan ($200) or a solution that reduced their costs (eg: no expensive POPs) wasn't possible, my only option (since I couldn't afford it) was to leave.

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.

And I appreciate you sharing this. We are looking into this internally. This _should not_ happen.

That's what I was suspecting but couldn't find any claims of that on their site. Is a per-gb plan different from Enterprise? How much do they charge per gb?

No, any amount of traffic can be served at any plan level.

We use Cloudflare and AzureCDN together

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact