Una instalación independiente por cada cliente empresa. Mismo código, configuración y base de datos propios, servidor dedicado — cero dependencia entre clientes.
El código es el mismo para todos los clientes. Cada empresa tiene su propio servidor, su propia base de datos y su propia configuración. No hay un cliente afectando a otro.
Cada cliente tiene su propia BD, sus propios certificados y su propio proceso. Una caída o un error en el cliente A no existe para el cliente B.
Si el cliente C necesita un campo extra, un flujo distinto o una integración específica, se toca esa instancia sin afectar a nadie más.
Empresas con requisitos de compliance, bancos, o clientes que no pueden usar SaaS compartido pueden alojar en su propio servidor.
Cada modelo tiene su lugar. Esta comparación asume el mismo equipo de 3 devs y el mismo stack NestJS + React.
Los roles son idénticos al plan SaaS. La diferencia es que la complejidad de multi-tenancy desaparece, liberando tiempo para el deploy script — el nuevo entregable crítico de este modelo.
4 semanas menos que el plan SaaS. Se eliminan la complejidad multi-tenant, el SuperAdmin y el aislamiento lógico de datos. El deploy script entra como entregable del MVP.
El deploy script es el mecanismo que convierte el código en una instancia viva en minutos. Es tan crítico como el código de la aplicación.
Parámetros: nombre del cliente, RUC, dominio, credenciales iniciales. El script clona el repo, genera el .env, levanta los contenedores, configura Nginx y corre las migraciones. Resultado: instancia viva en ~15 minutos.
Corre en el servidor del cliente. Hace git pull de la última versión etiquetada, rebuilds los contenedores y corre las migraciones nuevas. Si falla, hace rollback al tag anterior. Sin downtime si se usa blue/green.
Itera sobre todos los clientes registrados y corre el update en cada uno de forma secuencial o en paralelo. Se construye en iter 2 cuando ya hay más de 2 clientes activos. Reduce el overhead de actualización masiva.
El MVP es idéntico al plan SaaS en funcionalidad, pero más simple en código. Lo que desaparece: multi-tenancy, SuperAdmin, tenant context en JWT, y tenant_id en las tablas.
En este modelo, el script de despliegue no es un detalle de infraestructura — es lo que hace escalable el negocio. Sin él, cada cliente nuevo es trabajo manual que crece con el tiempo.
Los riesgos de código se reducen. Los riesgos operacionales aumentan — se mitigan con automatización.