Conceptos

Bare metal o virtualización: cómo elegir la arquitectura adecuada para cada carga

Por Equipo Cloud Privado · · 16 min de lectura
Imagen de portada del artículo «Bare metal o virtualización: cómo elegir la arquitectura adecuada para cada carga»

Un vistazo en 30 segundos

  • La virtualización encaja mejor en aplicaciones empresariales, desarrollo, servicios web y entornos con muchas cargas pequeñas.
  • Bare metal destaca cuando importa el acceso directo a GPU, NVMe, CPU o redes de muy baja latencia.
  • El impacto del hipervisor depende de la carga: no existe un porcentaje universal de sobrecarga.
  • Los contenedores no sustituyen automáticamente a las máquinas virtuales, son otra capa de la arquitectura.
  • Buena parte de la diferencia que se atribuye al hipervisor viene en realidad del almacenamiento.
  • Muchas empresas obtienen mejores resultados combinando ambos modelos.

La pregunta que se hace casi todo el mundo —«¿qué rinde más, bare metal o una VM?»— está mal planteada. La útil es otra: cuánto rendimiento necesita de verdad esta aplicación, y qué capacidades operativas perderías al quitar el hipervisor. Una mejora modesta en latencia puede no compensar la desaparición de la migración en caliente, los snapshots, la alta disponibilidad coordinada o la recuperación rápida sobre otro nodo.

Y funciona igual en sentido contrario. Mantener una carga intensiva dentro de una máquina virtual solo por uniformidad puede meter capas, límites y costes que no aportan nada. La decisión debería salir de pruebas con datos reales, no de la idea preconcebida de que bare metal siempre es más rápido o de que todo tiene que virtualizarse.

Qué cambia de verdad entre bare metal y una máquina virtual

En un servidor bare metal el sistema operativo se instala directamente sobre el hardware. La CPU, la memoria, las unidades NVMe, las tarjetas de red y los aceleradores quedan asignados a una única instalación, aunque dentro de ella puedan correr contenedores o procesos aislados. De ahí salen sus tres ventajas: no hay una capa de virtualización de hardware entre el sistema operativo y los dispositivos, los recursos físicos no se comparten con máquinas virtuales ajenas y la configuración puede afinarse para una sola carga.

La virtualización mete un hipervisor que reparte ese hardware entre varias máquinas virtuales. Cada una lleva su propio sistema operativo y ve CPU, memoria, discos y tarjetas virtuales, aunque todo salga del mismo servidor físico. Los hipervisores modernos usan las extensiones de virtualización de Intel y AMD para ejecutar gran parte del código de las VMs directamente en el procesador, así que en muchas aplicaciones convencionales la diferencia de CPU frente a bare metal es pequeña.

El comportamiento cambia cuando crece el número de operaciones que obligan a intervenir al hipervisor, cuando hay contención entre máquinas o cuando el tráfico tiene que atravesar varias capas de almacenamiento y red. La penalización depende de muchas cosas:

  • Hipervisor y versión.
  • Controladores paravirtualizados (VirtIO y equivalentes).
  • Sobreasignación de CPU y memoria.
  • Afinidad con núcleos y arquitectura NUMA.
  • Tipo de almacenamiento.
  • Red virtual, SR-IOV o dispositivos dedicados.
  • Mitigaciones de seguridad activas.
  • Calidad de la configuración.
  • Actividad del resto de máquinas del nodo.

Por eso no hay un porcentaje universal. Decir que una VM siempre pierde un 5 %, un 10 % o un 15 % simplifica demasiado: una aplicación que calcula sobre todo en CPU puede acercarse mucho al rendimiento nativo, mientras que una carga sensible a la latencia de almacenamiento puede mostrar diferencias bastante mayores si comparas NVMe local con una cabina compartida.

Ojo con otra trampa habitual: muchas veces no estás comparando bare metal con virtualización, sino dos arquitecturas completas. Un servidor físico con discos locales frente a una plataforma virtualizada con replicación, red de almacenamiento, snapshots y tolerancia a fallos. Parte de la diferencia no la pone el hipervisor, la ponen los servicios extra del segundo modelo.

