I am an experienced user and avid customer of Netlify. Netlify is amazing for small sites, blogs and what not. But as you go up in traffic, that's when you start to realize how over-priced their charges are, atleast for bandwidth. I'm not saying they're bad, they still need to get back all the money they lose on their free users. But for enterprise customers, it's really bad.
I'll give you an example - My client has a high traffic website with over 300TB of bandwidth which is being served via cloudflare on a $20/mo plan (probably free plan also works well I guess).
Migrating this to Netlify would cost us roughly $6000 per month. (Netlify charges $20/1000GB). To me that's insane if you really want to adopt JAMstack.
For 6 grand, I can host an elaborate GCP setup with load balancers on compute engine. Or I can have a dozen instances on AppEngine all automatically handling my load for me. What am I missing?
This is not to say I don't like static sites - it's a different thing. I am 100% proponent of static sites, maybe just not Netlify.
They don’t recommend it, but you can front a Netlify site with Cloudflare—including putting the cf origin cert into Netlify. I do this for my website.
You just add the domain to the site in Netlify, but then set up the hosts as CNAME in cf pointing at the codenamed Netlify hostname for the site.
I’m on the cf free plan, and the whole setup works great.
Cloudflare could probably take the whole stack though if they gave me a simple tool to upload a directory of files to them.
(I stopped using Netlify for builds when I started moving my repos off of GitHub due to GitHub’s collaboration with ICE, and Netlify only supports the major git services for autobuilds. I self-host my repos with Gitea now, so I have to build on my Drone server and just use the Netlify CLI in the last CI step to upload the built site.)
Technically there is not a limit of 30 sites, but rather of 30 deployed worker scripts. With a little JavaScript editing, you can create a single worker script that is able to serve an unlimited number of sites (by including the hostname in the KV key).
Kentonv, how does CloudFlare manage to offer free cdn when google cloud and other providers charge a ton for bandwidth. What are your limits? How are you still making money in the millions of sites that use free CloudFlare cdn ?
Because internet architecture is based around transit capacity, not usage. You buy capacity like 10gbit/sec lines to interconnect with and Cloudflare has enough bandwidth to easily support their free customers and upsell on other features.
Remember they are also a security service with DDOS protection and that requires high bandwidth anyway. Other CDNs don't charge for bandwidth but rather for bytes-used, which is just more profitable, especially if you don't have a lot of other features to charge for.
I'm surprised that more CDNs don't try to compete with CF on this but apparently that's just how they want to operate.
The product and engineering challenges involved in building out our network such that it is both performant and cost-effective to operate are fascinating.
The easiest way to learn the answer to this sort of question is to come work at Cloudflare :)
I run a SaaS on Google Cloud functions and the bandwidth cost from somebody linking our homepage in a HN comment is often 2x the cost to run the actual service.
Which product? Cloud Storage??
Is there Cloud CDN (or some other CDN) on top? If not, it's not surprising. With a proper CDN setup (say with Cloudflare) that number should be much lower than that of Netlify. Particularly with Cloudflare since your CDN cost is almost 0.
FYI Netlify doesn't work well with Cloudflare. That's the reason why it's so expensive as a standalone option.
Comments
I am an experienced user and avid customer of Netlify. Netlify is amazing for small sites, blogs and what not. But as you go up in traffic, that's when you start to realize how over-priced their charges are, atleast for bandwidth. I'm not saying they're bad, they still need to get back all the money they lose on their free users. But for enterprise customers, it's really bad.
I'll give you an example - My client has a high traffic website with over 300TB of bandwidth which is being served via cloudflare on a $20/mo plan (probably free plan also works well I guess).
Migrating this to Netlify would cost us roughly $6000 per month. (Netlify charges $20/1000GB). To me that's insane if you really want to adopt JAMstack.
For 6 grand, I can host an elaborate GCP setup with load balancers on compute engine. Or I can have a dozen instances on AppEngine all automatically handling my load for me. What am I missing?
This is not to say I don't like static sites - it's a different thing. I am 100% proponent of static sites, maybe just not Netlify.
They don’t recommend it, but you can front a Netlify site with Cloudflare—including putting the cf origin cert into Netlify. I do this for my website.
You just add the domain to the site in Netlify, but then set up the hosts as CNAME in cf pointing at the codenamed Netlify hostname for the site.
I’m on the cf free plan, and the whole setup works great.
Cloudflare could probably take the whole stack though if they gave me a simple tool to upload a directory of files to them.
(I stopped using Netlify for builds when I started moving my repos off of GitHub due to GitHub’s collaboration with ICE, and Netlify only supports the major git services for autobuilds. I self-host my repos with Gitea now, so I have to build on my Drone server and just use the Netlify CLI in the last CI step to upload the built site.)
https://workers.cloudflare.com/sites
Though, as a word of caution, they have a limit of 30 sites at the moment, which cannot be lifted unless you are on an enterprise account. So, YMMV.
For a single static site, it's ridiculously easy to use though.
Technically there is not a limit of 30 sites, but rather of 30 deployed worker scripts. With a little JavaScript editing, you can create a single worker script that is able to serve an unlimited number of sites (by including the hostname in the KV key).
(I'm the tech lead of Cloudflare Workers.)
Kentonv, how does CloudFlare manage to offer free cdn when google cloud and other providers charge a ton for bandwidth. What are your limits? How are you still making money in the millions of sites that use free CloudFlare cdn ?
Because internet architecture is based around transit capacity, not usage. You buy capacity like 10gbit/sec lines to interconnect with and Cloudflare has enough bandwidth to easily support their free customers and upsell on other features.
Remember they are also a security service with DDOS protection and that requires high bandwidth anyway. Other CDNs don't charge for bandwidth but rather for bytes-used, which is just more profitable, especially if you don't have a lot of other features to charge for.
I'm surprised that more CDNs don't try to compete with CF on this but apparently that's just how they want to operate.
The product and engineering challenges involved in building out our network such that it is both performant and cost-effective to operate are fascinating.
The easiest way to learn the answer to this sort of question is to come work at Cloudflare :)
Thanks for the shout-out!
That's super useful, thank you very much for sharing!
FYI: 300 TB egress at standard GCP pricing is already more than $17k.
Google Cloud bandwidth is stupidly overpriced.
I run a SaaS on Google Cloud functions and the bandwidth cost from somebody linking our homepage in a HN comment is often 2x the cost to run the actual service.
Which product? Cloud Storage?? Is there Cloud CDN (or some other CDN) on top? If not, it's not surprising. With a proper CDN setup (say with Cloudflare) that number should be much lower than that of Netlify. Particularly with Cloudflare since your CDN cost is almost 0.
FYI Netlify doesn't work well with Cloudflare. That's the reason why it's so expensive as a standalone option.
https://community.netlify.com/t/how-do-i-use-cloudflare-dns-...
I'm talking about regular network egress. CDN egress is cheaper, but still $13k+ and more depending on destination/cache hit rate/etc.