Módulo 02Trimestre 1 · Fundamentos9 puntos del póster

Cómo funciona realmente internet

Inicia sesión para guardar tu progreso en todos tus dispositivos. Mientras tanto, se guarda en este navegador.

Por qué importa

La mayoría de los bugs "misteriosos" de producción son de red: un cambio de DNS que no se ha propagado, un certificado TLS que expiró, una solicitud que solo es lenta para los usuarios lejanos. No puedes depurar lo que no puedes visualizar.

Resultados de aprendizaje

  1. Seguir una solicitud desde el navegador hasta la base de datos y de vuelta, nombrando cada salto.
  2. Explicar la resolución DNS, los TTLs y por qué los cambios "tardan".
  3. Explicar TCP vs UDP y qué cambian HTTP/2 y HTTP/3.
  4. Configurar TLS correctamente y cifrar el tráfico interno.
  5. Medir la latencia correctamente: percentiles, no promedios.

Lecciones

2.1 La vida de una solicitud

Navegador → consulta DNS → conexión TCP (o QUIC) → handshake TLS → edge de la CDN → proxy inverso / balanceador de carga → servidor de la app → base de datos / caché / APIs de terceros → de vuelta. Cada salto añade latencia y es un punto de fallo.

2.2 DNS (97)

  • Registros: A/AAAA (dirección), CNAME (alias), MX (correo), TXT (verificación, SPF, DKIM, DMARC), CAA (qué CAs pueden emitir certificados).
  • El TTL controla el cacheo. Baja el TTL un día antes de una migración, no durante.
  • Fallos comunes: dominio expirado, CNAME incorrecto, faltan registros de correo (el correo acaba en spam), caída del proveedor de DNS.

2.3 TCP vs UDP (98) y versiones de HTTP (99)

  • TCP: fiable y ordenado; un paquete perdido bloquea todo lo que viene detrás (head-of-line blocking).
  • UDP: sin garantías, poca sobrecarga; lo usan el video, la voz, los juegos, DNS y QUIC.
  • HTTP/1.1: una solicitud a la vez por conexión.
  • HTTP/2: muchos streams multiplexados sobre una sola conexión TCP; sigue sufriendo el head-of-line blocking de TCP.
  • HTTP/3: funciona sobre QUIC encima de UDP; streams independientes, handshakes más rápidos, sobrevive a cambios de red (de Wi-Fi a datos móviles). Normalmente te viene gratis con tu CDN.

2.4 TLS, cifrado en tránsito (71, 73)

  • TLS 1.2 como mínimo, mejor TLS 1.3. Automatiza los certificados (Let's Encrypt, o tu plataforma).
  • Cabecera HSTS para que los navegadores nunca bajen a HTTP.
  • Cifra también el tráfico interno (de la app a la base de datos, de servicio a servicio). "Está dentro de nuestra VPC" no es un control.
  • Conexiones a la base de datos: exige SSL (sslmode=require o más estricto).

2.5 Latencia, throughput, percentiles (91 a 94)

  • Latencia: tiempo de una solicitud. Throughput: solicitudes por segundo.
  • Nunca reportes promedios. Reporta p50, p95, p99. Una solicitud lenta de cada 100 suena raro, pero una página que hace 20 llamadas al backend alcanza el p99 en una gran parte de las cargas. Eso es la amplificación de la latencia de cola.
  • Cifras aproximadas que todo ingeniero debería conocer: ida y vuelta de red dentro de la misma región, más o menos 1 ms o menos; de Singapur a US West, unos 170 ms de ida y vuelta; una llamada a un LLM tarda segundos. Diseña en torno al salto más lento.

Lab 2: Traza y mide

  1. Ejecuta dig sobre tu dominio; anota cada registro y su TTL. Añade CAA y verifica SPF/DKIM/DMARC de tu dominio de correo.
  2. Mide tiempos con curl -w (dns, connect, tls, ttfb, total) contra tu app desde dos regiones.
  3. Revisa tu configuración TLS con un evaluador TLS online; corrígela hasta obtener una A.
  4. Haz una prueba de carga a un endpoint con k6 con 10, 50 y 100 usuarios virtuales; grafica p50/p95/p99.

Definition of Done

Pack de prompts para la IA

  • "Añade instrumentación de tiempos que registre DNS, connect y TTFB en cada llamada HTTP saliente."
  • "Explica la ruta de las solicitudes de esta app salto a salto a partir de los archivos de configuración. Marca cualquier salto sin TLS."