Para migrar de Heroku a un VPS en 2026, la solución más eficiente es la contenerización de la aplicación mediante Docker Compose. Esto permite desplegar un servidor web, una base de datos PostgreSQL, Redis y workers en segundo plano en un único servidor virtual con un coste de entre $5 y $10 al mes, reduciendo los gastos de infraestructura entre 5 y 10 veces en comparación con las tarifas Heroku Eco o Production.

Heroku fue durante mucho tiempo el estándar de oro de PaaS (Platform as a Service), pero en 2026 las limitaciones de memoria, el alto coste de los dynos adicionales y su ecosistema cerrado hacen que migrate from heroku sea un paso lógico para proyectos en crecimiento. La transición a un VPS (Virtual Private Server) otorga un control total sobre los recursos del sistema, permite configurar el almacenamiento en caché de forma flexible y utilizar protocolos modernos sin las restricciones de la capa de proxy de Heroku.

¿Por qué migrate from heroku a un VPS se vuelve una necesidad en 2026?

La razón principal por la que los desarrolladores inician una heroku migration es el crecimiento desproporcionado de los costes al escalar. En Heroku, cada gigabyte adicional de RAM o instancia de base de datos aumenta la factura en decenas o cientos de dólares. Al mismo tiempo, un VPS moderno ofrece significativamente más potencia de cómputo por el mismo dinero.

Comparativa económica: Heroku vs. VPS

Consideremos un stack típico: una aplicación Node.js/Python, una base de datos PostgreSQL de 1 GB y Redis para colas. En 2026, en Heroku, esta configuración (Standard-1X dynos + Managed DB + Redis) costaría al menos entre $50 y $70 al mes. Una potencia similar en un VPS costará varias veces menos.

Característica Heroku (Standard-1X) Valebyte VPS (Estándar) Ventaja del VPS
CPU (núcleos) Shared (limitado) 2 vCPU (Dedicated/Shared) Rendimiento 2-3 veces mayor
RAM (GB) 512 MB 4 GB 8 veces más memoria
Disco (NVMe) Ephemeral (se borra) 40-80 GB Persistent Almacenamiento persistente
Precio mensual ~$50+ $8 - $12 Ahorro del 80% del presupuesto

Para muchos proyectos, especialmente en fase de crecimiento, el hosting para una startup MVP en 2026 basado en VPS es la única forma de mantener una unit economics positiva. Además del precio, un VPS elimina el problema del "cold start" (modo de suspensión) en las tarifas económicas y permite utilizar dependencias binarias personalizadas que son difíciles o imposibles de instalar con los Heroku Buildpacks.

Elección de la configuración del servidor para la transición heroku to vps

Al planificar una migración heroku to vps, es fundamental evaluar correctamente los recursos. Heroku oculta las características reales del hardware tras los abstractos "dynos", pero para ejecutar un entorno Docker con base de datos y aplicación se requiere un mínimo determinado. En 2026, no se recomienda utilizar servidores con menos de 2 GB de RAM, ya que Docker Engine y PostgreSQL consumen por sí solos entre 500 y 800 MB en reposo.

Requisitos del sistema recomendados

  • Procesador: Mínimo 2 vCPU. Esto permitirá que la aplicación procese solicitudes en un hilo mientras la base de datos ejecuta una consulta pesada en otro.
  • Memoria RAM: Si su aplicación funcionaba en 1-2 dynos, elija 4 GB de RAM. Conviene leer por separado sobre cuánta RAM necesita un VPS para diferentes tareas y así no pagar de más por recursos no utilizados.
  • Subsistema de disco: Solo NVMe. Heroku utiliza discos rápidos, y pasar a SSD antiguos o HDD provocará una degradación del rendimiento de la base de datos. Es importante considerar el tipo y tamaño del disco para garantizar una alta velocidad de operaciones I/O.

Para sistemas de alta carga o tareas de machine learning que antes externalizaba fuera de Heroku, considere opciones más potentes. En algunos casos, la comparativa bare-metal vs VPS para ML inference se vuelve relevante si su aplicación utiliza modelos pesados.

