Goodbye Netlify, Hello Cloudflare.

← back ——— Harrison Broadbent, published June 6 2024

Until recently, I’d been a die-hard Netlify fan. Then, one of my blog posts hit the frontpage of Hacker News, Netlify recorded 233Gb of bandwidth usage and sent me a bill for $110, and I started to question things…

Table of Contents

Introduction

It’s March 2020, the world was shutting down, and I’d just git push-ed this site’s first commit (auto-deployed with Netlify):

hacker news story in 1st place

Now, 4 years later, I’ve completely migrated off Netlify. I don’t have a single site left with them. In fact, in 28 days they’re planning to suspend all my sites.

Why? One simple reason — bandwidth overage.

Bandwidth overage

Netlify bills for bandwidth over a certain limit, and there’s been some recent horror stories about runaway bandwidth charges. That horror HN thread describes how Netlify issued a bill for $104k to a site owner who was DDoS-ed (causing a massive bandwidth spike).

Netlify’s CEO replied in the HN thread with:

“It’s currently our policy to not shut down free sites during traffic spikes that doesn’t match attack patterns, but instead forgiving any bills from legitimate mistakes after the fact.”

- bobfunk (Netlify CEO) on Hacker News

I knew this about this. I’d seen the Hacker News thread. Unfortunately, that didn’t do anything to lessen my shock when, during a Hacker News traffic spike, I logged into my Netlify dashboard and saw my ballooning bandwidth usage:

hacker news story in 1st placeMy bandwidth ballooning to 233 GB/100 GB during a HN traffic spike.

I’d also been kindly provided the accompanying invoice (now overdue) on my Netlify account:

hacker news story in 1st placeNetlify issuing an invoice of $110 USD for the bandwidth usage.

And just as I was about to publish this article, I received another email from Netlify noting that I need to “provide a valid credit card” to “keep [my] sites up and running”, with a similar invoice breakdown to above.

Hmm. Not ideal, is it?

Runaway cloud charges aren’t a new thing. A year ago, there was a similar story regarding a $3k bill from Vercel. Although that bill was unrelated to bandwidth overage, it was still at the forefront of my mind as I considered whether I wanted even a small possibility of being on the hook for similar runaway charges.

The answer was, of course, “no”.

It took about 2 hours to migrate two sites from Netlify to Cloudflare Pages (mostly fiddling with DNS records), and now I sleep slightly better at night. I welcome Netlify suspending my account; if anything, at this point, they’re probably doing me a favour.

Static host bandwidth overage charges (breakdown)

Here’s a short breakdown of the current (June 2024) state of various static hosts around the web. I’m hoping to get you up-to-speed on hosting offerings, so you can make an educated decision on whether you migrate hosts or not.

The TLDR; is that for static sites & pages, Cloudflare and Render both have unlimited offerings and are the two I’d recommend. (note: I’m only recommending Render based on their features. I’ve used their compute platform, but not their static hosting).

I think nowdays it’s difficult to justify the bandwidth-limiting hosts on this list. With such similar offerings across hosts, why would you choose one with bandwidth limits, instead of one without?

Host Limit Charge Source
Cloudflare Pages N/A Unlimited bandwidth
Render ∞ (inbound) N/A inbound bandwidth is free
GitHub Pages 100 GB N/A soft bandwidth limit of 100 GB/month
Vercel (Hobby) 100 GB N/A 100 GB limit , no billing for Hobby plan
Netlify 100 GB $55/100GB 100 GB limit, then $55 per 100GB
DigitalOcean 1 GB $0.02/GB 1GB transfer allowance with static sites

Of course, maybe there are other factors locking you into a cloud host and preventing you from migrating. Perhaps one even has a specific feature you need. That’s fine!

If, however, you’re sticking with your current provider due to simple inertia, it might be time for a re-assessment.

Conclusion

This isn’t a hit-piece on Netlify. I actually really liked them! I wish I could have justified sticking with them, but the horror stories and looming bandwidth charges pushed me away.

If anything, I want this article to be a simple PSA to other developers — it might be time to review your hosting arrangements and see if there are better alternatives available.