DevPath · Aprende a programar ESPTEN

Capstone: del código a producción

El checklist "production-ready"

"Funciona" no es "está listo para producción"

Una app puede funcionar perfectamente en tu portátil y ser un desastre en producción: sin HTTPS, con la contraseña de la base de datos en el repositorio, sin forma de saber si se ha caído. Antes de abrir la puerta a usuarios reales, se repasa un checklist de condiciones no negociables.

El checklist

  1. Tests en CI. La suite pasa de forma automática en cada cambio. Si está en rojo, no se despliega.
  2. Secretos fuera del repo. Claves, tokens y contraseñas viven en variables de entorno (o un gestor de secretos), nunca en el código ni en Git. Un secreto comiteado se considera filtrado para siempre.
  3. HTTPS. Todo el tráfico va cifrado. Servir credenciales por HTTP plano las expone a cualquiera en la red.
  4. Logging. La app registra qué pasa (peticiones, errores) para poder diagnosticar incidencias después, sin tener que reproducirlas a ciegas.
  5. Health check. Un endpoint (/health) que responde si la app está viva. El orquestador y la monitorización lo consultan para saber si reiniciar o alertar.
  6. Backups. Copias de seguridad probadas de los datos. Un backup que nunca se ha restaurado no es un backup: es una esperanza.
  7. Monitorización y alertas. Métricas (latencia, errores, uso) y alertas que avisan a una persona cuando algo se sale de lo normal, idealmente antes de que el usuario lo sufra.

Por qué cada punto importa

Sin tests en CI   → despliegas bugs sin enterarte
Secreto en el repo → cualquiera con acceso al código entra a tus datos
Sin HTTPS          → las credenciales viajan en claro
Sin logging        → un fallo en producción es un misterio sin pistas
Sin health check   → nadie sabe que la app está caída hasta que un usuario se queja
Sin backups        → un borrado accidental es definitivo
Sin alertas        → te enteras del incidente por Twitter, no por tu panel

Listo cuando todo está verde

La regla es simple: la app está production-ready cuando todos los puntos del checklist se cumplen. Si falta uno, está bloqueada hasta resolverlo. En el capstone escribirás una función evaluarChecklist(estado) que aplica exactamente esa regla: lista lo que falta y decide si se puede desplegar.

Este es el final del track: ya no construyes una pieza, sino el sistema completo y la disciplina que lo lleva a producción y lo mantiene vivo.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← De la idea a producción: el recorrido completoVer el módulo →