¿Busca un servidor confiable para sus proyectos?

VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.

Ver ofertas →

Preparación de la aplicación: Docker como heroku alternative

La forma más fiable de reemplazar Heroku es mediante el uso de Docker. En esencia, Heroku ya ejecuta contenedores, por lo que su tarea es formalizar el proceso de construcción en un Dockerfile y la descripción de la infraestructura en un docker-compose.yml. Esto hace que su proyecto sea portátil: podrá migrar entre proveedores en cuestión de minutos.

Creación del Dockerfile

Su Dockerfile debe replicar al máximo el entorno de Heroku, pero estando optimizado. Ejemplo para una aplicación Node.js:

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

Configuración de Docker Compose

En el archivo docker-compose.yml describimos no solo la aplicación, sino todas las dependencias (Postgres, Redis) que en Heroku se conectaban como Add-ons. Esta es una arquitectura heroku alternative completa.

version: '3.8'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    env_file: .env
    depends_on:
      - db
      - redis
  db:
    image: postgres:15-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
  redis:
    image: redis:7-alpine
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:

Migración de datos: PostgreSQL y Redis

La etapa más crítica de migrate from heroku es el traslado de la base de datos sin pérdida de integridad. Heroku proporciona la herramienta pg:backups, que permite crear un volcado (dump) de la base de datos.

Traslado de la base de datos PostgreSQL

1. Cree un backup en Heroku:

heroku pg:backups:capture --app nombre-de-tu-app
2. Descargue el backup a su ordenador local o directamente al nuevo VPS:
heroku pg:backups:download --app nombre-de-tu-app
3. Restaure los datos en el contenedor Docker del VPS:
docker exec -i tu_contenedor_db pg_restore --clean --no-acl --no-owner -U username -d dbname < latest.dump

Importante: antes de importar, asegúrese de que las versiones de PostgreSQL en Heroku y en su imagen de Docker coincidan o que la versión en Docker sea superior. En 2026, se recomienda usar PostgreSQL 15 o 16 para un mejor rendimiento.

Traslado de Redis

Para Redis, la migración es más compleja ya que Heroku no siempre da acceso directo a los archivos RDB. Si los datos en Redis son efímeros (caché), lo más sencillo es simplemente purgarlos. Si hay colas (Sidekiq, BullMQ), espere a que finalicen en Heroku, cambie el tráfico al VPS e inicie los workers allí.

Configuración de variables de entorno (ENV) y seguridad

En Heroku, gestionaba las configuraciones a través del Dashboard o la CLI. En un VPS, se utiliza un archivo .env para esto. El proceso de heroku migration incluye la exportación de todas las claves. Puede obtenerlas con el comando:

heroku config -s --app nombre-de-tu-app > .env

