Ir al contenido
AppsSDAR

Lo que un cPanel compartido puede y no puede correr

7 min de lectura

Todos los sistemas del catálogo de AppsSDAR corren sobre un cPanel compartido, no sobre un clúster de servidores dedicados. Es una decisión consciente de costo, y funciona bien para lo que necesita la mayoría de estos proyectos — pero solo si conoces exactamente qué puede y qué no puede correr ahí antes de diseñar, no después.

Lo que sí hay

Un cPanel moderno con CloudLinux ofrece más de lo que parece a primera vista: varias versiones de PHP, Node y Python instaladas y seleccionables por dominio, PostgreSQL y MariaDB, y binarios básicos como ImageMagick y Ghostscript. Para sitios estáticos, aplicaciones Node livianas o backends en PHP y Python, es perfectamente viable, y sale varias veces más barato que levantar un servidor dedicado para cada proyecto.

Lo que casi nunca está, y sorprende cuando falta

ffmpeg, poppler-utils, tesseract (OCR) y LibreOffice — por nombrar los más comunes— casi nunca vienen instalados en un hosting compartido, y no hay acceso de root para instalarlos por fuera del selector de paquetes del panel. Si un proyecto asume que puede convertir video, extraer texto de un PDF escaneado o pasar un Word a PDF desde el servidor, ese supuesto se cae el día del despliegue, no antes — y para entonces ya es tarde para replantear la arquitectura sin perder tiempo.

La salida que uso: mover el trabajo al navegador

Cuando el binario que falta es para procesar algo que el usuario mismo sube —una imagen, un PDF, un video corto— la solución que mejor me ha funcionado no es pelear por instalar el binario, sino evitar necesitarlo: procesar ese archivo directamente en el navegador con WebAssembly. Es exactamente la arquitectura detrás de Arca y sobre todo de Utilitarios, donde escribí con más detalle por qué ningún archivo sube a un servidor. Cuando eso no es posible —por ejemplo, con dependencias nativas de Node como sharp para imágenes— conviene probar la instalación por SSH antes de comprometerse: algunos paquetes traen binarios precompilados que sí funcionan sin compilar nada en el servidor, y otros intentan compilar desde el código fuente y fallan o tardan demasiado en un entorno compartido.

Los límites que no son de software: NPROC y memoria

Un cPanel compartido reparte CPU, memoria y número de procesos entre todas las cuentas del mismo servidor físico mediante un sistema de cuotas (LVE, en CloudLinux). Cada aplicación Node que dejas corriendo consume una porción fija de esa cuota de procesos, así que levantar una app Node separada por cada funcionalidad pequeña se come el límite rápido. Preferir sitios estáticos o un solo proceso Node que sirva varias rutas, en vez de un microservicio por feature, alarga mucho más la vida útil de la cuenta antes de necesitar upgrade.

Cuándo dejar de pelear y migrar

El punto de quiebre no es "cuando algo no funciona una vez": es cuando el proyecto necesita, de forma estructural, algo que el hosting compartido no puede dar —un proceso en segundo plano persistente, Redis, Docker, o simplemente más CPU dedicada de la que la cuota permite sin afectar a los demás sistemas que comparten el mismo servidor. Ahí la respuesta ya no es un workaround, es un VPS con un orquestador propio. Para todo lo demás —que es la mayoría de lo que construyo— el hosting compartido, bien entendido, es la opción más barata y más que suficiente.