VPS, servidor bare metal y cloud pública son tres formas de conseguir capacidad de cómputo, y la diferencia real está en quién comparte el hardware, cómo se paga y cómo se escala. Elegir mal suele salir caro: una base de datos grande sufriendo en un VPS pequeño, o una web modesta pagando la factura variable de un hiperescalador.

Esta guía explica cómo funciona cada modelo, los compara en una tabla, muestra comandos para comprobar qué tipo de servidor tienes y cómo rinde, y termina con criterios concretos para decidir.

Requisitos previos

No hace falta nada para la parte conceptual. Para ejecutar los comandos de comprobación necesitas:

  • Un servidor Linux (los ejemplos usan Ubuntu 24.04 LTS) con un usuario con sudo.
  • Los paquetes sysstat y fio, que se instalan en la sección de medición.

Qué es cada modelo

VPS (servidor privado virtual)

Un VPS es una máquina virtual con recursos asignados (vCPU, RAM, disco, IP) que corre sobre un servidor físico compartido con otros clientes. Un hipervisor, normalmente KVM, aísla cada VM: tienes tu propio kernel, acceso root y puedes instalar cualquier sistema operativo compatible.

  • Precio: fijo y bajo, mensual u horario.
  • Aprovisionamiento: segundos o minutos.
  • Escalado: cambiar de plan (más vCPU o RAM) con un reinicio.
  • Limitación: las vCPU son hilos del host compartidos; si otros clientes cargan el mismo nodo, puedes notar steal time y variaciones de latencia de disco.

Servidor bare metal (dedicado)

Un servidor bare metal es una máquina física completa para ti. No hay hipervisor del proveedor entre tu sistema y el hardware: todos los núcleos, la RAM y los discos NVMe son tuyos.

  • Precio: fijo mensual, más alto que un VPS, pero con mucha más capacidad por euro cuando se usa a fondo.
  • Aprovisionamiento: de minutos (servidores en stock con instalación automatizada) a días (configuraciones a medida).
  • Escalado: vertical limitado al chasis; horizontal añadiendo servidores.
  • Ventajas propias: rendimiento constante, acceso a funciones del hardware (RAID, virtualización propia con KVM o Proxmox, GPU) y consola remota por IPMI/BMC.

Cloud pública (IaaS de hiperescalador)

En plataformas como AWS, Google Cloud o Azure, las instancias también son VMs, pero rodeadas de un gran catálogo de servicios gestionados (bases de datos, colas, almacenamiento de objetos, funciones serverless) y de APIs para automatizarlo todo.

  • Precio: por uso (segundos u horas de instancia, GB transferidos, operaciones de almacenamiento). Descuentos por compromiso de uno o tres años.
  • Escalado: automático y horizontal con grupos de autoescalado y balanceadores.
  • Limitación: el coste es difícil de prever, sobre todo el tráfico de salida, y la dependencia de servicios propietarios dificulta migrar.

La frontera no es rígida: muchos proveedores de VPS también ofrecen API, balanceadores, redes privadas y Kubernetes gestionado, y algunos, como CubePath, ofrecen VPS y bare metal en la misma plataforma.

Tabla comparativa

CriterioVPSBare metalCloud pública
HardwareCompartido, virtualizadoDedicado, físicoCompartido, virtualizado (salvo instancias metal)
RendimientoBueno, algo variableMáximo y constanteBueno, depende del tipo de instancia
Modelo de precioFijo, bajoFijo, medio-altoPor uso, variable
Previsibilidad de costeAltaAltaBaja sin control activo
Tiempo de altaMinutosMinutos a díasMinutos
Escalado verticalCambio de plan con reinicioCambio de hardwareCambio de tipo con reinicio
Escalado horizontalManual o por APIManualAutomático
Servicios gestionadosAlgunosPocosMuchos
Acceso al hardware (RAID, BIOS, GPU)NoSíLimitado
Esfuerzo de administraciónMedioAltoMedio a alto (según servicios)

Cómo comprobar qué servidor tienes y cómo rinde

Estos comandos te ayudan a comparar con datos en lugar de con la ficha comercial.

Detectar si estás en una máquina virtual

systemd-detect-virt indica el hipervisor, o none en hardware físico:

systemd-detect-virt
kvm

En un servidor bare metal la salida es none. lscpu muestra además el modelo de CPU y, en una VM, la línea Hypervisor vendor:

lscpu | grep -E 'Model name|^CPU\(s\)|Hypervisor vendor'
CPU(s):                               4
Model name:                           AMD EPYC 9454P 48-Core Processor
Hypervisor vendor:                    KVM

Medir el steal time de CPU

El steal time es el tiempo en que tu VM quería CPU pero el hipervisor se la dio a otra. Es el mejor indicador de un nodo sobrecargado. Instala sysstat y toma cinco muestras de un segundo:

