All articles
37 articles · updated weekly See our Tools
All articles
Comparisons

VPS, VPC, and Dedicated Server: What's the Difference and When to Use Each

VPS, VPC, and dedicated server appear side by side on every hosting comparison page — but they mean different things. Here's where the money goes and how to decide.

COVER · Comparisons

Every hosting comparison page puts them side by side: VPS, VPC, dedicated server. Providers use the terms inconsistently, which makes the decision harder than it needs to be. I've seen teams burning $500/month on a dedicated box when a $50 VPS would have done the job — and the reverse too, with apps crawling on undersized VPS instances that should have moved to bare metal months earlier.

This post covers what each option actually is, where the money goes, and how to pick.


VPS: what you're actually renting

A VPS (Virtual Private Server) is a slice of a physical server isolated by a hypervisor. The provider has a machine with, say, 512 GB of RAM and 128 physical cores, and carves it into dozens of instances. You get a fixed number of vCPUs, a guaranteed amount of RAM, and a virtual disk — typically NVMe SSD shared via network storage.

The "private" in the name is a bit optimistic. You don't share processes or filesystems with other tenants, but you do share the underlying physical hardware. Two practical consequences:

Noisy neighbor: another VPS on the same host running heavy I/O or CPU load can degrade your performance. Good providers isolate this better with cgroups, but it never disappears entirely.

Resources aren't dedicated unless the contract says so: some VPS plans sell "2 vCPUs" that are actually burst — you get full access only when the neighbor isn't maxing out. If the contract says "dedicated vCPU," you have real priority scheduling. Read the contract.

What a VPS is not

A VPS is not a cloud VM. When you spin up a VPS at Hetzner, Vultr, or Contabo, you're renting a machine with fixed resources at a monthly rate. No autoscaling, no managed databases included, no CDN, no 200 à-la-carte services.

It's closer to renting a remote computer than to using a cloud platform.

When it makes sense

  • APIs with predictable traffic (20–500 req/s)
  • Permanent staging environments
  • Self-hosting: Coolify, Dokku, Plausible, Gitea, n8n
  • Medium-sized PostgreSQL databases with manual backups or Barman
  • Cost: $6–60/month depending on size

VPC: this is not a server

VPC (Virtual Private Cloud) is an isolated virtual network inside a public cloud. AWS, GCP, and Azure all have VPCs. You don't "buy a VPC" as an alternative to a server — you create a VPC to isolate the resources you deploy inside it.

If you have EC2 instances on AWS, they live inside a VPC. That VPC defines: what subnets exist, which ports are exposed to the internet, how instances communicate with each other, which ones have public IPs. It's the equivalent of configuring a corporate network — VLANs, router, firewall rules — but in software with per-hour billing.

The confusion is understandable because providers use "VPC" as a selling point on pricing pages. "Server with VPC" in practice means: server on public cloud with an isolated virtual network. It's a component of the architecture, not a server category.

What VPC actually solves

Without VPC, all instances in a project sit on the same public network with identical access rules. With VPC, you put the database in a private subnet (no public IP, no direct internet access), the application servers in a public subnet (with a load balancer in front), and define exactly which ports each layer exposes to which other layer.

Internet
    ↓
[Load Balancer — public subnet]
    ↓ port 3000
[App servers — private subnet]
    ↓ port 5432
[PostgreSQL — private subnet, no public IP]

That network isolation is what VPC delivers. It's about topology, not compute capacity.


Dedicated server: the hardware is yours

A dedicated server means you rent an entire physical machine. No hypervisor, no sharing, no neighbor thrashing the NIC. The CPU, memory, and disks belong exclusively to you for the duration of the contract.

The immediate consequence is predictable, consistent performance. A 16-core Xeon without a hypervisor layer outperforms 16 vCPUs on a VPS, especially for database workloads, video transcoding, compilation, and anything with heavy disk I/O.

What you give up

Everything the cloud provides for free (or nearly free). You manage the hardware indirectly — if a disk fails, you open a ticket and wait for the provider to swap it. If you want PSU redundancy or RAID, you specify that when ordering. Autoscaling doesn't exist: if traffic doubles tomorrow, you have what you have until a new machine is provisioned.

Most dedicated providers (Hetzner, OVHcloud, ServerHub) hand you a server with an OS installed and SSH access. The rest is your responsibility: updates, monitoring, backups, failover.

