Por qué las agencias reevalúan su stack SaaS en 2026
Tres señales convergen en 2026: primero, Atlassian subió sus precios dos veces en dieciocho meses y anunció en marzo de 2026 el fin del soporte de Jira Server (efectivo desde febrero de 2024), forzando a miles de equipos a migrar a Jira Cloud o a un equivalente open source. Segundo, Slack integró funciones de IA en el plan Pro sin bajar el precio. Tercero, las ofertas de VPS se han abaratado radicalmente — hoy es posible arrancar un servidor de 8 vCPU / 32 GB RAM por menos de 80 $/mes, lo que cambia el punto de equilibrio del self-hosted.
El argumento clásico en contra — «el tiempo de un desarrollador cuesta más que la suscripción» — tiene ahora una respuesta cada vez más precisa. Las plantillas de un clic y las imágenes Docker preconfiguradas han reducido el bootstrap a menos de una hora por herramienta. El mantenimiento rutinario ronda los 30-60 minutos al mes. Para una agencia de 10 personas, el cálculo es factible.
Qué cambia realmente el self-hosted para una agencia
- Propiedad de los datos: tus proyectos de clientes, repositorios de código y mensajes internos nunca salen de tu infraestructura — argumento decisivo para agencias sujetas a NDAs estrictos o que manejan datos RGPD sensibles.
- Previsibilidad presupuestaria: un VPS de coste fijo no factura por asiento ni por uso — sabes lo que pagas el 1 de enero para los 12 meses siguientes.
- Sin sorpresas en los precios: los proveedores SaaS cambian sus planes y precios; tu VPS no te enviará un aviso de subida con 30 días de antelación.
- Personalización sin límites: acceso root, plugins de la comunidad, integraciones internas — no esperas el roadmap del proveedor para una función crítica.
- Compartición de recursos: un solo VPS puede alojar varias herramientas en paralelo, dividiendo los costes de infraestructura entre Plane, GitLab, Mattermost y Uptime Kuma.
- Independencia frente a adquisiciones y EOL: Jira Server ha muerto, Bitbucket Server también. En tu propio servidor, decides cuánto tiempo vive cada herramienta.
Las 7 herramientas — SaaS vs self-hosted (10 usuarios, 1 año)
Desplace la tabla
| Herramienta | Coste SaaS (10 pers./año) | Self-hosted | Ahorro | Despliegue |
|---|---|---|---|---|
| Gestión de proyectos (Jira → Plane) | 948 $ (Jira Standard, ~7,90 $/usuario/mes) | Incluido en el VPS compartido | 948 $ | < 30 min (Docker Compose) |
| Código y CI/CD (GitHub → GitLab CE) | 480 $ (GitHub Team, 4 $/usuario/mes) | Incluido en el VPS compartido | 480 $ | < 45 min (imagen oficial) |
| Mensajería (Slack → Mattermost) | 870 $ (Slack Pro, 7,25 $/usuario/mes, anual) | Incluido en el VPS compartido | 870 $ | < 20 min (Docker) |
| Wiki / documentación (Notion → Outline) | 1.200 $ (Notion Plus, 10 $/usuario/mes, anual) | Incluido en el VPS compartido | 1.200 $ | < 20 min (Docker) |
| Monitorización de errores (Sentry → Sentry self-hosted) | 312 $ (Sentry Team, 26 $/mes flat, anual) | Incluido en el VPS compartido | 312 $ | < 30 min (Docker Compose oficial) |
| Monitorización de infra (Datadog → Uptime Kuma) | 1.800 $ (Datadog Infra Pro, 15 $/host/mes, 10 hosts) | Incluido en el VPS compartido | 1.800 $ | < 10 min (imagen Docker) |
| Analítica web (GA4 → Plausible / Umami) | 108 $ (Plausible Cloud Starter, ~9 $/mes) | Incluido en el VPS compartido | 228 $ | < 15 min (Docker) |
| TOTAL anual | 5.838 $ / año | 299 DH/mes × 12 + ~400 $ mantenimiento estimado | Hasta 4.600 – 5.000 $ / año neto |
Calcular tu TCO real
La fórmula es sencilla:
TCO SaaS = Σ suscripciones anuales (licencias únicamente, sin excesos)
TCO self-hosted = Coste anual del VPS + Coste de mantenimiento (horas × tarifa) + Coste inicial de migración (amortizado a 2 años)
Ahorro neto = TCO SaaS − TCO self-hosted
Para una agencia de 10 personas con las 7 herramientas:
- TCO SaaS: 5.838 $/año
- VPS dedicado 8 vCPU / 32 GB RAM: 299 DH/mes × 12
- Mantenimiento: 1 hora/mes × 60 $/h = 720 $/año
- Migración inicial amortizada (1 día dev a 500 $, amortizado a 2 años): 250 $/año
El ahorro neto supera los 4.000 $/año en la mayoría de los escenarios realistas.
Requisitos para una agencia de 10 personas
La tentación es empezar con un VPS de entrada. Mala idea: GitLab CE solo exige mínimo 4 GB RAM (8 GB recomendados). La configuración que hace funcionar el stack completo sin fricciones:
- VPS recomendado para empezar (3-4 herramientas): 4 vCPU / 8 GB RAM / 100 GB SSD — desde 99 DH/mes
- VPS recomendado para el stack completo (7 herramientas): 8 vCPU / 32 GB RAM / 200 GB SSD — 299 DH/mes
Por herramienta:
- Plane: 2 GB RAM mínimo, 4 GB recomendado
- GitLab CE: 4 GB RAM mínimo, 8 GB recomendado
- Mattermost: 1 GB para < 50 usuarios
- Outline: 1 GB RAM
- Sentry self-hosted: 4 GB RAM mínimo (motor Kafka/Clickhouse)
- Uptime Kuma: 256 MB RAM
- Plausible / Umami: 1–2 GB según el volumen de tráfico rastreado
Migrar las 7 herramientas a un VPS ServOrbit
Aprovisionar el VPS y securizar el acceso
Solicita un VPS de 8 vCPU / 32 GB RAM desde tu panel de agencia ServOrbit. Activa la autenticación por clave SSH, desactiva el login por contraseña e instala Docker + Docker Compose. Tiempo estimado: 15 minutos.
Instalar Plane (gestión de proyectos)
Clona el repositorio oficial de Plane, copia
.env.example, rellena tu dominio y ejecutadocker compose up -d. Configura un reverse proxy nginx con HTTPS. Exporta tus datos de Jira en CSV desde Ajustes > Importar/Exportar. Tiempo: 30 minutos.Instalar GitLab CE (código y CI/CD)
Usa la imagen Docker oficial de GitLab CE. Configura el volumen de datos en un disco persistente, define
external_urly el SMTP saliente. Importa tus proyectos de GitHub/Bitbucket con la herramienta de migración integrada. Tiempo: 45 minutos + tiempo de migración de repositorios.Instalar Mattermost (mensajería)
Docker Compose oficial de Mattermost con 3 archivos. Configura el SMTP y crea canales equivalentes a tus espacios de Slack. Usa la herramienta de exportación de datos de Slack y el script de importación de Mattermost para recuperar el historial de los últimos 90 días. Tiempo: 20 minutos.
Instalar Outline (wiki / documentación)
Outline necesita una instancia Postgres y un bucket compatible con S3. La imagen Docker oficial monta ambos en Compose. Exporta tu espacio Notion en Markdown desde Ajustes > Exportar contenido, luego usa el módulo de importación de Outline. Tiempo: 20 minutos + reorganización del wiki.
Instalar Sentry self-hosted (monitorización de errores)
Sentry publica un repositorio
getsentry/self-hostedcon un scriptinstall.shautomatizado. Levanta Kafka, Redis, Postgres y Clickhouse — reserva 4 GB de RAM. Migra tus DSN existentes actualizando la variableSENTRY_DSNen cada aplicación. Tiempo: 30 minutos.Instalar Uptime Kuma (monitorización de disponibilidad)
Un solo comando Docker. Configura los mismos monitores que en tu antiguo panel de Datadog (URLs, puertos TCP, ping). Uptime Kuma soporta notificaciones en Slack, email y webhook. Tiempo: 10 minutos.
Instalar Plausible o Umami (analítica web)
Sustituye el snippet de Google Analytics / Plausible Cloud por la versión self-hosted. Plausible tiene un Compose oficial; Umami es más ligero (solo Postgres). Redirige tu dominio de tracking y actualiza el snippet en tu CMS. Tiempo: 15 minutos.
Qué conviene mantener en SaaS — y por qué
El self-hosting no es la respuesta universal. Algunas herramientas siguen siendo más adecuadas como SaaS según tu contexto:
- SSO empresarial (Okta, Azure AD): si tu agencia necesita integrarse con el SSO de un cliente corporativo, los planes SaaS de Jira o GitHub ofrecen conectores SAML/OIDC probados y mantenidos.
- Conformidad HIPAA / SOC 2: si manejas datos sanitarios americanos, Jira Cloud Enterprise y GitHub Enterprise ofrecen BAA firmados.
- Herramientas de facturación y firma: los pipelines de pago (Stripe, DocuSign) son zonas de riesgo donde el self-hosting cuesta más de lo que ahorra.
- Videoconferencias (Zoom, Meet): Jitsi self-hosted funciona, pero la calidad de audio/vídeo con 10 participantes simultáneos requiere ancho de banda y CPU dedicados — la relación coste/beneficio es menos favorable.
Resolución de problemas — errores clásicos de la migración
1. Subdimensionar el VPS para GitLab. GitLab CE con Gitaly consume 4 GB de RAM en reposo. Si lo compartes con Sentry en un VPS de 8 GB, rozarás el swap en cada push grande.
2. Olvidar los backups antes de la migración. Exporta todos tus datos SaaS *antes* de cancelar las suscripciones. Jira bloquea la exportación si tu suscripción ha expirado. Mantén la suscripción SaaS activa 30 días después de la migración.
3. Descuidar el reverse proxy. Sin nginx o Caddy delante de tus contenedores, cada servicio escucha en un puerto diferente. Configura un reverse proxy desde el primer día con subdominios dedicados y certificados HTTPS automáticos.
4. No probar los backups automáticos. Prueba la restauración dentro de las 48 horas siguientes a la puesta en producción — no durante una crisis.
5. Migrar todas las herramientas a la vez. La fatiga de migración es real. Migra una herramienta, espera dos semanas a que el equipo se adapte, y pasa a la siguiente. Orden recomendado: Plane → Mattermost → Outline → Uptime Kuma → GitLab → Sentry → Analítica.
Escenarios por tamaño de agencia
Desplace la tabla
| Tamaño equipo | Stack | VPS ServOrbit | Ahorro anual |
|---|---|---|---|
| 5 personas | Plane + Mattermost + Uptime Kuma + Plausible | 4 vCPU / 8 GB RAM — 99 DH/mes | 1.800–2.400 $/año |
| 10 personas | Stack completo (7 herramientas) | 8 vCPU / 32 GB RAM — 299 DH/mes | 4.000–5.000 $/año |
| 25 personas | Stack completo + GitLab dedicado + Sentry dedicado | 2 × VPS 8 vCPU / 32 GB RAM | 10.000–14.000 $/año |