AspectoBare metalVirtualización
Acceso al hardwareDirectoDispositivos virtuales, paravirtualizados o passthrough
DensidadUna instalación principal por servidorVarias VMs por nodo
AislamientoFísicoLógico, del hipervisor
DespliegueDepende del aprovisionamiento del servidorAutomatizable en minutos
Alta disponibilidadSe diseña en la aplicación o el clústerSe coordina desde la plataforma
Migración en calienteNo para el sistema físico completoDisponible en la mayoría de plataformas
Rendimiento predecibleAlto si el hardware no se comparteDepende de reservas, sobreasignación y vecinos
AprovechamientoPuede dejar capacidad ociosaPermite consolidar cargas distintas
Cambio de hardwareRequiere migrar o reinstalarLa VM abstrae buena parte del hardware
OperaciónMás específica por servidorMás centralizada y homogénea

Cuándo tiene sentido bare metal

HPC y cálculo intensivo

La computación de alto rendimiento aprieta procesadores, memoria y red de forma muy exigente. Simulaciones científicas, cálculo financiero, dinámica de fluidos, genómica o renderizado distribuido se benefician del acceso directo a CPU, memoria local y adaptadores de baja latencia. Aquí importan la afinidad de procesos, la topología NUMA, las instrucciones vectoriales, la comunicación entre nodos y la ausencia de contención. La virtualización puede ajustarse para rendir mucho, pero bare metal quita variables y facilita exprimir una configuración concreta.

Eso no significa que HPC y virtualización se lleven mal. Hay organizaciones que usan máquinas virtuales con recursos reservados, CPU fijadas y dispositivos asignados directamente. Depende del nivel de aislamiento, automatización y portabilidad que necesites.

GPU para entrenamiento e inferencia

Las GPU son el caso con más opciones intermedias, y por eso el que más confusión genera.

En bare metal el sistema operativo usa directamente el controlador del fabricante y llega a todas las GPU, a su memoria y a interconexiones como NVLink cuando el diseño lo permite. Es lo habitual en entrenamientos grandes, clústeres dedicados y trabajos que necesitan controlar la máquina entera. Lo desarrollamos en bare-metal con GPU frente a hiperescalar.

El GPU passthrough asigna un acelerador físico completo a una máquina virtual; NVIDIA lo describe como acceso directo de la VM a la GPU con rendimiento nativo. Aporta aislamiento de sistema operativo sin compartir el dispositivo, aunque limita funciones de movilidad y ata el ciclo de vida de la VM al hardware asignado. Si quieres el detalle de cómo se monta, tenemos una guía de passthrough de GPU en Proxmox con VFIO e IOMMU.

La tecnología vGPU reparte una GPU entre varias máquinas virtuales, con componentes y licencias específicos. Multi-Instance GPU (MIG) divide determinados modelos de NVIDIA en instancias aisladas con recursos propios, y funciona en bare metal, en contenedores y en entornos virtualizados; para asignar instancias individuales a distintas VMs se integra con vGPU.

Y no todo es rendimiento: también cuentan la utilización y el coste. Dedicar una GPU entera a una carga que la usa a ratos puede salir bastante peor que compartirla, aunque el acceso dedicado aísle mejor.

Bases de datos con I/O exigente

Una base de datos transaccional agradece los NVMe locales, las latencias bajas y el control directo sobre CPU y memoria. Bare metal se vuelve atractivo cuando la aplicación genera mucha I/O aleatoria, exige tiempos de respuesta muy estables o consume casi todos los recursos del servidor.

Pero no todas ganan por quitar el hipervisor. Una instancia bien dimensionada sobre almacenamiento all-flash puede rendir más que un servidor físico mal configurado, y funciones como los snapshots consistentes de aplicación, la réplica, el clustering y la recuperación ante fallos pueden pesar más que una diferencia acotada en IOPS. La comparación hay que hacerla con pruebas representativas: volumen de transacciones, mezcla de lecturas y escrituras, tamaño del conjunto activo, latencia en percentiles altos y comportamiento durante fallos o copias de seguridad.

