Migrar tu servidor Linux a la nube (Oracle Cloud vs AWS)

Migrar tu infraestructura a la nube dejó de ser una opción tecnológica para convertirse en una necesidad estratégica. Los costes de mantener un servidor físico propio —electricidad, refrigeración, hardware de repuesto, conectividad redundante— superan con creces la tarifa mensual de una instancia en la nube. En 2026, las herramientas de orquestación, la madurez de los contenedores y los precios competitivos de proveedores como Oracle Cloud y AWS hacen que la migración sea más accesible que nunca. En esta guía te explico cómo planificar y ejecutar la migración de tu servidor Linux sin downtime y con un presupuesto controlado.

Por qué migrar ahora

La pregunta ya no es si migrar, sino cuándo. Los servidores on-premise tienen un ciclo de vida limitado y fallan en el peor momento posible. La nube ofrece tres ventajas que son difíciles de ignorar:

  • Escalabilidad instantánea: puedes pasar de 2 a 16 vCPUs en minutos durante picos de tráfico, y volver a reducir cuando pase la tormenta.
  • Fiabilidad: la mayoría de proveedores ofrecen SLA del 99.9% o superior, con redirección automática si un nodo físico falla.
  • Coste operativo predecible: pagas por lo que consumes. No hay inversiones iniciales en hardware ni sorpresas de mantenimiento.

Además, herramientas como Docker y docker-compose permiten encapsular toda tu aplicación en contenedores, haciendo que la migración sea casi tan simple como copiar unos cuantos archivos y levantar el stack en el destino.

Comparativa Oracle Cloud vs AWS vs DigitalOcean

Elegir proveedor depende de tus necesidades técnicas, presupuesto y nivel de soporte requerido. Aquí tienes una comparativa objetiva de los planes de entrada para una pyme típica:

Característica Oracle Cloud (Always Free) AWS (Lightsail) DigitalOcean
vCPUs 4 (ARM) / 2 (x86) 2 2
RAM 24 GB (ARM) / 1 GB (x86) 2 GB 2 GB
Almacenamiento 200 GB (bloque) 60 GB SSD 50 GB SSD
Tráfico mensual 10 TB 3 TB 2 TB
Precio/mes Gratis (siempre) ~10 USD ~12 USD
Soporte Foro y documentación Plan de soporte de pago Tickets y documentación

Oracle Cloud destaca por su tier Always Free, que incluye instancias ARM Ampere con 4 cores y 24 GB de RAM sin límite temporal. Es ideal para proyectos personales, startups o como servidor de staging. AWS ofrece un ecosistema más maduro con cientos de servicios integrados (RDS, S3, Lambda), mientras que DigitalOcean gana en simplicidad y tiempo de despliegue.

Paso a paso: la migración sin downtime

Una migración bien planificada debería ser transparente para los usuarios. Sigue estos cinco pasos para minimizar el riesgo:

Paso 1: Backup completo del servidor actual

Antes de tocar nada, realiza un backup completo del sistema: bases de datos, archivos de configuración, certificados SSL y el directorio raíz de la aplicación. Si usas Docker, exporta también los volúmenes persistentes. En el servidor origen:

# Backup de base de datos MySQL
mysqldump -u root -p --all-databases > backup_$(date +%F).sql

# Backup de directorios clave
tar czvf app_backup_$(date +%F).tar.gz /var/www /etc/nginx /opt/docker

Paso 2: Crear snapshot de la instancia

Si tu proveedor actual lo permite, crea un snapshot de la instancia completa. Esto te da una imagen arrancable que puedes restaurar en cuestión de minutos si algo sale mal. Guarda el snapshot en una ubicación externa, no solo en el mismo datacenter.

Paso 3: Desplegar en la nube con Docker

Configura la nueva instancia en tu proveedor elegido. Instala Docker y docker-compose. Copia tu docker-compose.yml y los archivos de configuración necesarios. Levanta el stack y verifica que los contenedores arrancan correctamente:

scp docker-compose.yml .env user@nueva-ip:/opt/app/
ssh user@nueva-ip "cd /opt/app && docker-compose up -d"

Paso 4: Sincronizar datos y DNS

Una vez que la nueva instancia está operativa con los datos del backup inicial, configura una sincronización en tiempo real o incremental para los archivos que cambian (subidas de usuarios, logs, base de datos). Herramientas como rsync para archivos y replicación MySQL para la base de datos mantienen ambos servidores alineados. Cuando estés listo para el corte, actualiza el registro DNS para que apunte a la nueva IP. Si usas un TTL bajo (300 segundos), la propagación será casi inmediata.

# rsync incremental
rsync -avz --delete -e ssh /var/www/uploads/ user@nueva-ip:/var/www/uploads/

Paso 5: Verificar y apagar el antiguo

Después del cambio de DNS, monitoriza logs y métricas durante al menos 24 horas. Verifica que el certificado SSL es válido, que los correos salen correctamente y que no hay errores 500 escondidos. Una vez confirmado todo, apaga el servidor antiguo pero mantén los backups al menos un mes por si surge algún problema.

Docker en la nube (mejora portabilidad)

Docker es la clave para una migración sin fricciones. Si tu aplicación ya está containerizada, moverla de un servidor a otro es literalmente copiar archivos y ejecutar docker-compose up. Esto elimina el clásico problema de "en mi máquina funciona" porque el entorno está definido en el Dockerfile, no instalado manualmente en el sistema operativo.

docker-compose para todo el stack

Define tu stack completo en un único archivo docker-compose.yml: aplicación, base de datos, cache (Redis), servidor web (nginx) y certbot para renovación automática de SSL. Esto facilita tanto el despliegue inicial como futuras migraciones.

version: '3.8'
services:
  app:
    image: mi-app:latest
    ports:
      - "3000:3000"
    env_file: .env
  db:
    image: mysql:8.0
    volumes:
      - db_data:/var/lib/mysql
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
volumes:
  db_data:

Volúmenes persistentes para datos

Nunca almacenes datos importantes dentro del contenedor. Usa volúmenes de Docker o monturas bind para separar el estado de la aplicación del contenedor efímero. En la nube, puedes montar volúmenes de bloque (block storage) como dispositivos persistentes que sobreviven incluso si eliminas la instancia y creas otra nueva.

Costes reales

Para una pyme típica con una web corporativa, un panel de administración y una base de datos moderada, estos son los costes mensuales aproximados en cada proveedor:

Concepto Oracle Cloud AWS Lightsail DigitalOcean
Instancia (2 vCPU, 4 GB RAM) 0 € (Always Free) ~20 € ~24 €
Almacenamiento adicional (100 GB) ~2.50 € ~10 € ~10 €
Backups automatizados ~1 € ~4 € ~5 €
Tráfico excedente Incluido (10 TB) ~0.09 €/GB ~0.01 €/GB
Total estimado/mes ~3.50 € ~34 € ~39 €

Como ves, Oracle Cloud puede reducir drásticamente los costes si aprovechas el tier gratuito. Sin embargo, si necesitas servicios avanzados como balanceadores de carga gestionados, bases de datos administradas o funciones serverless, AWS ofrece un catálogo mucho más amplio que justifica su precio superior.

La migración a la nube no tiene por qué ser un proyecto traumático. Con una planificación adecuada, Docker como aliado y un proveedor que se ajuste a tu presupuesto, puedes modernizar tu infraestructura en un fin de semana. Lo importante es empezar con un entorno de pruebas, validar cada paso y no apresurar el corte de DNS hasta estar 100% seguro de que todo funciona en el destino.

¿Necesitas ayuda con esto?

Hosting gestionado desde 29€/mes

Contactar por WhatsApp
Compartir: