surfup

SaaS de logística

Despliegues en 15 minutos en vez de lanzamientos nocturnos manuales

Logística · DevOps · Kubernetes · CI/CD · Monitorización
Contexto del proyecto

El cliente es un servicio logístico que procesa decenas de miles de pedidos al día, con picos por la tarde y durante las rebajas, y SLA estrictos con las cadenas comerciales asociadas. La infraestructura había crecido sin planificación: VPS dispersos, configuraciones fijadas «en los servidores» y despliegues manuales siguiendo instrucciones de una wiki. Cada lanzamiento exigía una publicación nocturna con interrupciones; cada pico suponía el riesgo de perder pedidos. El proyecto empezó después de una incidencia en las rebajas previas a Año Nuevo: la plataforma estuvo caída durante cuatro horas y el servicio tuvo que compensar a sus socios.

01 · Reto

Migrar la plataforma a una infraestructura gestionada sin detener el negocio:

infraestructura como código, entrega automatizada, contenedores y orquestación, observabilidad y recuperación predecible ante fallos. El fundador definió el éxito así: «desplegar durante el horario laboral, sin tiempo de inactividad y sin una persona con acceso por SSH».

02 · Trabajo realizado

Seguimos una secuencia probada: primero los contenedores y entornos reproducibles, después la automatización de la entrega y solo entonces la orquestación con autoescalado.

  • Auditamos la infraestructura: mapa de servicios y dependencias, medición del perfil de carga en horas punta y registro de las operaciones manuales que más a menudo causaban incidencias.
  • Contenerizamos los servicios: unificamos las compilaciones, trasladamos la configuración del código a variables de entorno y creamos entornos idénticos de desarrollo, pruebas y producción.
  • Describimos la infraestructura en código con Terraform: los entornos se despliegan desde el repositorio y se prohíben los cambios manuales desde la consola del proveedor de nube.
  • Creamos un pipeline de GitLab CI: las pruebas y la compilación de imágenes se ejecutan automáticamente; el despliegue a stage es inmediato y a producción se activa con un botón tras la revisión. La reversión se hace con una sola acción.
  • Migramos la plataforma a Kubernetes con autoescalado: ante los picos vespertinos y las rebajas, la plataforma añade instancias en vez de exigir intervenciones manuales de emergencia.
  • Desplegamos monitorización y alertas con métricas de las señales clave —latencia, errores, tráfico y saturación—, turnos de guardia y un esquema de escalado de incidencias.
  • Configuramos copias de seguridad y recuperación ante desastres: establecimos el procedimiento de recuperación e hicimos un simulacro de fallo en stage, midiendo el MTTR real.

Lo más valioso del proyecto no fueron las tecnologías, sino el cambio de responsabilidad: la infraestructura dejó de depender de una «persona con acceso por SSH». Cada despliegue es reproducible, cada entorno se puede reconstruir desde el código y los paneles muestran cualquier fallo antes de que escriba el primer cliente. Así, las interrupciones pasan de ser una catástrofe a una incidencia rutinaria con un procedimiento claro y un tiempo de recuperación medible.

03 · Resultado

El impacto económico se compone de tres partes: ahorro directo del 32% en infraestructura gracias al autoescalado y a dejar de mantener permanentemente encendida la capacidad para los picos; horas del equipo que ya no se consumen en despliegues nocturnos; y, sobre todo, ingresos preservados durante los picos, que ahora transcurren sin incidentes. Un importante cliente, una cadena de tiendas, renovó su contrato precisamente después de la primera rebaja en la nueva infraestructura.

04 · Resultados clave
IndicadorResultado
Despliegue de versiones3–4 horas manualmente → 15 minutos automáticamente
Frecuencia de lanzamientos2–3 al mes → Casi a diario
Disponibilidad de la plataforma97,8% → 99,95%
Picos de cargaRiesgo de interrupción → Autoescalado sin intervención humana

Las métricas se han trasladado de los materiales originales del caso. El período se indica cuando está especificado en la fuente.

Resultados de los primeros cinco meses
despliegue de versiones (antes, 3–4 horas manualmente)
15 min
disponibilidad de la plataforma (antes, 97,8%)
99,95%
recuperación tras una interrupción (antes, 2–4 horas)
20–30 min
coste de infraestructura
−32%
Antes y después
Despliegue de versiones, minutos
Antes3–4 horas
Después15 min
Un valor menor es mejor
Recuperación (MTTR), minutos
Antes2–4 horas
Después20–30 min
Un valor menor es mejor
Tiempo de inactividad de la plataforma
Antes2,2%
Después0,05%
Un valor menor es mejor

Se muestran los límites superiores de los intervalos (4 horas, 30 minutos). Tiempo de inactividad = 100% − disponibilidad.

Pipeline de entrega
  1. 01Commit
  2. 02Pruebas
  3. 03Compilación de la imagen
  4. 04Entorno de pruebasinmediatamente
  5. 05Produccióncon un botón tras la revisión
Próximos pasos

Áreas para desarrollar la infraestructura en el siguiente ciclo:

  • Prácticas FinOps: alertas de anomalías de gasto y visibilidad de costes por equipo.
  • Enfoque GitOps: el estado de producción queda descrito en el repositorio y los cambios se realizan solo mediante pull request.
  • Multirregión: réplicas de servicios críticos para resistir fallos del proveedor.
Testimonio
Antes, un lanzamiento significaba noche, café y rezar. Ahora son un botón y quince minutos. Toda la empresa celebró la primera rebaja sin incidentes.

— Director técnico del servicio logístico

Materiales recientes

Todos los materiales

Artículos prácticos y guías de SurfUp.

Guía · 10 min

Páginas de «¿qué es…?» y respuestas de IA: ¿se pierden clics o cae la demanda?

La sección de referencia de un banco perdió un 24 % de sus visitas, mientras la demanda cayó un 13 %. Cómo distinguir los clics perdidos por un bloque de IA de una caída de la demanda y cómo medirlos.

Leer
Guía · 8 min

El tráfico cayó tras una actualización de Google

Cómo saber si una caída del tráfico se debe a una actualización de Google, a la estacionalidad o a un fallo del sitio. Cronología de actualizaciones de 2026, comprobación de seis preguntas y plan para los primeros 14 días.

Leer
Guía · 9 min

Cayó la demanda o perdió terreno el sitio: cómo conciliar el tráfico con Wordstat

La demanda de depósitos cayó un 75 % y el tráfico, un 37 %; para las tarjetas, la demanda bajó un 35 % y el tráfico, un 63 %. Cómo conciliar el tráfico con la demanda sin atribuir al sitio la caída del mercado.

Leer