Skip to main content
Why I Self-Host Instead of Using Cloudflare

Why I Self-Host Instead of Using Cloudflare

I’ve used both sides of this. My portfolio started on Cloudflare Pages, moved to Netlify, and eventually landed on a VPS that I manage myself. Each switch happened because I outgrew what the previous option could do. The decision isn’t complicated, but it depends entirely on what your site actually needs.

VPS hosting

A VPS is a virtual private server. You’re renting a slice of a physical machine in a datacenter. You get your own operating system, your own disk space, and full control over what runs on it. The apartment analogy works well: you’re renting a unit in a larger building, and you can set it up however you want.

This is where you end up if your site needs server-side processing. WordPress, .NET applications, databases, background jobs - anything that requires a running server behind it. You pick the OS, install the software, configure everything yourself, and you’re responsible for keeping it running.

The upside is control. You can install whatever you want, tune the server to your needs, and scale resources when traffic increases. Pricing is usually fixed, so you know what you’re paying every month regardless of how much traffic you get.

The downside is that everything is on you. Server updates, security patches, firewall rules, SSL certificates, deployment pipelines. If you’re not comfortable with Linux administration, the learning curve is steep, or you’ll need to pay for a managed VPS.

Edge services

Edge services like Cloudflare Pages, Netlify, and Vercel take a different approach. Instead of running your site on one server, they distribute it across a global network of nodes. When someone visits your site, they get served from whichever node is closest. For static content, this is fast.

The appeal is that you push your code and the platform handles the rest: the build, the deployment, the CDN, the SSL. No servers to manage, no infrastructure to think about. For static sites, portfolios, documentation, or blogs that don’t need server-side logic, it’s hard to beat.

However, there are limits. These platforms are built around static content and serverless functions. If your site needs a persistent database, background processing, or anything stateful, you’re going to hit walls. Serverless functions also have execution limits and usage caps depending on your plan. Cloudflare Pages gives you unlimited static page views, but Workers and Functions have their own limits. Exceed them and parts of your site can go down, which is not something most people consider when they sign up for a free tier.

Pricing can also surprise you. Fixed VPS costs are predictable. Usage-based billing is not. A traffic spike that a VPS would handle without blinking might push you into a higher billing tier on an edge platform.

Which one and why

If your site is static or mostly static, edge hosting is the easier choice. You get global distribution, zero server management, and fast deploys. For portfolios, documentation, and simple blogs, there’s no real reason to run a VPS.

If your site has dynamic content, databases, or server-side logic, you need a VPS. You’ll spend more time on infrastructure, but you’ll have the control to run whatever you need.

I started on edge services and moved to a VPS because my site outgrew what they could offer. I needed server-side rendering, demo applications with their own databases, and more control over the deployment process than Cloudflare or Netlify gave me. For someone with a simpler site, I’d still recommend starting with an edge provider. You can always move to a VPS later if you need to.