Guides

What is a VPS? Virtual private servers explained, and how to choose one

A VPS is a virtual machine you rent with its own OS, IP address and root access. How it works, VPS vs shared and dedicated, sizing, and the first steps.

Published ~9 min read

Short answer: a VPS, or virtual private server, is a virtual machine rented from a hosting provider. One physical server is divided by a hypervisor into several isolated virtual servers, and each behaves like a computer of its own: its own operating system, its own share of CPU, RAM and disk, its own public IP address and full root or Administrator access. You install and run whatever you want on it — a website, an API, a database, a game server, a VPN — and it stays online around the clock in a data centre.

“Private” means private to you: other customers’ virtual servers run on the same hardware, but none of them can see into yours, and the resources assigned to your VPS are yours. It sits between shared hosting, where you rent an account on someone else’s server, and a dedicated server, where you rent the whole machine.

How does a VPS work?

The provider installs a hypervisor on a powerful physical server — usually KVM on Linux. The hypervisor creates virtual machines and hands each one a fixed allocation:

  • vCPUs — virtual processor cores, scheduled onto the host’s physical cores.
  • RAM — reserved memory the VM sees as its own.
  • Disk — a virtual disk, stored on the host’s drives or on networked storage.
  • Network — a virtual network card with a public IPv4 address, often IPv6 too, and a port speed.

Inside, you see an ordinary server. You boot it, log in over SSH or Remote Desktop, install packages and configure services exactly as on physical hardware. The provider manages the host, the network and the hardware underneath.

VPS vs shared hosting vs dedicated server

Shared hostingVPSDedicated server
You getAn account and a control panelA virtual machine with root accessA whole physical machine
SoftwareWhat the host installed (PHP, MySQL…)Anything that runs on the OSAnything, including your own hypervisor
ResourcesShared with hundreds of sitesAllocated to youAll of the hardware
Own IP addressUsually sharedYesYes
Who administersThe hostYou (unmanaged) or the host (managed)You or the host
ScalingChange plan, within limitsUpgrade in minutesNew hardware, migration
PriceLowestLow to moderateHighest

Shared hosting is enough for a simple PHP site and nothing else: no background processes, no custom software, no root. A VPS removes those limits for a few euros more. A dedicated server is the next step when a workload keeps a whole machine busy; VPS vs dedicated server shows how to tell when you have reached it.

KVM VPS or container VPS?

Two technologies are sold under the same name. A KVM VPS is a full virtual machine with its own kernel: you can run any Linux distribution, Windows or BSD, load kernel modules and run Docker or WireGuard without restrictions. A container VPS (OpenVZ, LXC) shares the host’s kernel; it is lighter, but kernel-level software often fails and resources are easier to oversell. Check before you buy, and inside an existing server run systemd-detect-virt: kvm is a virtual machine, openvz or lxc a container. KVM vs OpenVZ goes through the consequences.

What is a VPS used for?

  • Websites and online shops that outgrew shared hosting, with your own web server, PHP version and caching.
  • APIs, web apps and databases — Node.js, Python, Go, PostgreSQL, Redis.
  • Bots and automation: Discord and Telegram bots, scrapers, cron jobs, n8n workflows.
  • Game servers for a group or a community.
  • A Windows desktop in the data centre over Remote Desktop, for trading terminals or remote work.
  • Your own VPN, proxy, mail server, Git server, password manager or file sync.
  • Development, staging and CI runners.

How do you choose a VPS?

WorkloadvCPUsRAMNotes
Static site, small bot, personal VPN1–21–2 GBAlmost anything will do
WordPress or a small shop with its database22–4 GBDisk speed matters for the database
Several apps behind a reverse proxy, Docker2–44–8 GBCount each container's memory
Game server for a group2–4 fast cores4–8 GB+Single-thread speed beats core count
Windows Server with Remote Desktop2–44–8 GBWindows itself needs 2 GB or more
Database or Java service with real traffic4+8–16 GB+RAM for caches; watch disk IOPS

Beyond size, compare these before you order:

  • CPU type: many cores for parallel work, high clock for game servers and anything single-threaded.
  • Disk: size, and whether it is SSD or NVMe-backed; ask how storage can grow later.
  • Network: port speed, and whether traffic is metered, fair use or billed per gigabyte.
  • Location: close to your users for latency, and in a jurisdiction you are comfortable with.
  • Virtualisation: KVM, for the reasons above.
  • Access and recovery: a browser console that works when SSH does not, OS reinstall, snapshots.
  • Protection: DDoS mitigation, and whether backups are included or yours to arrange.
  • Sign-up and payment: what the provider asks for — some want ID documents, others only an e-mail address.

What decides the price of a VPS?

Mostly the resources: vCPUs, RAM and disk, in roughly that order of cost. Beyond them, the CPU generation and how many vCPUs share a physical core, the storage technology, the port speed and traffic policy, the location — data centre space costs differ a lot between cities — and the operating system: Windows Server carries a licence fee that Linux does not. Very cheap plans usually save on one of these, typically by putting many more VMs on each host. Compare plans on what your workload needs, not on the largest number on the page: a game server wants fast cores, a database wants RAM and disk speed, a VPN needs almost nothing but a good network.

Managed or unmanaged?

Most VPS are unmanaged: the provider keeps the host and network running, and the operating system and everything on it are yours — updates, security, backups. A managed VPS adds an administrator from the provider at a higher price. If you are comfortable on a command line, unmanaged gives you full control for less money. Managed vs unmanaged VPS lists what each side does.

What to do first on a new VPS

A new VPS is on the internet from the first minute, and bots will try its SSH port within hours. Before you install anything else:

Debian · Ubuntu · first login as root
ssh root@SERVER_IP
apt update && apt full-upgrade -y
adduser alice && usermod -aG sudo alice      # a normal user with sudo
# copy your SSH key for the new user (run on your computer):
#   ssh-copy-id alice@SERVER_IP
ufw allow OpenSSH && ufw enable              # firewall with SSH allowed
apt install -y unattended-upgrades           # automatic security updates

Then disable password logins for SSH and decide on backups. The initial server setup guide walks through each step in order, and securing SSH access covers keys and hardening.

VPS hosting at VMHeaven

Every VMHeaven VPS is a KVM virtual machine with root access, its own IPv4 address and always-on DDoS mitigation, in Amsterdam or Frankfurt. Pick the line by workload: Standard KVM on Intel for general-purpose servers and the most vCores per euro, Hi-CPU KVM on AMD EPYC for game servers and other single-thread work, DMCA Ignored KVM for offshore hosting, Pentesting KVM for scanning and security research, or a Windows VPS for Remote Desktop. You can pay by card, PayPal or crypto (Bitcoin, Ethereum, USDT, Litecoin, Monero and more), with no ID check at sign-up.

Frequently asked

What is a VPS used for?

Hosting websites, APIs and databases, running bots, game servers and automation, a Windows desktop reached over Remote Desktop, or your own VPN — anything that should run around the clock with its own IP address and full control.

Is a VPS better than shared hosting?

For anything beyond a simple PHP site, yes: you get root access, your own resources and IP address, and can install any software. The trade-off is that on an unmanaged VPS updates and security are your job.

How much RAM does a VPS need?

1–2 GB is enough for a small site, bot or personal VPN; 2–4 GB for WordPress with its database; 4–8 GB for Windows Server or several apps in Docker; more for busy databases and game servers.

Related articles

All guides