Edite el archivo resultante, reemplazando DATABASE_URL y REDIS_URL por las direcciones internas de la red de Docker (por ejemplo, postgres://user:pass@db:5432/dbname).

Seguridad del servidor

A diferencia de un PaaS, en un VPS la seguridad recae sobre sus hombros. Pasos obligatorios en 2026:

  1. Desactivar el acceso por contraseña en SSH (use solo claves).
  2. Configurar un firewall (UFW o iptables) que cierre todos los puertos excepto el 22, 80 y 443.
  3. Actualización regular de los paquetes del SO: apt update && apt upgrade.
  4. Uso de redes de Docker para aislar la base de datos del mundo exterior.

Si ha utilizado anteriormente soluciones en la nube de otros proveedores, el proceso le resultará familiar. Por ejemplo, cómo migrar de AWS Lightsail a VPS en 2026: las tareas de protección del perímetro son prácticamente idénticas.

Scheduler y tareas en segundo plano (Workers)

Heroku Scheduler es un addon conveniente, pero en un VPS es fácil de reemplazar con el estándar cron o herramientas integradas en Docker. En 2026, una solución popular es ejecutar un contenedor separado en Docker Compose que actúe como planificador.

Ejecución de workers

Si en Heroku escalaba los workers con el comando heroku ps:scale worker=2, en Docker Compose esto se hace a través de la sección deploy o simplemente duplicando el servicio. Sin embargo, para la mayoría de los proyectos en un VPS potente, basta con un contenedor de worker que utilice multihilo.

worker:
  build: .
  command: bundle exec sidekiq # para Ruby
  # command: python worker.py # para Python
  env_file: .env
  depends_on:
    - db
    - redis

Planificador de tareas

Para tareas periódicas (limpieza de logs, envíos de correo), utilice ofelia, un planificador moderno para Docker que permite describir las tareas directamente en el docker-compose.yml mediante etiquetas (labels). Es mucho más cómodo y visual que editar el crontab del sistema del servidor.

Configuración de Nginx y SSL (Let's Encrypt)

Heroku proporciona SSL automáticamente y gestiona el enrutamiento. En una migración heroku to vps, necesitará un proxy inverso (Reverse Proxy). Nginx es una solución probada, pero en 2026 muchos eligen Traefik o Caddy, ya que obtienen y renuevan automáticamente los certificados SSL de Let's Encrypt.

Ejemplo de configuración de Nginx

Si prefiere lo clásico, instale Nginx en la máquina host o ejecútelo en un contenedor:

server {
    listen 80;
    server_name tudominio.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Para obtener el certificado, use Certbot: sudo certbot --nginx -d tudominio.com. Es gratuito y se renueva automáticamente, lo que sustituye por completo la funcionalidad de pago Heroku SSL.

Automatización del despliegue (CI/CD)

Una de las principales ventajas de Heroku era la sencillez de git push heroku main. Para mantener esa comodidad tras migrate from heroku, configure GitHub Actions o GitLab CI.

Ejemplo de GitHub Actions para VPS

El escenario consistirá en la construcción de la imagen de Docker y el comando de actualización en el servidor vía SSH:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy via SSH
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          key: ${{ secrets.SSH_KEY }}
          script: |
            cd /app
            git pull
            docker-compose up -d --build

Este enfoque garantiza una integración y entrega continuas que no envidian a las capacidades de un PaaS, pero conservando todas las ventajas de poseer su propio servidor.

Lista de verificación para una migración exitosa

Para que su heroku migration se realice sin tiempo de inactividad, siga esta lista:

  1. Prepare la imagen de Docker: Asegúrese de que la aplicación se ejecute localmente mediante Docker Compose.
  2. Inicie el VPS: Elija una tarifa con margen de RAM (mínimo 4 GB para un funcionamiento fluido).
  3. Configure el entorno: Transfiera las variables ENV y configure el Firewall.
  4. Migre la BD: Realice el volcado, cárguelo al VPS y restáurelo.
  5. Prueba de funcionamiento: Verifique el funcionamiento de la aplicación a través de la dirección IP del servidor.
  6. Cambie el DNS: Establezca el TTL en 300 segundos, cambie el registro A a la IP de su VPS.
  7. Configure SSL: Emita el certificado mediante Certbot o Caddy.
  8. Monitoreo: Configure un monitoreo básico (por ejemplo, Netdata o simplemente una comprobación de disponibilidad externa).

Si su proyecto está relacionado con mecánicas de juego o cargas específicas, los requisitos pueden variar. Por ejemplo, el mejor servidor para Minecraft en 2026 requiere mucha más potencia de CPU por hilo que una aplicación web típica que migra desde Heroku.

Conclusiones

Migrar de Heroku a un VPS en 2026 es una decisión estratégicamente acertada que permite reducir los costes de infraestructura hasta en un 90% y obtener total libertad en la elección de tecnologías. Utilizando Docker Compose y CI/CD automatizado, mantendrá la comodidad de desarrollo de un PaaS, obteniendo al mismo tiempo el rendimiento y la flexibilidad de los recursos dedicados de un hosting profesional.

¿Listo para elegir su servidor?

VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.

Empezar ahora →