Autoalojar un CRM: por qué dejamos el SaaS
El mercado de CRM SaaS ofrece muchas opciones. Salesforce, HubSpot, Pipedrive, Zoho: cada uno con sus planes de precios, su matriz de funciones y un gestor de cuentas dispuesto a explicar por qué el plan superior es exactamente lo que necesita su empresa. Hemos utilizado varias de estas herramientas a lo largo de los años y comprobado que, a partir de cierto punto, su propuesta de valor se invierte.
Los costos son el síntoma más visible. Pipedrive empieza con un precio razonable, pero aumenta por usuario. El plan gratuito de HubSpot resulta útil hasta que deja de serlo; entonces, el salto a un plan de pago es considerable. Salesforce pertenece a otra categoría: es software empresarial con precios acordes, que exige administradores dedicados para configurarlo y mantenerlo. Para una consultora que gestiona unos cientos de contactos y unas pocas oportunidades de venta activas, ninguna de estas estructuras de precios resulta especialmente eficiente.
Pero el cálculo de costos no se limita a las cuotas de suscripción. También importa qué se está comprando realmente.
El problema de la dependencia del proveedor
Los proveedores de CRM SaaS venden comodidad. A cambio, conservan la custodia de sus datos, el control de la interfaz y la posibilidad de modificar los precios a su criterio. No es una observación polémica: es el modelo. Salesforce ha subido los precios varias veces. HubSpot ha reorganizado las funciones disponibles en cada plan. Pipedrive ha reorganizado y renombrado su oferta de planes. Todas estas decisiones están dentro de los derechos del proveedor y generan dificultades para los clientes que organizaron sus flujos de trabajo en torno a las condiciones anteriores.
La portabilidad de los datos importa más de lo que suele reconocerse. Todos los principales CRM permiten exportar datos, normalmente a CSV. Pero exportar sus contactos a CSV no equivale a exportar los datos de su CRM. Las relaciones entre contactos y empresas, el historial de actividades, la cronología de las oportunidades y los campos personalizados rara vez se conservan íntegramente. En la práctica, abandonar un CRM SaaS implica reconstruir desde cero partes importantes del historial operativo. Los datos son técnicamente suyos, pero recuperarlos en un formato útil exige un esfuerzo considerable.
Twenty CRM y la opción del autoalojamiento
Twenty (twenty.com) es un CRM de código abierto que se ha consolidado como una alternativa seria a las soluciones comerciales. Su código se desarrolla activamente, el modelo de datos está bien estructurado y la interfaz es fácil de usar. Funciona sobre PostgreSQL, por lo que pueden utilizarse directamente las herramientas habituales de bases de datos. No es un repositorio de aficionados: cuenta con un equipo financiado y una hoja de ruta clara.
Lo desplegamos en nuestra infraestructura existente de Hetzner, en la misma instancia CX53 que aloja nuestro sitio web y otros servicios detrás de Traefik. La configuración de Docker Compose que proporciona Twenty es sencilla. Los servicios principales son el servidor de API, el frontend, la base de datos PostgreSQL y Redis para la caché y la gestión de colas. El consumo adicional de recursos para un equipo pequeño es moderado: el stack utiliza menos de 2 GB de RAM en reposo.
La configuración llevó unas dos horas, incluida la configuración de DNS y la terminación SSL mediante nuestro proxy inverso Traefik. La documentación de Twenty explica claramente el despliegue con Docker. Las variables de entorno están bien documentadas, las comprobaciones de estado funcionan como se espera y la migración inicial de datos se ejecuta automáticamente en el primer arranque. No hubo obstáculos importantes.
Qué muestra realmente el análisis de costos
Autoalojar Twenty en una infraestructura que ya operamos prácticamente no supone costos incrementales. En una infraestructura dedicada, el costo corresponde a la factura mensual del servidor. Nuestro Hetzner CX53 cuesta aproximadamente €30 al mes y aloja varios servicios: el CRM es un inquilino más en un entorno compartido, no la razón de ser del servidor.
Compárelo con las alternativas SaaS habituales (precios de lista a octubre de 2026). Pipedrive cuesta $14–79 por usuario al mes con facturación anual, según el plan. Para un equipo de tres personas, son $42–237 al mes o $504–2 844 al año. Sales Hub Professional de HubSpot, que permite usar automatización e informes personalizados, cuesta $90 por usuario al mes con facturación anual, más un cargo único de incorporación de $1 500. Starter Suite de Salesforce, el plan de entrada, cuesta $25 por usuario al mes, pero las funciones que la mayoría de los equipos comerciales necesitan están en Pro Suite, a $100 por usuario al mes.
Estas cifras no son desproporcionadas para grandes organizaciones comerciales donde la adopción del CRM genera directamente un valor medible en el pipeline de ventas. Pero para una consultora tecnológica cuyo CRM sirve principalmente como base de contactos e historial de proyectos, el cálculo es distinto. La carga operativa de un despliegue autoalojado se mide en horas al año, no a la semana. El punto de equilibrio se alcanza rápidamente.
La propiedad de los datos en la práctica
Cuando los datos de su CRM están en una base de datos PostgreSQL que controla, las implicaciones operativas son concretas. Las copias de seguridad son volcados estándar: ejecutamos exportaciones diarias con pg_dump a Hetzner Object Storage, que conservamos durante 30 días, además de instantáneas mensuales durante un año. Las consultas no tienen restricciones. Puede cruzar las tablas del CRM con sus propios datos, generar informes personalizados sobre el esquema original o enviar datos de contactos a otros sistemas internos sin límites de exportación ni cuotas de llamadas a la API.
Esto importa más de lo que parece al principio. Los CRM SaaS imponen límites de solicitudes a la API que, a escala, condicionan la arquitectura. En los planes Free y Starter de HubSpot, las aplicaciones privadas comparten un límite de 250 000 solicitudes al día y 100 solicitudes cada 10 segundos (a octubre de 2026). Los límites de Pipedrive varían según el plan. Cuando necesita sincronizar datos del CRM con sistemas externos —facturación, gestión de proyectos o paneles personalizados—, estos límites determinan qué integraciones son técnicamente viables. Con una base de datos PostgreSQL autoalojada, no hay una cuota impuesta por el proveedor; las restricciones prácticas pasan a ser la capacidad del servidor, sus propios controles de acceso y mantener las integraciones compatibles con el esquema de Twenty a medida que evoluciona.
También está la cuestión de qué ocurre con sus datos si el proveedor es adquirido, cambia sus condiciones o cesa sus operaciones. Son sucesos poco probables en los grandes proveedores, pero su probabilidad no es cero. Ser dueño de sus datos implica asumir el modelo de riesgo, en lugar de delegarlo.
Personalización sin un socio de desarrollo
Twenty se basa en una API GraphQL con un modelo de datos definido por metadatos. Añadir campos personalizados a cualquier entidad lleva segundos en la interfaz: se define el tipo de campo y aparece inmediatamente en la interfaz y en el esquema de la API. No hacen falta exportaciones de configuración, despliegues en entornos de pruebas, solicitudes de soporte ni cambios a un plan superior.
Es una diferencia cualitativa respecto a los CRM SaaS. Salesforce permite una personalización extensa, pero su modelo es tan complejo que sostiene todo un sector de servicios profesionales. Pipedrive admite campos personalizados en la mayoría de los objetos, pero limita la personalización de la interfaz. Las posibilidades de personalización de HubSpot dependen en gran medida del plan contratado.
El enfoque de Twenty —esquema abierto y control local— permite ampliar directamente el modelo cuando un proyecto necesita registrar información que el modelo predeterminado no contempla. Para una consultora que a veces debe registrar estructuras de acuerdos poco habituales o metadatos específicos de cada cliente, esta flexibilidad ha resultado útil.
Estrategia de copias de seguridad
Nuestra configuración de copias de seguridad es deliberadamente sencilla. Un pg_dump diario y automatizado de la base de datos PostgreSQL de Twenty, comprimido y cargado a Hetzner Object Storage. Los datos de la aplicación —imágenes de perfil y archivos adjuntos— se guardan en un volumen de Docker del que hacemos copias con restic siguiendo el mismo calendario. Conservamos las instantáneas diarias durante 30 días y las mensuales durante 12 meses.
Probamos la recuperación cada trimestre: restauramos la copia en una base de datos de preproducción, comprobamos el número de filas y verificamos por muestreo la integridad de los datos. Restaurar completamente una instancia operativa de Twenty desde una copia lleva unos 15 minutos, un plazo aceptable para una herramienta que no está en la ruta crítica de las operaciones en tiempo real. Hetzner Object Storage cuesta €6,49 al mes (sin IVA, a octubre de 2026), con 1 TB de almacenamiento incluido; nuestras copias del CRM consumen una pequeña parte de esa capacidad.
La disciplina operativa necesaria es moderada. Las tareas de copia se ejecutan mediante cron en el host, registran los resultados en un sistema de monitoreo y generan alertas si fallan. Es una práctica habitual que cualquier equipo que opere cargas de trabajo en servidores debería tener implantada.
Cuándo tiene sentido el autoalojamiento
Autoalojar un CRM resulta especialmente adecuado cuando coinciden varias condiciones. Su equipo tiene capacidad operativa real para ejecutar contenedores Docker y gestionar PostgreSQL: es un requisito, no un detalle técnico. Ya dispone de infraestructura de servidores con capacidad libre. Su uso del CRM es relativamente estable, de modo que no depende de la hoja de ruta del proveedor para funciones que necesitará en el próximo trimestre.
Los argumentos sobre costos y propiedad de los datos son válidos, pero quedan en segundo plano frente a la capacidad operativa. El autoalojamiento intercambia dinero por tiempo y conocimientos. Si el tiempo operativo de su equipo cuesta más que una suscripción SaaS, el cambio puede no ser rentable. El punto de equilibrio no es solo financiero: también depende de las competencias y de la disponibilidad real del equipo.
Cuándo no tiene sentido
Si su organización necesita integraciones empresariales profundas —un CRM conectado a una plataforma de automatización de marketing, una CDP y un almacén de datos, todo mantenido por un equipo dedicado de RevOps—, el autoalojamiento no es la dirección adecuada. El ecosistema de integraciones de los CRM comerciales es amplio porque sus proveedores llevan años desarrollándolo. Una instancia autoalojada de Twenty se conecta mediante su API GraphQL o acceso directo a la base de datos. No dispone de una biblioteca de 500 conectores preconfigurados.
Del mismo modo, si nadie en su equipo puede diagnosticar un contenedor Docker que falla, leer los registros de PostgreSQL o restaurar una copia de la base de datos, la carga operativa superará rápidamente el ahorro. El autoalojamiento exige conocimientos básicos de infraestructura que no todos los equipos tienen, y adquirirlos también tiene un costo.
Los requisitos de cumplimiento normativo pueden cambiar el cálculo. Si su empresa está sujeta a normas que exigen a los proveedores tecnológicos una gestión certificada de los datos —atestaciones SOC 2 o auditorías ISO 27001—, un despliegue autoalojado implica que no puede apoyarse en la atestación de un proveedor de CRM; el CRM queda dentro del alcance de sus propios controles y auditorías. Que esto sea una ventaja o una carga depende de su situación actual en materia de cumplimiento.
Lo que utilizamos en producción
Nuestro despliegue de Twenty en producción lleva varios meses funcionando sin incidentes importantes. La gestión de contactos, los registros de empresas, el seguimiento de oportunidades y el registro de actividades funcionan como se espera. La interfaz es suficientemente clara para que la incorporación no haya requerido formación formal. La API GraphQL ha resultado útil para integrar el contexto del CRM en otras herramientas internas, en concreto para los informes a clientes y el seguimiento de proyectos que desarrollamos nosotros en lugar de contratar como complemento SaaS.
El mantenimiento es menor de lo previsto. Twenty publica actualizaciones con regularidad; desplegarlas consiste en descargar la nueva imagen de Docker y reiniciar el servicio, normalmente en menos de cinco minutos. PostgreSQL no ha requerido intervención manual más allá de verificar las copias de seguridad de forma rutinaria.
La decisión no fue ideológica. No abandonamos el CRM SaaS porque el SaaS sea intrínsecamente malo ni porque el autoalojamiento sea intrínsecamente virtuoso. Fue una decisión operativa: para nuestro caso concreto, autoalojar es más sencillo, cuesta menos y nos da mayor control sobre nuestros datos. Una organización con otras restricciones —un equipo comercial mayor, integraciones más exigentes o capacidad de infraestructura limitada— podría llegar a otra conclusión. Lo importante es hacer el cálculo explícitamente, en lugar de optar por la suscripción porque exige menos esfuerzo inicial.
Artículos relacionados
- Proxy inverso Traefik: guía completa de autoalojamiento para HTTPS y automatización SSL
- Autoalojar n8n en Hetzner Cloud: tutorial completo de configuración con Docker
- Cómo la propiedad completa de los datos transforma las operaciones de venta en Amazon
- Crear un stack de desarrollo multiinquilino con Docker: configuración completa para despliegues de clientes escalables
- Hetzner Cloud a finales de 2026: planes y precios para autoalojar n8n, Windmill, Twenty y Ollama