Aplicaciones sensibles a la latencia

Trading, telecomunicaciones, procesamiento industrial, videojuegos en tiempo real o ciertas plataformas multimedia necesitan latencia baja y, sobre todo, predecible. Bare metal esquiva parte de la variabilidad que meten el planificador del hipervisor y los vecinos, y permite tirar de aislamiento de núcleos, afinidad de interrupciones, kernel ajustado, huge pages y acceso directo a las tarjetas de red.

La virtualización sigue siendo viable con reservas estrictas, CPU pinning y SR-IOV (Single Root I/O Virtualization), que presenta funciones virtuales de una tarjeta física directamente a las VMs y reduce el paso por el switch virtual. Sube la complejidad y se limitan algunas funciones de migración, pero funciona.

Aislamiento físico y requisitos contractuales

Hay organizaciones que necesitan que una carga no comparta servidor con otros clientes: política interna, exigencia contractual, protección de propiedad intelectual o reducción de ciertos riesgos de multitenencia.

Cuidado con el argumento fácil, eso sí. Ni el RGPD, ni PCI DSS, ni las regulaciones sanitarias exigen bare metal de forma general. Piden medidas proporcionales y controles adecuados, no un servidor físico por cliente. El aislamiento físico debe justificarse con el análisis de riesgos y las obligaciones concretas del proyecto; una máquina virtual bien configurada es suficiente en muchos entornos regulados.

Licencias condicionadas por procesadores o núcleos

El licenciamiento puede darle la vuelta al coste de una arquitectura entera. Algunos fabricantes calculan sus licencias por procesadores, núcleos físicos, núcleos virtuales o capacidad accesible por el software.

No des por hecho que bare metal sale más barato. Un servidor físico con muchos núcleos puede obligarte a licenciar bastante más capacidad de la que usa la aplicación, mientras que una virtualización reconocida como particionamiento duro permite limitar el número de núcleos licenciables. Oracle, por ejemplo, publica políticas específicas sobre tecnologías de particionamiento y reconoce configuraciones concretas de Oracle Linux KVM cuando cumplen sus requisitos. Las condiciones cambian según producto y plataforma, así que cualquier diseño que se apoye en el ahorro de licencias hay que revisarlo con el fabricante y dejarlo por escrito en el contrato.

Cuándo la virtualización sigue siendo la mejor opción

La virtualización gana cuando el objetivo es operar muchas cargas distintas con una plataforma común. Una empresa puede consolidar servidores web, directorio, aplicaciones internas, monitorización y entornos de desarrollo sobre un clúster compartido, y las reservas y límites le permiten repartir recursos según la prioridad de cada servicio sin dedicar un equipo entero a cargas pequeñas.

También simplifica el mantenimiento. Una VM se traslada a otro nodo antes de actualizar firmware o cambiar hardware, y si un host cae, una plataforma con alta disponibilidad reinicia sus máquinas en otros nodos siempre que el almacenamiento y la capacidad restante estén preparados. Los snapshots, clones y plantillas aceleran desarrollo y pruebas —que no son una estrategia de backup, conviene repetirlo—, y la abstracción del hardware permite recuperar una máquina en un nodo distinto sin reproducir cada componente del servidor original.

Suele encajar mejor en:

  • Aplicaciones empresariales de uso general.
  • Servicios con consumo moderado o variable.
  • Entornos de desarrollo, integración y pruebas.
  • Infraestructuras con muchas máquinas pequeñas.
  • Plataformas que necesitan migración en caliente.
  • Proyectos con despliegue y retirada frecuentes.
  • Recuperación ante desastres entre nodos o centros.
  • Servicios donde la agilidad operativa pesa más que el último punto porcentual de rendimiento.

El riesgo aparece cuando la consolidación se convierte en sobreasignación sin control. Compartir recursos mejora la eficiencia, pero trae vecinos ruidosos, esperas de CPU, presión de memoria y latencia variable. La plataforma necesita reservas, monitorización y capacidad suficiente para absorber un fallo de nodo.

