Resumen
En el cuarto y último episodio de la serie de arquitectura de software, Cris explica qué son el forward proxy, el reverse proxy y el load balancer, y cómo se relacionan con VPN, API Gateway, colas y Kubernetes. El forward proxy está del lado del cliente (VPN, web scraping con IPs rotativas). El reverse proxy está del lado del servidor y centraliza autenticación, rate limit, logs y enrutamiento. El load balancer es un tipo de reverse proxy que reparte las requests entre servidores según su estado. Se explican la terminación TLS, las colas asincrónicas y el service mesh, y se discute cómo llevar modelos de ciencia de datos a producción. Hay tres caminos: improvisar, construir una plataforma propia o comprar un servicio gestionado. La conclusión es que la arquitectura consiste en elegir entre esos caminos según el contexto. Una arquitectura mínima segura (proxy, firewall, VPC) sirve para empezar y se complejiza cuando crece el tráfico. El episodio incluye además una pausa de memes, conversación sobre burnout y rotación de equipo, y preguntas de ciberseguridad y libros.
Capítulos
- 00:00Bienvenida y cierre serieSe presenta el episodio 199 sobre proxy, reverse proxy y load balancer, último de la serie de arquitectura. Se comenta la pizarra propia que programó Cris con Opus, conectada a su tablet.
- 01:31Motivación y cambio de focoCris dice que ya llegó a un 70% de conocimiento en arquitectura y quiere cambiar de tema. Pregunta qué entienden por proxy; responden que es un servidor intermedio que redirecciona información.
- 04:04Repaso arquitectura previaRepaso del ejemplo de la app que identifica objetos en fotos: nube, servicios gestionados (Lambda, Cloud Run), autenticación, roles, base de datos, rate limit y escalado vertical u horizontal. También se habla de modularidad, dueño del dato y locking en bases de datos.
- 10:28Libros y preguntas del chatSe recomienda *Fundamentals of Software Architecture* (O'Reilly) y se distingue la arquitectura de datos, más cercana a data engineering. Desde el chat piden sumar contenedorización, VPS y capas de seguridad; se menciona Docker y que Kubernetes no siempre es necesario.
- 14:15Forward vs reverse proxyEl forward proxy está del lado del cliente (como una VPN o el control de tráfico en una empresa). El reverse proxy se sienta delante del servidor y decide qué hacer con cada request.
- 15:48NGINX como web serverCris cuenta su experiencia configurando NGINX para WordPress. NGINX sirve contenido estático (HTML, CSS, imágenes) y también actúa como reverse proxy al redirigir peticiones PHP a PHP-FPM o puertos como el 8080 hacia otros servicios.
- 20:09Por qué usar reverse proxyPermite controlar las requests en un solo punto con autenticación, rate limit y logs, y cambiar el backend (por ejemplo de Lambda a GCP) sin que el usuario lo note. Se menciona el API Gateway como equivalente para APIs y la separación de responsabilidades; también se explica por qué esto importa para poner modelos en producción.
- 26:01VPN y riesgos en WiFiSe explica que lo que se vende como proxy o VPN es en general un forward proxy. Se discuten los riesgos de WiFi públicas sin seguridad, el rol del router y la capa TLS, y si es posible interceptar tarjetas o entrar por SSH.
- 34:29Proxies para web scrapingLos proxies comprados sirven para scrapear con IPs rotativas y evitar bloqueos por exceso de requests. Se distinguen de las VPN, que suelen salir siempre por la misma IP.
- 37:54VPN vs Proxy FundamentosLa VPN oculta el tráfico al ISP (Movistar, Claro) y lo envía a un servidor en otro país. El proxy se ve como la unidad más fundamental, con múltiples salidas.
- 38:48VPN para Viajes y NetflixSe usa una VPN en hoteles o en el extranjero para ocultar la información en WiFi mal configuradas, y para acceder a series de Netflix no disponibles en Chile.
- 39:20MemesPausa con memes de la comunidad: pronunciación de "data", revisión de código generado por IA, el uso de Claude, la idea de Mati de pasar todo a Markdown con Obsidian, y chistes sobre servidores caídos y free wifi.
- 49:44Configuración de IA Local Siempre ActivaConectar una pantalla consumió VRAM porque hay un modelo Gemma corriendo siempre en local. Se menciona un programa que registra lo que se teclea para revisar vocabulario, analizado en local.
- 51:34Preparación del Curso con QuartoSe prepara el curso de proyecto de ciencia de datos con un nuevo profesor, Mauricio. Se creó un libro con Quarto a partir de los apuntes de clases estructurados con una IA.
- 52:47Burnout y Rotación de EquipoMati cuenta su agotamiento por exceso de trabajo, tareas a medias y alta rotación del equipo, con apenas dos semanas de equipo completo en tres meses. Se comenta que entender una empresa toma al menos 3 meses y que el onboarding es nulo.
- 59:14Qué es un Load BalancerUn load balancer es un tipo de reverse proxy que decide a qué servidor mandar cada solicitud. Se ejemplifica con resultados de fútbol y el Cyber Day, donde hace falta un pool de servidores.
- 01:01:37Colas Asincrónicas vs Load BalancingSi un servidor está al 100% con una request pesada (por ejemplo un XGBoost en GPU), otra request produce un timeout. Se plantean el enfoque sincrónico con reintentos y el asincrónico con una cola (SQS) que despacha cuando hay recursos.
- 01:05:00Load Balancer Bajo el CapóUn load balancer es un programa o servicio configurado con un archivo, que corre 24/7 en un servidor escuchando en puertos como el 80 y el 443. Podría escribirse a mano, pero las soluciones dedicadas son más robustas.
- 01:07:24Terminación TLS y EnrutamientoExplica la terminación TLS: el balanceador descifra la request (capa 7) con las llaves, lee header y body y enruta, por ejemplo `/diploma` a una Lambda específica.
- 01:08:36Algoritmos Chequeos de Salud y EscaladoEl balanceador usa algoritmos de asignación y chequea la salud de los servidores para desviar tráfico si uno cae. Existen alternativas open source gratuitas, mientras que NGINX por sí solo no balancea carga.
- 01:11:54Service Mesh y descubrimientoEn Kubernetes los pods se crean y destruyen, por lo que hace falta una capa que mapee IPs y comunique servicios entre sí (service mesh). Se menciona el proxy Envoy del video de Atlassian visto la semana anterior.
- 01:13:06Plataforma interna de despliegueEl arquitecto del video creó una plataforma para que miles de desarrolladores desplieguen funcionalidades sin configurar load balancers, Docker ni EKS por su cuenta. Su construcción tomó unos dos años.
- 01:14:51Data Science a producciónLlevar un modelo a producción requiere code review, Docker, pruebas en desarrollo y producción, validación y monitoreo. Se plantea si vale la pena una herramienta interna para agilizar el proceso.
- 01:16:54Tres caminos y tradeoffsTres opciones: la informal (un notebook con cron y credenciales hardcodeadas, en broma), construir una plataforma propia en años, o comprar un servicio gestionado como SageMaker. Cada una tiene distinto costo y la arquitectura consiste en elegir entre ellas.
- 01:18:28El punto medio realistaMati sostiene que se parte rápido, pero llega un punto en que no escala y hay que crear algo intermedio. Cris y Mati discuten si exigir desde el día uno normas mínimas de ciberseguridad.
- 01:20:07Ignorancia y humo ejecutivoSe critica que las capas superiores desconocen el costo real de las decisiones y que los data scientists tampoco conocen los riesgos. Se compra humo en forma de demos y diapositivas con cajitas.
- 01:22:59Arquitectura como fábricaMati compara el software con una fábrica de autos, con insumos, cuellos de botella y procesos. Cris agrega que lo ágil funciona para productos con usuarios, pero una herramienta de base puede planificarse como waterfall.
- 01:27:42Cierre y recap proxyCris empieza a cerrar con una reflexión sobre arquitectura en general y la decisión local versus nube.
- 01:27:59Local vs nube y distribuciónLa app local de Cris es una herramienta personal, pero comercializarla implica distribución y actualizaciones, problemas que la nube simplifica. Se menciona el problema de Windows Defender con ejecutables.
- 01:31:11Decisiones de cómputoHay un espectro entre hardware propio (flexibilidad, menor costo) y servicios gestionados (rapidez). Todo se reduce a cómputo (CPU, RAM) para ejecutar la lógica de negocio.
- 01:32:50Gobernanza y seguridadAdemás de las funciones, hace falta una capa de gobernanza: seguridad, autenticación, logs, auditoría y CI/CD. Se describe una VPC con internet gateway, proxy y firewall que solo acepta los puertos 80 y 443.
- 01:39:01Arquitectura que creceCon tráfico creciente aparecen colas de mensajería, monitoreo, logs y control de costos (por ejemplo, gastar $7 por usuario en un servicio de $10). Un juguete tiene tres funciones; Netflix tiene miles y equipos gigantes.
- 01:42:10Raid y resumen finalLlega un raid de Aníbal. Se reafirma que lo importante es tener estos conceptos en mente y se resume que el forward proxy va del lado del cliente y el reverse proxy y el load balancer del lado del servidor.
- 01:43:50IA y apps personalesAníbal construyó con vibe coding el backend de una app tipo Uber en unas 3 horas. Cris explica que programó su pizarra porque necesitaba shortcuts que Excalidraw no tiene.
- 01:46:39Ciberseguridad y recursosRecomendaciones del chat: estudiar pentesting en vez de cursos generales de ciberseguridad, probar Hack The Box y capture the flag, buscar repos de entrenamiento en GitHub y usar Kali Linux. También se menciona la ingeniería social y el libro de O'Reilly.
- 01:50:52Despedida y cierreSe invita a dar like, suscribirse y unirse al Discord. Termina con una broma de Mati sobre una distro Linux para su juego Ragnarok.