Módulo 9 · Despliegue y operaciones

Lección 42 — Nube

Cómputo, almacenamiento, redes e IAM en AWS/GCP/Azure.

Publicada
En esta lección
  1. Ejercicio 1 — El mapa sin lock
  2. Ejercicio 2 — El cómputo
  3. Ejercicio 3 — Los datos
  4. Ejercicio 4 — La red y la factura
  5. Ejercicio 5 — El IAM
  6. Entrega

El despliegue de TicketFlow en la nube, sin vendor-lock. Sin solutions.md hasta entregar.

Ejercicio 1 — El mapa sin lock

  1. Completa la tabla del §1 para TU proveedor elegido (o el que tengas a mano) con los nombres EXACTOS de los servicios y su tier/free tier. ¿Cuántas piezas del mapa quedan cubiertas por el free tier de arranque?
  2. El anti-lock del código: busca en tu proyecto los puntos donde tocas el proveedor (el storage del export RGPD, el envío de email, el rate limiter). ¿Cuántos tienen Protocol/interfaz (24) y cuántos importan el SDK directo? Migra el peor.
  3. El exercise de traducción: escribe el despliegue de TicketFlow para DOS proveedores (el elegido + uno alternativo) en 15 líneas cada uno (solo los servicios y configs, no los manifests completos). ¿Qué cambió? ¿Qué NO cambió (la imagen, la config por entorno)?

Ejercicio 2 — El cómputo

  1. Despliega (o simula con el compose + env vars) el app en modo PaaS: concurrencia 1 por instancia, timeout del edge 120 s, healthcheck del 40. ¿Cuántas instancias consume la meseta del 36 (200 VUs)? Calcula el costo mensual con el simulador del proveedor.
  2. El timeout del edge vs tu p99: con los números del 36 (p99 checkout 720 ms post-mejoras), ¿qué timeout configura el proveedor y qué pasa si lo dejas en 10 s? (¿algún endpoint de tu proyecto tarda >10 s? ¿el export RGPD síncrono? — el finding del 23).
  3. El healthcheck como señal de vida: mata el proceso del app en el entorno y mide cuánto tarda el PaaS/healthcheck en reemplazarlo (o en compose: restart: unless-stopped + el healthcheck). Documenta el MTTR del pod (41: la métrica).

Ejercicio 3 — Los datos

  1. El Postgres gestionado: revisa el tier que usarías y anota su max_connections real. Recalcula la aritmética del 39 con ese límite: ¿cabe? ¿Qué toca ajustar (pool por proceso, PgBouncer del 43)?
  2. El restore drill: crea el backup del entorno de test, BORRA la BD de test, restaura. Cronometra. ¿Cuánto tarda? ¿El restore va a un entorno distinto (el drill honesto) o sobre el vivo? Escribe el runbook del restore en 5 pasos.
  3. El bucket del export RGPD: crea (o simula) el bucket con Block Public Access + URLs firmadas de 15 min. Test: el link firmado descarga; a los 16 min, 403. ¿Qué hay en el bucket a los 30 días? (¿la política de lifecycle/retención de la 23?)

Ejercicio 4 — La red y la factura

  1. Dibuja (ASCII) la VPC de TicketFlow: subnets, security groups, quién habla con quién. Verifica: ¿el Postgres acepta conexiones de ALGO distinto al app/workers? ¿De Internet? Documenta cada regla de firewall con su razón.
  2. La factura de la salida: estima el egreso mensual de TicketFlow con las métricas del 36 (ancho de browse × visitas) y calcula cuánto ahorra el CDN (38) si absorbe el 90% del browse. ¿Paga el CDN su propio costo?
  3. El hunting de huérfanos: lista (o imagina) 5 recursos huérfanos típicos del proyecto (IP elástica de un experimento del 36, disco del staging del 34, snapshot del restore drill, el NAT del 42, el cluster del 53 que nunca desplegó). Asigna a cada uno su costo mensual y la tarea de limpieza.

Ejercicio 5 — El IAM

  1. El rol del worker: escribe la política de mínimo privilegio para el export worker (23): qué puede, qué NO puede, y el radio de daño si el contenedor es comprometido. ¿Puede borrar el bucket? ¿Puede leer el bucket de otro cliente?
  2. El anti-patrón de la Access Key: busca en tu entorno (o en tu historia de git, 06) alguna credencial de larga vida en código/.env versionado. Documenta el hallazgo y el fix (rotación dual del 27 + gestor de secretos).
  3. La auditoría: enciende (o documenta cómo encender) el audit log del proveedor (CloudTrail/Audit Logs). ¿Qué evento registró (o registraría) la eliminación accidental del bucket del ejercicio 3 y quién lo hizo?

Entrega

Pega la tabla del mapa, la política IAM del worker, el runbook del restore y la VPC con sus reglas. Después: Lección 43 — Kubernetes y servicios gestionados.