Heroku y Vercel: cuando la factura supera el valor
Heroku fue la referencia en despliegue sin fricción para startups y agencias desde finales de los años 2000. La plataforma absorbía la complejidad de infraestructura a cambio de una suscripción mensual predecible. Desde la adquisición por Salesforce y la eliminación del plan gratuito en noviembre de 2022, la propuesta de valor se ha deteriorado: un dyno Standard-1X cuesta 25 $/mes, un Standard-2X llega a 50 $/mes, y una aplicación con dyno web, worker y el add-on Postgres supera fácilmente los 100 $/mes. Vercel siguió una trayectoria similar: el plan Pro a 20 $/mes por desarrollador, pero los excesos en Serverless Functions, Edge Requests y ancho de banda se acumulan silenciosamente a fin de mes. En septiembre de 2026, un hilo en Hacker News titulado «Should I run plain Docker Compose in production in 2026?» (discusión #47962032, 22 sept. 2026) reunió cientos de comentarios, revelando una tendencia clara: los equipos medianos vuelven en masa al auto-alojamiento, no por ideología sino por aritmética. Un VPS de 10-20 €/mes con Coolify reproduce el 90% de la experiencia Heroku — despliegue Git-push, rollbacks, variables de entorno, dominios personalizados — sin la estructura de precios por uso que penaliza el crecimiento.
5 señales de que es hora de migrar
- Factura PaaS > 80 €/mes — Por encima de este umbral, un VPS básico + Coolify amortiza su configuración en menos de dos meses. Suma todos los dynos, workers y add-ons antes de comparar.
- Costes de escalado impredecibles — Las plataformas con precios por uso dificultan la previsión del presupuesto mensual; un VPS ofrece coste fijo con escalado bajo tu control.
- Vendor lock-in — Buildpacks propietarios de Heroku, Procfile no portable, add-ons del ecosistema Salesforce: si tu stack no puede correr en otro lugar sin reescritura, es una señal de dependencia crítica.
- Sin acceso root — Algunas necesidades (ajustes de kernel, módulos del kernel, herramientas de rendimiento de bajo nivel) son imposibles en PaaS gestionado; un VPS da acceso completo a la máquina.
- CI/CD impuesta — En un VPS con Coolify conectas GitHub Actions o GitLab CI en tus propios términos y disparas despliegues via webhook.
- Soporte degradado — Varios usuarios reportan tiempos de respuesta más largos del soporte de Heroku desde la transición a Salesforce; auto-alojar tu stack te libera de esta dependencia.
Punto de equilibrio: Heroku Pro vs VPS + Coolify
Desplace la tabla
| Heroku Pro | VPS Start + Coolify | |
|---|---|---|
| Coste mensual | ~50 $/dyno | 99 DH/mes |
| Escalabilidad | Dynos de pago por unidad | RAM/CPU ajustables al momento |
| Buildpacks | Buildpacks nativos Heroku | Nixpacks (compatibles con Heroku) |
| Acceso root | No | Sí |
| Zero-downtime deploy | Health checks básicos | Coolify integrado |
| Add-ons base de datos | Heroku Postgres (de pago) | PostgreSQL autogestionado gratis |
| Logs | Logplex (limitado) | Acceso completo journald/Docker |
Coolify vs Dokploy vs Kamal
Desplace la tabla
| Coolify | Dokploy | Kamal | |
|---|---|---|---|
| Buildpacks Heroku (Nixpacks) | Sí | No | No |
| Zero-downtime deploy | Sí | Sí | Sí |
| Interfaz web | Sí | Sí | No (CLI) |
| Multi-servidor | Sí | Sí | Vía SSHKit |
| Docker Compose nativo | Sí | Sí | No |
| Licencia | AGPL-3.0 | MIT | MIT (Basecamp) |
| Requisitos del servidor | 2 vCPU / 2 GB RAM | 1 vCPU / 1 GB RAM | Ruby + Docker |
Coolify en VPS: la opción más compatible con Heroku
Coolify es hoy la herramienta de auto-alojamiento más próxima a la experiencia Heroku, como código abierto bajo licencia AGPL-3.0. Su característica principal es el soporte de Nixpacks, el motor de buildpack open source creado por Railway que comprende los Procfiles de Heroku y construye imágenes Docker sin necesidad de escribir un Dockerfile. En la práctica, una aplicación Node.js, Python (Django, FastAPI), Ruby on Rails o PHP desplegada en Heroku puede importarse en Coolify apuntando al mismo repositorio Git, sin modificar el código. El prerrequisito mínimo recomendado por la documentación oficial de Coolify es 2 vCPU y 2 GB de RAM, que corresponde exactamente al perfil de un VPS básico. La interfaz web ofrece gestión de variables de entorno por proyecto, despliegues automáticos en push de Git, rollbacks con un clic, certificados TLS vía Let's Encrypt y gestión de dominios personalizados. Coolify también soporta Docker Compose directamente. La instalación en un VPS nuevo toma menos de diez minutos mediante el script oficial, y Coolify se actualiza a través de su propio mecanismo integrado en la interfaz. Para equipos que quieren gestionar múltiples servidores desde un único panel, Coolify soporta multi-servidor de forma nativa desde la versión 4.
Migrar una app de Heroku a Coolify en 7 pasos
Instalar Coolify en tu VPS
Conéctate por SSH a tu VPS y ejecuta el script oficial:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. Abre luegohttp://<IP-VPS>:8000para crear tu cuenta de administrador.Crear un proyecto en Coolify
En la interfaz de Coolify, haz clic en «New Project» y dale el mismo nombre que tu aplicación Heroku. Añade luego un «Resource» de tipo «Application» en ese proyecto y autoriza el acceso vía OAuth.
Conectar el repositorio Git y elegir el buildpack
Selecciona tu repositorio y la rama de producción. Coolify detecta automáticamente el tipo de aplicación vía Nixpacks. Si tu proyecto tiene un
Procfile, Coolify lo lee y configura el proceso web.Configurar las variables de entorno
Recupera tus variables de Heroku con
heroku config -a <nombre-app>. Cópialas en la pestaña «Environment Variables» en Coolify. Presta especial atención aDATABASE_URL.Lanzar el primer despliegue
Haz clic en «Deploy». Coolify construye la imagen vía Nixpacks, la sube a su registry interno y arranca el contenedor con un health check. Monitoriza los logs en tiempo real en la pestaña «Deployments».
Cambiar el DNS
En Coolify, añade tu dominio personalizado en los ajustes de la aplicación. Coolify genera automáticamente el certificado TLS vía Let's Encrypt. Luego modifica la entrada DNS para que apunte a la IP de tu VPS.
Validar 24-48 h en paralelo antes de eliminar Heroku
Mantén tu aplicación Heroku activa al menos 24 a 48 horas tras el cambio de DNS. Prueba todas las funcionalidades críticas en la nueva instancia antes de cancelar la suscripción Heroku.
Mantén tu suscripción Heroku activa 48 h tras la migración DNS para disponer de rollback inmediato. No canceles en cuanto el DNS apunte al nuevo servidor — los webhooks de terceros y tareas programadas requieren validación en el tiempo antes de cortar definitivamente la plataforma antigua.
Errores comunes durante la migración
La migración desde Heroku a un VPS con Coolify concentra algunas trampas recurrentes que conviene conocer de antemano. La primera es la conversión del Procfile: si tu aplicación usa procesos release, estos hooks deben reconfigurarse en los scripts de inicio de Coolify o mediante un entrypoint Docker personalizado. La segunda trampa son las variables de entorno faltantes: Heroku inyecta automáticamente ciertas variables (DYNO, PORT, HEROKU_APP_NAME) que tu código puede leer sin haberlas declarado explícitamente. El tercer problema es el timeout del health check: Coolify configura por defecto HEALTHCHECK --interval=30s --timeout=10s; aumenta --start-period a 60 o 120 segundos para aplicaciones voluminosas. Finalmente, el formato DATABASE_URL puede diferir: Heroku usa el esquema postgres:// mientras que algunas librerías modernas requieren postgresql://. Para las bases de datos, evita migrar infraestructura y datos al mismo tiempo — usa pg_dump y pg_restore en un segundo paso.
Tras la migración — optimizaciones
Una vez estabilizada la aplicación en el VPS, varias optimizaciones permiten alcanzar un nivel de fiabilidad superior al que ofrecía Heroku por defecto. La primera prioridad son las copias de seguridad automáticas: configura snapshots diarios del VPS a través del panel de tu proveedor, y añade una copia de seguridad a nivel de aplicación para PostgreSQL con pg_dump programado por cron o mediante la interfaz de Coolify (que incluye un gestor de backups desde la versión 4.0). El segundo paso es el monitoreo: instala Uptime Kuma para vigilar la disponibilidad de tus aplicaciones con alertas por email, Telegram o Slack. Para un monitoreo de sistema más completo, Beszel es una alternativa ligera y moderna diseñada para auto-hosters. La tercera optimización concierne al CI/CD: configura un webhook en tu pipeline de GitHub Actions para automatizar los despliegues en producción tras pasar los tests, conectándolo como último paso de tu workflow.
Migrar desde Vercel — el caso especial de los frontends SSR
Vercel está diseñado para despliegues de frontends estáticos y SSR, particularmente Next.js del cual Vercel es el editor. Si alojas una aplicación Next.js en Vercel, Coolify soporta Next.js vía Nixpacks y puede desplegarla en modo next start dentro de un contenedor Docker. La migración es directa para proyectos que no usan Edge Functions de Vercel ni la red CDN Edge distribuida. Sin embargo, si tu aplicación depende fuertemente de Edge Functions — lógica de autenticación, redirecciones geolocalizadas, A/B testing a nivel CDN — una migración 1:1 a Coolify no es inmediata, ya que Coolify despliega en un único servidor. En ese caso, usar Dokploy para aplicaciones full-stack con menos dependencias específicas de Vercel, o adoptar Kamal (de Basecamp) combinado con Nginx, puede ser más adecuado. Para frontends Nuxt.js, SvelteKit o Astro sin Edge Functions, Coolify es la migración más sencilla. El ahorro en una stack Vercel Pro con varios desarrolladores puede superar los 60-80 €/mes al pasarse a un único VPS con Coolify, sin degradación perceptible para los usuarios finales en la gran mayoría de casos de uso.