Cloudflare vs. Vercel for Next.js: How OpenNext Saved Us $250/Month
Key Takeaways
- Vercel's build minute costs were hitting $9/day for our Next.js CI/CD pipeline—Cloudflare Workers with a $5/month plan gives 6,000 build minutes and handles the same workload
- @opennextjs/cloudflare is production-ready for deploying Next.js to Cloudflare Workers, and the migration is far simpler than most teams expect
- The real unlock isn't just cost savings—it's pushing directly to a live dev environment on Cloudflare Workers instead of developing locally, which changes how fast your team can iterate
Is Vercel Still Worth the Cost for Next.js?
For many teams, no. We were spending $9/day on Vercel build minutes—roughly $270/month—just to run CI/CD for a Next.js application. That’s not a bill for hosting. That’s not a bill for bandwidth. That’s purely the cost of Vercel compiling and deploying your code every time you push a commit. When we moved the same workload to Cloudflare Workers using @opennextjs/cloudflare, our build cost dropped to $5/month for 6,000 minutes. Same app. Same framework. A 98% cost reduction.
The tool that makes this possible is OpenNext, an open-source adapter that packages your Next.js application for Cloudflare Workers. It handles the translation layer between Next.js’s runtime expectations and Cloudflare’s edge infrastructure. And it works.
How Did Vercel Get So Expensive?
Vercel’s pricing model is designed to be invisible at low volume and punishing at scale. The free tier is generous enough to hook you. The Pro tier at $20/seat/month seems reasonable. But the real cost lives in the build minutes.
Every git push triggers a build. Every pull request triggers a preview deployment. Every branch gets its own environment. For an active team pushing code multiple times per day—which is what CI/CD is for—those minutes compound fast. At $9/day, we were burning through the included minutes early in the billing cycle and paying overage rates for the rest.
The problem isn’t that Vercel is bad. Vercel is excellent infrastructure. The problem is that Vercel’s pricing assumes you’ll optimize for fewer builds, which runs directly counter to the development velocity that CI/CD is supposed to enable.
What’s the Cloudflare Alternative?
Cloudflare Workers with the $5/month paid plan gives you 6,000 build minutes. For context, that’s roughly 200 builds at 30 minutes each, or 600 builds at 10 minutes each. For most teams, that’s more than enough for a month of aggressive development.
But the real shift isn’t just swapping one hosting provider for another. It’s rethinking your development workflow entirely.
We set up our CI/CD pipeline not to develop locally, but to push directly to a live dev environment on Cloudflare Workers. Every commit goes to a real, running deployment. The feedback loop is immediate. You don’t spin up a local dev server, wait for it to compile, test in an environment that only approximates production, and then push and hope it works. You push, and within minutes you’re looking at your changes running on the actual infrastructure they’ll serve from in production.
This isn’t theoretical. This is how we work now.
How Does @opennextjs/cloudflare Work?
OpenNext is an adapter that takes a standard Next.js application and makes it compatible with serverless platforms outside of Vercel. The @opennextjs/cloudflare package specifically targets Cloudflare Workers.
Under the hood, it handles the parts that would otherwise require significant engineering effort:
- Server-side rendering runs on Cloudflare Workers, which are V8 isolates—not Node.js containers. OpenNext bridges the API differences.
- Static assets are served from Cloudflare’s CDN, with proper cache headers and immutable asset handling.
- API routes work as expected, running as Workers functions at the edge.
- Image optimization routes through Cloudflare’s image transformation pipeline instead of Vercel’s.
- Middleware executes at the edge, consistent with Next.js’s middleware model.
The setup is straightforward. Install @opennextjs/cloudflare, add it to your build pipeline, and deploy with wrangler. The OpenNext documentation walks through the specifics, but the short version is: it works. We didn’t have to rewrite routes, abandon features, or compromise on Next.js functionality.
What’s the Real Cost Comparison?
Let’s lay out the numbers for a small-to-mid-size team running active CI/CD:
Vercel (our previous bill)
- Pro plan: $20/seat/month
- Build minute overages: ~$9/day ($270/month)
- Total for a 3-person team: $330+/month
Cloudflare Workers (our current bill)
- Workers Paid plan: $5/month (includes 6,000 build minutes via CI/CD)
- Total: $5/month
That’s not a rounding error. That’s a category difference. The $5/month Cloudflare plan includes 10 million requests, 30 million KV reads, and the build minutes we need. For a startup or a small team, $325/month in savings is meaningful.
What Are the Tradeoffs?
Vercel isn’t overcharging for nothing. You get real value from the Vercel platform:
- Zero-config deployments with automatic preview URLs for every PR
- Analytics and Web Vitals baked into the dashboard
- Edge Config and Feature Flags without additional services
- Automatic ISR and caching that’s deeply integrated with Next.js internals
Moving to Cloudflare means you lose some of that integration. Preview deployments require configuring Wrangler environments or using Cloudflare Pages. Analytics come from Cloudflare’s separate Web Analytics product. Feature flags need a third-party solution or Cloudflare Workers KV.
None of these are dealbreakers. They’re operational decisions. If your team has the engineering maturity to configure a CI/CD pipeline—and if you’re reading this, you do—you can set up equivalent workflows on Cloudflare.
The one genuine concern is compatibility. Not every Next.js feature works identically on Cloudflare Workers. Edge cases around next/image configuration, certain dynamic route patterns, and some middleware behaviors may require minor adjustments. The OpenNext project is actively closing these gaps, and for our use case, everything worked without modification.
Should You Switch?
If you’re a solo developer or small team on Vercel’s free tier with minimal build activity, Vercel is still a great choice. The DX is unmatched for getting a Next.js app live with zero configuration.
If you’re on Vercel Pro and your build minutes are driving your bill up, run the numbers. Take your current monthly Vercel invoice, identify how much is build minutes and overages, and compare it against Cloudflare’s $5/month Workers plan. For most teams doing active CI/CD, the math is decisive.
The migration path is real. @opennextjs/cloudflare is not a proof of concept—it’s production infrastructure. We run our development pipeline on it daily, pushing directly to live dev environments on Cloudflare Workers, and the experience is better than what we had on Vercel. Not because Cloudflare’s DX is superior (it isn’t, yet), but because spending 98% less on builds means you stop thinking about build costs entirely. You push freely. You iterate faster. You develop the way CI/CD was supposed to work before the bill made you hesitate.
The Bottom Line
Vercel built the best deployment experience for Next.js and priced it accordingly. Cloudflare built a global edge network and priced it to undercut everyone. OpenNext built the bridge between them.
If you’re paying Vercel $9/day for builds, install @opennextjs/cloudflare and try a deployment on Cloudflare Workers. The migration is measured in hours, not weeks. The savings are measured in thousands per year. And the development workflow—pushing straight to a live dev environment instead of running everything locally—might be the biggest upgrade of all.
Ready to Transform Your Marketing?
Let's discuss how Silvermine AI can help grow your business with proven strategies and cutting-edge automation.
Get Started Today