PTENES
RUTA 6

🌹 Producción, Deploy y seguridad

La ingeniería de producción: pasar de «funcionó en mi máquina» a «funciona solo en la nube, de forma segura y generando ingresos». Alojar código en GitHub, ejecutarlo según una agenda o por eventos en Trigger.dev, proteger secretos y datos (env vars, RLS, auditoría), darle confiabilidad (logs, try/catch, retries, alertas) y monetizar con Stripe.

3
Módulos
22
Temas
~3h
Duración
Avanzado
Nivel
Progreso de la ruta 0% · 0 de 22
Banner de la ruta de producción: servidores en la nube, escudo de seguridad, cron y webhooks en rosa: implementación confiable
☁️ la nube que ejecuta por ti Módulo 6.1 GitHub y Trigger.dev Módulo 6.2 Secrets y seguridad · env vars · RLS Módulo 6.3 Confiabilidad y monetización alojar → proteger → dar confiabilidad y generar ingresos

El recorrido de la ruta 6: el código sube a la nube (GitHub + Trigger.dev), queda protegido (secretos y RLS) y gana robustez y monetización: el salto final de prototipo a producto.

Mapa de la ruta

Contenido detallado

Ilustración del módulo 6.1
6.1 ~55 min · 7 temas

🚀 GitHub y Trigger.dev

Los dos pilares de una automatización alojada: GitHub como almacenamiento de código en la nube (commit, push, historial) y Trigger.dev como motor de ejecución (sin timeout, retries, traces, alertas). Inicializar el proyecto, programar con cron y leer el dashboard.

Progreso del módulo 0% · 0 de 7
Qué es:

Almacenamiento de código en la nube: el deploy lo obtiene de allí (no de tu máquina), puedes acceder desde cualquier lugar y tienes un historial para revertir cambios.

Por qué aprender:

Es un requisito previo para el alojamiento: las plataformas de deploy se integran directamente con el repo.

Conceptos clave:

Repo = carpeta del proyecto; commit = instantánea; push = enviar a la nube.

Qué es:

La herramienta de línea de comandos de GitHub (gh) autentica y conecta el proyecto; el .gitignore enumera lo que nunca debe subirse: la regla de oro es el .env.

Por qué aprender:

Un .env filtrado es un secreto filtrado; el .gitignore es la primera línea de defensa.

Conceptos clave:

gh auth login; .gitignore; secreto fuera del repositorio.

Qué es:

El motor de ejecución en la nube: ejecuta tareas sin timeout, con retries automáticos, trace de cada paso y alertas de fallos. Como un asistente confiable, no como una nota adhesiva.

Por qué aprender:

Es lo que cierra la «brecha agentic»: da visibilidad cuando la IA ya no está asistiendo.

Conceptos clave:

Ejecuta TypeScript (la IA lo escribe); MCP oficial; dev vs prod.

Qué es:

Instalar el MCP oficial, copiar el Project ID y ejecutar el init — que crea el trigger.config.ts y la carpeta de tasks; el dev inicia el worker local.

Por qué aprender:

Con el MCP, gestionas el proyecto conversando; sin él, terminas en la terminal.

Conceptos clave:

init interactivo; reiniciar después de instalar MCP; Project ID.

Qué es:

Un patrón de 5 campos (minuto, hora, día del mes, mes, día de la semana) que define cuándo se ejecuta la tarea. 0 7 * * * = todos los días a las 7 h.

Por qué aprender:

Es lo que hace que la automatización se ejecute sin que estés presente: escala más allá de «aparecer y activarla».

Conceptos clave:

5 campos; * = cualquiera; */5 = cada 5.

Qué es:

La ventana de producción: lista de runs, traces (cada línea = un paso), payload/output, sección de schedules, queues y alertas, y dos entornos (dev y prod).

Por qué aprender:

Como la IA ya no está observando, el dashboard es donde ves lo que pasó.

Conceptos clave:

Run = ejecución; trace = paso a paso; prueba en dev, libera en prod.

Qué es:

La disciplina de construir desde el principio con el deploy en mente: el «prompt inicial para gobernarlos a todos» pide entradas fijas, una salida estructurada, manejo de errores y registros desde el comienzo.

Por qué aprender:

En producción, la IA no lo corrige todo por sí sola; lo que no se pidió en el prompt no viene gratis.

Conceptos clave:

Deploy desde el 1.er prompt; ciclo commit → push → deploy; verifica la run.

Ilustración del módulo 6.2
6.2 ~60 min · 8 temas

🔐 Secrets y seguridad

Cómo mantener las claves y los datos a salvo: variables de entorno (local vs. nube), .env.example y lectura mediante process.env, OAuth y refresh token, las reglas de oro de los secretos, Row-Level Security para aislar datos, auditoría de seguridad y por qué una app abierta supone un riesgo financiero.

Progreso del módulo 0% · 0 de 8
Qué es:

El secreto queda almacenado fuera del código y se inyecta solo al ejecutarlo, así que el código nunca contiene la clave.

Por qué aprender:

Es el mecanismo que separa «lo que es público» (código) de «lo que es secreto» (claves).

Conceptos clave:

Secreto externo; inyección en tiempo de ejecución; código sin claves integradas.

Qué es:

En local, los secretos viven en .env; en la nube, en el dashboard de Environment Variables (Trigger.dev/Vercel), que los inyecta en runtime. Trigger.dev no lee el .env local.

Por qué aprender:

Olvidar agregar la clave en producción es el fallo que «solo aparece en prod».

Conceptos clave:

Dos entornos (dev y prod); verifica ambos; la nube no lee el .env local.

Qué es:

