The VPS / VDS terminology is muddled
"VPS" (Virtual Private Server) and "VDS" (Virtual Dedicated Server) are marketing terms in 2026 more than technical ones. The terms used to mean specific things; the meanings drifted. The decisions that actually matter are about resource sharing, virtualisation type, and provider quality — not the label.Below is what to actually ask when sizing a VPS-class machine.
The questions that matter
- Is CPU dedicated or shared (oversubscribed)? "Dedicated CPU" plans — where vCPUs are pinned to physical cores not shared with other tenants — perform meaningfully better for CPU-bound workloads.
- Is the storage local NVMe or network-attached? Local NVMe is faster but ties the VM to the host (no easy live migration). Network storage (Ceph, ZFS-based, vendor-specific) is slower but resilient.
- What's the IOPS limit? "100 GB SSD" is meaningless without IOPS. Most cheap VPS plans throttle IOPS aggressively.
- What's the network throughput? Public bandwidth allowance (1 Gbps shared vs dedicated) and in-data-centre throughput (for app+DB traffic).
- What's the snapshot / backup story? Built-in, charged extra, or DIY?
- Live migration during host maintenance? Some providers do, some don't. Affects perceived uptime.
Sizing for the workload
A typical web app workload on VPS:- Small WordPress / Laravel site — 2 vCPU, 4 GB RAM, 50-80 GB SSD. Cheap tier.
- Mid-traffic dynamic site — 4 vCPU, 8-16 GB RAM, 100+ GB SSD with decent IOPS.
- Database-backed app at meaningful scale — separate VPS for app and DB. DB sized for working-set in RAM where possible.
- Build / CI runner — CPU-heavy, RAM-moderate, throwaway storage. Cheap if you size right.
The mistake we see most: overspeccing RAM and underspeccing IOPS. Most modern Linux web app workloads are IO-bound at scale, not RAM-bound.
Provider tiers, real-world
- Hyperscaler VMs (AWS EC2, Azure VMs, GCP Compute Engine) — most expensive per resource unit, best ecosystem, best for "we're already on this cloud".
- Mid-tier providers (DigitalOcean, Linode/Akamai, Vultr) — good UX, predictable pricing, broad tier coverage. The default for non-hyperscaler workloads.
- Cost-optimised providers (Hetzner Cloud, Contabo, OVH) — significantly cheaper, less ecosystem, region-limited. Hetzner especially has become a sweet spot in 2026.
- Local TR providers — for TR-audience sites, local latency matters. Names vary; quality varies more.
Operating system and base image
- Ubuntu LTS — most common, widest community support
- Debian stable — preferred for "stable, boring, long support"
- Rocky / AlmaLinux — RHEL-compatible, free
- NixOS / Talos / Flatcar — niche but interesting for declarative or container-host setups
For a generic VPS, Ubuntu LTS or Debian stable is the boring correct choice.
Setup discipline
A working VPS setup, day one:- Non-root user, SSH key only, password auth disabled
- Firewall (ufw or nftables) with default-deny inbound
- Automatic security updates configured
- Fail2ban or equivalent for brute-force mitigation
- Hostname, timezone, locale set
- Monitoring agent (Prometheus node-exporter, or provider-specific) installed
- Backup configured (snapshot + off-VPS)
- Application deployed via configuration management or Docker
That's a one-time 30-minute investment that pays back many times over.
Snapshots vs backups
- Snapshots — vendor-side, fast, useful for rollback after a deploy
- Backups — off-vendor, slow, useful when the vendor has an incident
You need both. Don't conflate them.