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…
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):
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.
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.”
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:
My 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:
Netlify 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.
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.
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.