This site runs on a £4/month VPS. It serves static files via nginx, runs a Python cron scheduler that handles timed article publishing, maintains an RSS feed, and handles automated social distribution. Monthly infrastructure cost: £4. There are no managed databases, no load balancers, no CDN origin costs beyond Cloudflare's free tier. This is not a statement about being anti-cloud. It is a reminder that most things people pay £20–100/month for in SaaS subscriptions are just cron jobs on a computer that is always on.
A Virtual Private Server is a slice of a physical server you rent by the month. You get root access, a Linux OS, a fixed IP, and whatever compute and storage tier you paid for. At the entry tier — £3–5/month — you typically get 1–2 vCPUs, 2–4GB RAM, and 20–40GB disk. For a static site with light automation, this is vastly more than you need. The site serving this article uses under 200MB of RAM under normal load.
The reason most people do not use a VPS is not cost. It is that the mental model requires comfort with SSH, a terminal, and basic Linux administration. If you have those three things, a VPS replaces a surprising amount of managed infrastructure.
Static sites. Nginx is trivial to configure and handles significant traffic without breaking. Cloudflare in front of it handles caching, SSL, and DDoS protection for free. This is a better setup than most managed static site hosts for the content types that do not require server-side rendering.
Cron-based automation. Anything that runs on a schedule — publishing scripts, report generators, data processors, notification senders, backup jobs. These are often the first things people pay for SaaS to handle, and almost none of them require managed infrastructure. They require a computer that is on and a cron entry.
RSS feeds and sitemaps. Files that get updated periodically and served statically. Generated by a script, written to disk, served by nginx. No database required.
Simple Python or Node services. Anything without unpredictable traffic patterns that runs predictably under known load. An API that processes webhooks, a bot that responds to events, a script that converts files — if it has a consistent workload and no scaling requirement, it belongs on a VPS, not on a managed platform charging for compute headroom you will never use.
Anything with unpredictable traffic spikes where you need to scale horizontally fast. Database workloads that need automated backups, point-in-time recovery, and failover — the management overhead of doing this correctly on a VPS is real, and managed database services earn their price here. Email delivery: SMTP reputation is hard to build and easy to lose, and the domain reputation mechanics alone make self-hosting email a poor trade unless you know exactly what you are doing. Anything where downtime directly costs money and you have no ops capacity to monitor and recover quickly.
The test is simple: if failure of this thing at 3am would cause you to wake up and fix it immediately, you probably want managed infrastructure. If failure would be noticed and resolved the next morning without lasting damage, a VPS is fine.
Ubuntu 22.04. Nginx for static file serving, configured with a single server block pointing at the site root. A Cloudflare Origin Certificate for SSL — not Let's Encrypt, because Cloudflare proxies the traffic and the certificate only needs to be trusted by Cloudflare, not by browsers directly. Python 3 for all automation. One Python script run by cron every hour that reads a scheduled.json file and runs the publish script when the time is right. No containerisation. No CI/CD pipeline. No monitoring dashboard.
Setup time the first time: approximately three hours, including configuring nginx, setting up SSH key access, installing Python dependencies, and testing the cron job. This is the honest number.
Pick one thing you currently pay for monthly that is fundamentally a scheduled task. A report that emails you results every morning. A script that processes files overnight. Content that needs to go live at a specific time. Put it on a VPS first. Get comfortable with the setup. Add things from there.
Providers worth considering at this tier: Hetzner (cheapest, European data centres, reliable), DigitalOcean (slightly more expensive, better documentation, excellent for beginners), Vultr (comparable to Hetzner, slightly more flexible on locations). All three have free trials or credits available.
Self-hosting is not ideology. It is not about distrust of cloud providers or SaaS platforms — most of them are excellent and worth paying for when the use case fits. It is about knowing the difference between "I need infrastructure that scales" and "I need a computer that is always on." Most side projects, small sites, and personal automation need the second thing. The first thing costs ten times more and solves a problem you do not have.