Lección 6 de 6 · 3 min
Rendimiento en CI y a escala con Kubernetes
Al terminar sabrás
11 min- Ejecutar pruebas de rendimiento en CI con thresholds como puerta
- Detectar regresiones de rendimiento entre versiones
- Entender cómo Kubernetes genera carga distribuida y provee entornos reproducibles
De correr a mano a proteger cada cambio
Una prueba de rendimiento que corres una vez antes del lanzamiento te dice cómo está hoy. Pero el rendimiento se degrada de a poco: una consulta sin índice aquí, una librería pesada allá, y tres meses después el sistema es la mitad de rápido sin que nadie lo notara. La solución es la misma que en lo funcional: automatizar y correr en cada cambio.
En el pipeline
Como los thresholds de k6 hacen fallar la prueba (exit code ≠ 0), correrla en CI la convierte en una puerta:
# .github/workflows/carga.yml (extracto)
- name: Prueba de carga
run: k6 run --summary-export=resumen.json script.js
- uses: actions/upload-artifact@v4
if: always()
with: { name: reporte-k6, path: resumen.json }
Si el p95 supera el umbral o los errores pasan del 1%, el job queda rojo y bloquea el deploy. El rendimiento deja de ser un chequeo de última hora y pasa a estar protegido en cada merge.
Regresión de rendimiento
A gran escala: Kubernetes
Una sola máquina no alcanza a simular cientos de miles de usuarios: su propia CPU y red se vuelven el límite antes que las del sistema probado. Ahí entra Kubernetes, el orquestador de contenedores:
- Carga distribuida: k6 tiene un operador de Kubernetes que reparte los usuarios virtuales entre muchos pods (contenedores) en varias máquinas. Así generas carga masiva de verdad.
- Entornos reproducibles: Kubernetes levanta el sistema a probar en un entorno idéntico y desechable, para que cada prueba parta de las mismas condiciones (sin el "en mi máquina anda distinto").
- Escalar y limpiar: terminada la prueba, los pods se destruyen; no queda infraestructura ociosa.
No necesitas ser experto en k8s para entender el rol: es la infraestructura que hace posible generar y reproducir carga a escala real.
Cierre del curso
Recorriste el rendimiento completo: tipos de prueba, métricas que importan, diseño, ejecución con k6, diagnóstico del cuello de botella y automatización en CI + Kubernetes. Es un skill técnico, escaso y muy valorado que ahora está en tu perfil.
Combínalo con el curso de SQL (muchos cuellos de botella viven en la base) y con Cypress en CI para completar tu dominio del pipeline.
Comprueba lo aprendido en el quiz y lleva el rendimiento a CI en el reto final.
Compruébalo
0/3Responde sin mirar atrás. Verás la explicación al instante.
1. ¿Cómo se convierte una prueba de k6 en una puerta de CI?
2. ¿Qué es una 'regresión de rendimiento'?
3. ¿Para qué se usa Kubernetes en pruebas de rendimiento a gran escala?
Reto final: rendimiento en el pipeline
Diseña (en palabras o pseudo-YAML) un job de CI que corra tu prueba de k6 en cada cambio, falle si el p95 supera el umbral, y guarde el reporte.
Explica cómo detectarías una regresión de rendimiento entre dos versiones.