sudo apt update
sudo apt install sysstat fio
mpstat 1 5
Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    12.40    0.00    2.10    0.30    0.00    0.20    0.10    0.00    0.00   84.90

Un %steal cercano a 0 es lo normal. Valores sostenidos por encima del 5-10 % bajo carga indican que compartes CPU con vecinos exigentes. En bare metal siempre es 0.

Medir latencia y rendimiento de disco

fio mide IOPS y latencia de forma reproducible. Esta prueba hace lecturas y escrituras aleatorias de 4 KB, el patrón típico de una base de datos, sobre un archivo de 1 GB en el directorio actual:

fio --name=randrw --filename=fio-test --size=1G --rw=randrw --rwmixread=70 --bs=4k --iodepth=32 --ioengine=libaio --direct=1 --runtime=60 --time_based --group_reporting

Fíjate en las líneas read: IOPS= y write: IOPS= y en los percentiles de latencia (clat percentiles). Repite la prueba a distintas horas: en un VPS la variación entre ejecuciones te dice cuánto afecta el hardware compartido, y en bare metal los resultados deberían ser casi idénticos. Borra el archivo al terminar:

rm fio-test

Ver el hardware en un bare metal

En un servidor físico puedes consultar los discos reales y su estado, algo imposible en un VPS:

lsblk -d -o NAME,MODEL,SIZE,ROTA,TRAN
NAME    MODEL                     SIZE ROTA TRAN
nvme0n1 SAMSUNG MZQL21T9HCJR-00A07  1.7T    0 nvme
nvme1n1 SAMSUNG MZQL21T9HCJR-00A07  1.7T    0 nvme

Costes: qué mirar además del precio mensual

Comparar solo el precio de la instancia engaña. Revisa:

  • Tráfico: los VPS y los bare metal suelen incluir un volumen de transferencia o un puerto sin medir; en los hiperescaladores el tráfico de salida se cobra por GB y puede superar el coste del cómputo.
  • Almacenamiento y copias: discos, snapshots y backups se facturan aparte en casi todos los modelos.
  • Utilización real: un servidor que usas al 80 % las 24 horas sale mucho más barato en bare metal o VPS que pagando por hora. El pago por uso compensa cuando la carga es muy variable o temporal.
  • Tiempo de administración: bare metal exige gestionar RAID, firmware y monitorización de hardware; la cloud pública exige gestionar permisos, redes y facturación de decenas de servicios.

Cuál elegir

Elige un VPS cuando

  • Tienes webs, APIs, tiendas online o aplicaciones con tráfico moderado y estable.
  • Quieres entornos de desarrollo, staging o CI baratos y rápidos de crear.
  • Ejecutas bases de datos pequeñas o medianas cuyo conjunto de datos cabe en RAM.
  • Necesitas un coste fijo y previsible, y escalar cambiando de plan te basta.

Elige bare metal cuando

  • La carga es sostenida y alta: bases de datos grandes, análisis, compilación, streaming o juegos con requisitos de latencia estable.
  • Necesitas funciones del hardware: RAID propio, GPU, virtualización anidada o montar tu propio clúster con Proxmox o KVM.
  • Hay requisitos de aislamiento o cumplimiento que piden no compartir hardware.
  • Tu mpstat muestra steal time habitual o fio da latencias muy variables en el VPS actual.

Elige cloud pública cuando

  • El tráfico es muy variable o estacional y necesitas autoescalado horizontal real.
  • Quieres delegar servicios concretos (colas, bases de datos gestionadas, funciones) y aceptas la dependencia del proveedor.
  • Necesitas presencia en muchas regiones a la vez y tu equipo ya trabaja con Terraform o las APIs del proveedor.

Combinaciones habituales

Muchas arquitecturas mezclan modelos: la base de datos en un bare metal y los servidores de aplicación en varios VPS detrás de un balanceador, conectados por red privada; o una base fija en VPS y bare metal con picos absorbidos por instancias en la cloud. Empieza por lo más simple que cubra tu carga actual y mide antes de migrar.

Conclusión

La elección depende de tres factores: cuánto de constante es tu carga, cuánto control necesitas sobre el hardware y cuánto de previsible debe ser el coste. Un VPS cubre la mayoría de proyectos, bare metal gana en cargas intensas y sostenidas, y la cloud pública compensa cuando el escalado automático y los servicios gestionados valen su precio. Como siguientes pasos:

  • Mide tu servidor actual con mpstat y fio durante una semana de uso normal.
  • Estima el coste total incluyendo tráfico, almacenamiento y copias en cada opción.
  • Si vas a virtualizar tus propios servidores en bare metal, consulta la guía de instalación de KVM/QEMU en Linux.