Un .env.example enumera las claves SIN valores (seguro para hacer commit); el código lee los valores mediante process.env, nunca los escribe directamente.

Por qué aprender:

Documenta qué secretos necesita el proyecto sin exponer ninguno.

Conceptos clave:

.env.example = solo los nombres; process.env = lectura; nada hard-coded.

Qué es:

OAuth delega el acceso a un servicio (p. ej., Google) sin exponer tu contraseña; el refresh token renueva el acceso automáticamente. Cuando el flujo estándar falla, un script de terminal genera el token.

Por qué aprender:

Es cómo los agentes alojados acceden a Sheets, Drive y Gmail sin que tengas que iniciar sesión cada vez.

Conceptos clave:

Client ID/secret; refresh token; alternativa vía terminal.

Qué es:

Las tres reglas innegociables: nunca pegues claves en el chat de la IA, nunca hagas commit del .env y rota o vuelve a generar las claves (idealmente, usa claves distintas para local y producción).

Por qué aprender:

Una clave de API es como el acceso a una tarjeta de crédito: si se filtra, alguien gasta por ti.

Conceptos clave:

Clave = tarjeta; .gitignore; rotar y separar dev/prod.

Qué es:

Row-Level Security: reglas que residen en la propia base de datos (Supabase) e impiden que un usuario vea los datos de otro, incluso si hay un bug en el frontend.

Por qué aprender:

Es una capa adicional: la base de datos protege los datos independientemente de la app.

Conceptos clave:

Regla en la base de datos; aislamiento por usuario; defensa en profundidad.

Qué es:

Pedirle a la IA que actúe como especialista en seguridad y verifique: rutas protegidas, ninguna clave expuesta en el frontend, secretos solo en env vars y RLS habilitado.

Por qué aprender:

Antes de dejar la app en producción, una auditoría explícita detecta lo que se pasó por alto.

Conceptos clave:

Checklist de 4 puntos; contexto limpio; corregir lo que falle.

Qué es:

Una app sin autenticación en internet puede ser activada por cualquiera que tenga la URL, y cada activación consume tu clave de IA. Pagas por el uso de otras personas.

Por qué aprender:

Justifica agregar inicio de sesión (Supabase) y límites de uso antes de divulgarlo.

Conceptos clave:

URL pública = puerta abierta; autenticación; límite de uso.

Ilustración del módulo 6.3
6.3 ~55 min · 7 temas

🛡️ Confiabilidad y monetización

Lo que separa «funciona una vez» de «confiable y rentable»: el agentic gap revisitado, logging significativo, try/catch en llamadas externas, retries con backoff (vs. bugs de lógica), alertas de fallos, el ciclo humano de debug y monetización con Stripe (producto, webhook, suscripciones, freemium).

Progreso del módulo 0% · 0 de 7
Qué es:

Una vez en marcha según una agenda/evento, la IA ya no está leyendo errores y corrigiéndolos: la tarea se ejecuta, pero no se adapta sola. Esa es la brecha agéntica.

Por qué aprender:

Es la razón para incluir errores y logs desde el 1.º prompt: no puedes contar con la autocuración.

Conceptos clave:

Funciona pero no se adapta; visibilidad mediante la plataforma; ciclo humano.

Qué es:

Logs específicos en cada etapa relevante: «la búsqueda devolvió 429 en la fuente 3», no «la tarea falló». El mensaje debe permitir actuar.

Por qué aprender:

Un log vago no sirve; un log con contexto es lo que permite diagnosticar el error.

Conceptos clave:

Específico > genérico; contexto (estado, fuente); cada paso.

Qué es:

Envuelve cada llamada a una API externa en try/catch: registra el error con contexto, continúa cuando sea posible y solo "lanza" (throw) en fallas críticas.

Por qué aprender:

Es lo que hace que la tarea escriba una línea parcial en vez de bloquearse cuando falla una API.

Conceptos clave:

try/catch por llamada; continuar; throw solo en lo crítico.

Qué es:

Configura la tarea para que vuelva a intentarlo (p. ej., hasta 3 veces, con backoff exponencial que empiece en 30s). Los reintentos resuelven problemas transitorios de API, no errores de código.

Por qué aprender:

Saber la diferencia evita repetir eternamente un error que nunca va a pasar.

Conceptos clave:

Backoff exponencial; transitorio vs. lógico; límite de intentos.

Qué es:

Configura alertas de fallas en el dashboard por correo electrónico, Slack o webhook, eligiendo el entorno y el tipo de falla. Toma menos de dos minutos.

Por qué aprender:

Quieres enterarte de la falla antes de que el usuario final la note.

Conceptos clave:

Canal de alerta; por entorno; toda tarea debe tener una alerta.

Qué es:

La IA todavía depura, solo que no automáticamente: abres el trace rojo, copias el error, se lo pegas a la IA ("aquí está el trace que falló, ¿qué está mal?"), aplicas el fix y vuelves a hacer el deploy.

Por qué aprender:

Es el sustituto de la autocuración: diagnóstico rápido, pero con una persona que transmite el error.

Conceptos clave:

Trace rojo; copiar y pegar; redeploy y probar.

Qué es:

Agregar pagos con Stripe y convertirlo en un SaaS freemium: nivel gratis (p. ej., 2 usos/día) y nivel pago (p. ej., $29/mes ilimitado) mediante Stripe Checkout, con un webhook que escucha los eventos de suscripción.

Por qué aprender:

Completa la transición de «solo un workflow» a un producto que genera ingresos y limita tu costo.

Conceptos clave:

4 claves (publishable, secret, price ID, webhook secret); freemium; tabla de suscripciones.

← Ruta 5: Proyectos Inicio del curso →