Máquinas Virtuales
Qué es
Piensa en alquilar un apartamento completo en lugar de una habitación de hotel: es un espacio vacío que es completamente tuyo, y tú lo amueblas y gestionas como quieras. Una máquina virtual (, por sus siglas en inglés) es ese apartamento en el mundo del software — un ordenador completo que existe como software, ejecutándose sobre el hardware de un proveedor. Obtienes un sistema operativo que controlas por completo: inicias , instalas lo que quieras y ejecutas tu aplicación exactamente como lo harías en una máquina física. Es la opción de alojamiento más práctica y directa de todas.
Puntos fuertes
- Control total — sistema operativo completo, cualquier software, cualquier configuración.
- Rendimiento predecible; la máquina es tuya durante todo el tiempo que la alquiles.
- Sin límites de tiempo de ejecución, a diferencia de o .
- Ejecuta cualquier cosa: bases de datos, software heredado, daemons personalizados, tareas de larga duración.
- Modelo maduro y bien entendido, con décadas de herramientas disponibles.
Contrapartidas
- Tú gestionas todo: actualizaciones del sistema operativo (OS, por sus siglas en inglés), parches de seguridad, copias de seguridad, monitorización.
- Pagas por la máquina esté ocupada o inactiva.
- El escalado es manual — redimensionas o añades máquinas tú mismo.
- Más piezas móviles significa más formas de que algo se rompa.
- Es la opción más lenta de aprovisionar en comparación con funciones o contenedores.
Cuándo usarla
Usa una VM cuando necesites control total o tengas requisitos que las opciones más ligeras no puedan cumplir: software especializado, estado persistente, una autoalojada, cargas de trabajo con GPU (unidad de procesamiento gráfico, por sus siglas en inglés), o migrar una aplicación existente sin reescribirla.
Encaje con vibe coding
Las VM le dan a un de IA el lienzo más amplio, pero también la mayor responsabilidad, así que apóyate en infraestructura como código en lugar de configurar todo a mano con clics. Haz que el agente escriba un script de aprovisionamiento (un archivo cloud-init o un script de configuración ) para que toda la máquina sea reproducible y revisable, en vez de configurar el servidor a mano por SSH (Secure Shell — un inicio de sesión remoto cifrado a la máquina). Consejo: pídele al agente que convierta toda la configuración en un único archivo de arranque (bootstrap) y que active actualizaciones de seguridad automáticas — así podrás destruir y recrear la VM en cualquier momento sin perder tu configuración.
#!/usr/bin/env bash
# bootstrap.sh — provision an Ubuntu VM
set -euo pipefail
apt-get update && apt-get upgrade -y
apt-get install -y nginx
systemctl enable --now nginx
# enable unattended security updates
apt-get install -y unattended-upgrades
dpkg-reconfigure -f noninteractive unattended-upgrades
# Run the bootstrap on a fresh server
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"