Contenedores y Kubernetes: la tercera vía que no lo es

Los contenedores se presentan a menudo como una alternativa entre bare metal y máquinas virtuales, pero viven en otra capa de la arquitectura.

Un contenedor empaqueta una aplicación con sus dependencias y comparte el kernel del sistema operativo anfitrión; Linux usa namespaces, cgroups y otros mecanismos para separar procesos y controlar recursos. Kubernetes añade programación, réplicas, despliegues, recuperación de pods y gestión distribuida. Si esta distinción te suena borrosa, la explicamos a fondo en LXC frente a máquina virtual.

Un clúster de Kubernetes puede instalarse directamente sobre servidores físicos o dentro de máquinas virtuales, y ambos modelos son habituales. Sobre bare metal da acceso directo a CPU, red, almacenamiento y GPU, y encaja en plataformas propias, telecomunicaciones, edge, HPC e IA; a cambio, la organización asume el aprovisionamiento del hardware, la alta disponibilidad de los nodos, la sustitución de servidores y parte de la integración con almacenamiento y red. Sobre máquinas virtuales añade una capa, pero facilita crear y redimensionar nodos, separar clústeres y recuperarlos sobre otro hardware; para muchas empresas esa flexibilidad compensa de sobra la penalización que pueda haber. Lo hemos desarrollado en cuándo tiene sentido Kubernetes sobre Proxmox.

Hay una diferencia que se pasa por alto: los contenedores no dan el mismo límite de seguridad que una máquina virtual, porque comparten kernel. Kubernetes tiene contextos de seguridad, namespaces de usuario y políticas para reducir riesgos, y su propia documentación advierte de los retos de seguridad, equidad y vecinos ruidosos en clústeres multitenant. Para clientes no confiables o cargas con niveles de riesgo distintos, las VMs ofrecen una frontera adicional. También existen runtimes aislados y microVM que intentan quedarse con lo mejor de los dos mundos.

El almacenamiento decide más que el hipervisor

Muchas comparativas le cuelgan al hipervisor una diferencia que en realidad viene del almacenamiento.

Un servidor físico con NVMe local ofrece un camino corto, latencia baja y un montón de operaciones por segundo. Pero si ese servidor falla, los datos se quedan atados a esos dispositivos salvo que la aplicación replique la información a otro nodo. Una plataforma virtual suele usar almacenamiento compartido o distribuido precisamente para permitir alta disponibilidad y migraciones: soluciones basadas en Ceph, cabinas SAN o NFS meten red, replicación, metadatos y consistencia. Esas capas consumen recursos y suben la latencia, pero aportan capacidades que el disco local no da por sí solo.

Para que la comparación signifique algo, compara arquitecturas equivalentes:

  • NVMe local sin réplica frente a NVMe local sin réplica.
  • Almacenamiento replicado en la aplicación frente a replicado por la plataforma.
  • Misma red, mismo nivel de protección y misma política de sincronización.
  • Rendimiento en operación normal y comportamiento durante una avería.

Una base de datos en bare metal con réplica síncrona tiene una complejidad y una penalización distintas a las de una VM sobre almacenamiento compartido. No hay respuesta universal.

La arquitectura híbrida suele ser lo razonable

Muchas empresas acaban combinando los dos modelos, y no por indecisión. Una base de datos grande corre en servidores físicos con NVMe y réplica entre nodos mientras los frontales, las API, las herramientas internas y los sistemas auxiliares se quedan virtualizados. Los clústeres de GPU van en bare metal y se conectan por red privada a servicios desplegados en máquinas virtuales. Otra variante frecuente: servidores físicos para Kubernetes y una plataforma virtualizada para las aplicaciones heredadas que necesitan sistemas operativos completos.

El diseño híbrido asigna cada carga al entorno que mejor le responde, pero exige red bien planificada, observabilidad común, políticas de seguridad coherentes y procedimientos de recuperación para las dos plataformas. Es lo mismo que ocurre al mezclar modelos de nube, como vimos en cloud privado, público e híbrido.