When it makes sense

  • Production databases with high I/O (MySQL, PostgreSQL with 50M+ rows and complex queries)
  • Rendering farms, video transcoding pipelines
  • Workloads that violate VPS fair-use policies through sustained high CPU
  • Hardware-specific requirements: GPU for ML, high-IOPS NVMe, large RAM pools
  • Cost: $100–1,000/month depending on configuration

Direct comparison

Criterion VPS Dedicated Server
Hardware Shared (isolated) Exclusive
Performance Predictable with caveats Consistent
Scalability Vertical (resize) Vertical, but manual
Setup time Minutes Hours to days
Management You You
Entry cost Low High
Best for Mid-size apps, self-hosting Heavy DB, intensive workloads

VPC doesn't belong in this table because it's a different concept — it's the network layer that wraps the other two when you're on a public cloud.


The practical decision

Starting out, cost matters: VPS. A 4-vCPU, 8 GB RAM, 80 GB NVMe instance runs around $10–20/month at Hetzner or Contabo. It covers most applications at early stage without complexity.

Real traffic, need to scale fast, small team: managed cloud instances (AWS EC2, Google Cloud Run, Fly.io). You pay more per compute unit, but you get autoscaling, managed databases, monitoring, and alerting — without a dedicated sysadmin.

Heavy database load, cloud bill has become painful: dedicated server. Migrating PostgreSQL from AWS RDS to a Hetzner dedicated box can cut costs 60–70% at equivalent or better performance. The tradeoff is operational — you take on hardware responsibility.


Frequently asked questions

What's the difference between a VPS and an AWS EC2 instance?

Functionally similar — both are VMs. The difference is the ecosystem. EC2 comes with VPC, IAM, S3, CloudWatch, and 200 other integrated services. A VPS comes with a VM. EC2 bills per hour of use with 1–3 year reservations available. VPS typically has a fixed monthly rate. For applications that don't need the AWS ecosystem, VPS tends to be significantly cheaper for equivalent resources.

Is a VPS safe enough for production?

Depends on what you mean by safe. Tenant isolation on a well-configured VPS (cgroups, namespaces, no cross-tenant storage access) is sufficient for most applications. The risk isn't a neighbor invading your VM — it's noisy neighbor degrading your performance at the worst moment. For sensitive data with specific compliance requirements (PCI DSS level 1, for example), a dedicated server or a cloud provider with the relevant certifications is more appropriate.

Do I need a VPC if I'm using a VPS?

No — VPC is a public cloud concept. On VPS providers (Hetzner, Vultr, DigitalOcean), you manage network isolation with the provider's firewall, iptables, and optionally private networking between your VMs in the same datacenter. Some providers call this "private network" or "VLAN" — same idea, different name.

When should I migrate from VPS to dedicated?

Three practical signals: (1) you're on a 16+ vCPU VPS and still seeing CPU contention during peak hours, (2) the monthly VPS cost has reached what an equivalent dedicated would cost, (3) database query latency is inconsistent in ways that don't improve with indexing. Moving the database to dedicated before moving the application is usually the highest-leverage first step.


Metal, slice, or network — the decision is cost and operations

VPS is the default choice for early-stage or moderate workloads. Dedicated server enters when you need hardware without sharing and already have the operations to support it. VPC is not a server — it's the network layer you use when you're inside a cloud provider.

The most common mistake is renting dedicated before you need it, or staying on VPS long after inconsistent performance and cost are already a problem. The math is straightforward: compare cost per vCPU and per GB of RAM, estimate the operational overhead of each option, and identify your current bottleneck.

To verify the IP, ASN, and actual datacenter location of a server you're evaluating — especially when a provider claims "low latency to the US" but the servers are physically in Europe — the IP Address Info tool shows real location, datacenter, and ASN before you sign.

RD
Author
Rafael Duarte
Desenvolvedor backend com passagem por fintech e SaaS B2B — trabalhou em times que escalaram APIs de zero a milhões de requisições. Carrega cicatrizes de produção suficientes para ter opiniões fortes sobre ferramentas, padrões e decisões de arquitetura. Não é acadêmico: leu a RFC do UUID quando precisou escolher entre v4 e v7 para uma tabela de alta escrita.
View profile