Parte 2: Gestores de Procesos - Manteniendo tu Aplicación Viva con PM2. Tiempo de lectura aproximado 10 minutos. Nivel: Principiante.
Resumen rápido: en la primera parte desplegamos la plataforma Sales Signal Processing Platform en un servidor de forma manual y comprobamos que funciona hasta que falla por cierres de sesión SSH, caídas de la aplicación o reinicios del servidor. En este artículo veremos cómo mantener la aplicación en producción sin tener que vigilarla constantemente utilizando PM2, un gestor de procesos para Node.js.
El problema: los procesos son frágiles. En producción un proceso puede morir por excepciones no controladas, fugas de memoria, fallos en dependencias como bases de datos o Redis, e incluso causas improbables pero reales. Necesitas algo que reinicie la aplicación automáticamente y gestione su ciclo de vida.
Qué es PM2: PM2 es un process manager de grado producción para aplicaciones Node.js. Actúa como un cuidador que reinicia la app al fallar, la inicia al arrancar el servidor, centraliza logs, monitoriza CPU y memoria y permite recargas sin tiempo de inactividad cuando se ejecuta en modo cluster.
Instalación y uso básico: conéctate por SSH e instala PM2 globalmente con npm install -g pm2. Para iniciar la app en lugar de npm start usa pm2 start npm --name sspp-api -- start o, mejor aún, define un archivo de ecosistema que describa todos los servicios y variables de entorno.
Archivo de ecosistema: crea ecosystem.config.js en la raíz de tus servicios para definir nombre, directorio de trabajo, script, argumentos, autorestart, límite de memoria, variables de entorno y ficheros de log. Con esto gestionas API y workers desde un único punto, defines cuántas instancias ejecutar para procesamiento paralelo y centralizas logs en rutas como /var/log/sspp/.
Supervivencia al reinicio: genera el script de arranque con pm2 startup systemd y ejecuta el comando sudo que imprime PM2 para registrar el servicio en el sistema. Guarda la lista con pm2 save para crear dump.pm2 y tras un reinicio del servidor tus procesos se restauran automáticamente.
Gestión, logs y monitorización: usa pm2 status para ver el estado, pm2 logs para consultar logs combinados o por servicio, pm2 monit para un dashboard interactivo con consumo de CPU y memoria. Para rotación de logs instala pm2-logrotate y configura tamaño máximo y retención para evitar que los ficheros crezcan indefinidamente.
Modo cluster y balanceo: PM2 puede ejecutar múltiples instancias de la misma aplicación y balancear carga entre ellas con exec_mode cluster y instances igual al número de núcleos o max. Esto aprovecha todos los CPUs y permite recargas sin corte manteniendo disponibilidad.
Qué resolvimos y qué no: PM2 aporta reinicio automático, arranque en boot, logs centralizados, monitorización básica, nombres de proceso y gestión de múltiples instancias en un solo servidor. Lo que no soluciona incluye consistencia de entornos, instalación de dependencias, despliegues multi servidor, rollback de versiones ni aislamiento completo de recursos. Por eso en Q2BSTUDIO combinamos prácticas de proceso con contenedores y automatización para mejorar reproducibilidad y escalabilidad.
Consejos prácticos: utiliza siempre archivos de ecosistema en vez de arrancar con argumentos inline, fija max_memory_restart para limitar fugas, usa rutas absolutas en cwd, separa ficheros de salida y error y activa la rotación de logs con pm2-logrotate. Antes de ir a producción asegúrate de instalar pm2 startup, ejecutar pm2 save, y revisar que la política de logs y monitorización esté configurada.
Sobre Q2BSTUDIO: somos una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud. Si quieres que te ayudemos a pasar de procesos manuales a un despliegue profesional podemos acompañarte desde el diseño hasta la puesta en marcha. Consulta nuestras soluciones para desarrollo de aplicaciones y software a medida o conoce nuestros servicios cloud para desplegar de forma segura en la nube con servicios cloud aws y azure.
Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa la automatización completa del despliegue y la reproductibilidad en todos los entornos, en la siguiente parte hablaremos de Docker para congelar dependencias y facilitar rollbacks y scaling. En Q2BSTUDIO podemos ayudarte a diseñar la arquitectura, integrar monitorización y definir pipelines de CI CD para que tus aplicaciones vivan y escalen sin sorpresas.