Tipo de cargaOpción habitualMotivo principal
Servicios web y aplicaciones internasVirtualizaciónFlexibilidad, consolidación y HA
Desarrollo y pruebasVirtualizaciónClonado y despliegue rápido
Bases de datos pequeñas o mediasVirtualizaciónOperación sencilla y movilidad
Bases de datos con I/O extremoBare metal o VM muy ajustadaLatencia y rendimiento predecible
Entrenamiento intensivo con GPUBare metal o passthroughAcceso dedicado al acelerador
Inferencia compartidavGPU, MIG o contenedoresMejor utilización de la GPU
HPCBare metal o virtualización especializadaAcceso a CPU, memoria y red
Kubernetes empresarialAmbosDepende del aislamiento y la operación
Aplicación con licencias complejasCaso por casoCondiciones del fabricante
Multitenant no confiableMáquinas virtualesSeparación adicional por hipervisor

Qué medir antes de decidir

Lo práctico es empezar por el modelo que simplifique la operación y medir después. Si una carga enseña un cuello de botella atribuible al hipervisor, al almacenamiento virtual o a la red compartida, entonces sí toca estudiar su traslado a bare metal.

Pero la prueba tiene que ir más allá de un benchmark sintético. Conviene medir:

  • Rendimiento medio y percentiles altos de latencia.
  • Comportamiento durante picos.
  • Rendimiento con el resto de servicios activos.
  • Tiempo de recuperación tras un fallo.
  • Coste de licencias.
  • Uso real de CPU, memoria, disco y GPU.
  • Tiempo de despliegue y de mantenimiento.
  • Coste del hardware ocioso.
  • Necesidades de personal.
  • Capacidad de crecer.

En España y Europa pesan además la ubicación de los datos, la jurisdicción del proveedor, el consumo energético y la disponibilidad de soporte cercano. No deciden por sí solos entre bare metal y virtualización, pero sí entre proveedores y modelos operativos.

Bare metal da control y rendimiento predecible. La virtualización aporta una capa de operación que permite consolidar, mover, automatizar y recuperar cargas con mucha menos fricción operativa. Los contenedores añaden portabilidad a las aplicaciones, pero no te libran de decidir sobre qué infraestructura corren. La mejor arquitectura no es la que acumula menos capas: es la que cumple los objetivos de rendimiento, disponibilidad, seguridad y coste sin añadir una complejidad que la organización no pueda mantener.

Preguntas frecuentes

¿Bare metal siempre ofrece más rendimiento que una máquina virtual? El acceso directo al hardware quita la capa del hipervisor, pero la diferencia real depende de la carga y de la arquitectura completa. En muchas aplicaciones empresariales, una VM bien configurada rinde muy cerca del nativo.

¿Una GPU debe ejecutarse siempre en bare metal? No. Puede asignarse completa a una máquina virtual con passthrough, o compartirse con vGPU y, en modelos compatibles, con MIG. Bare metal se elige cuando la carga necesita controlar todo el acelerador y sus interconexiones.

¿Kubernetes sobre bare metal sustituye a la virtualización? No de forma general. Kubernetes organiza contenedores y corre igual sobre servidores físicos que sobre máquinas virtuales. La elección depende del aislamiento, de la gestión del hardware y de las capacidades de recuperación que necesites.

¿Cuál es la mejor opción para una base de datos? Depende del volumen de I/O, la latencia, el tamaño, la disponibilidad exigida y la estrategia de réplica. Las bases de datos convencionales funcionan bien virtualizadas; las cargas extremas pueden justificar servidores físicos dedicados.

¿El RGPD o PCI DSS obligan a usar servidores dedicados? No. Exigen medidas proporcionales y controles adecuados, no un servidor físico por cliente. El aislamiento físico se justifica con el análisis de riesgos y las obligaciones concretas del proyecto, no con una lectura genérica de la norma.

Fuentes


¿No tienes claro qué cargas deberían ir en físico y cuáles virtualizadas? Lo miramos contigo con datos de tu infraestructura, sin vender una arquitectura de antemano. Echa un vistazo a nuestra comparativa de cloud o cuéntanos tu caso.