← dev-notes
SEMANA 02 / 05

Cómputo, Redes
& Mensajería

14 servicios core de AWS: cómputo, redes, escalado y mensajería (SQS/SNS).

🖥 Servicios de cómputo 🌐 Redes y entrega ⚖️ Escalabilidad 📬 Mensajería
01 Servicios de cómputo — ¿Cuánto control necesitas?
01 — IAAS
Amazon EC2
ControlTotal — acceso SSH, elige OS, instala lo que quieras
GestiónTú parcheas, configuras y monitoreas el servidor
PagoPor hora/segundo mientras la instancia esté encendida
Ideal paraApps 24/7, monolitos, acceso a SO específico
02 — SERVERLESS
AWS Lambda
ControlSolo tu código — no ves ni tocas el servidor
GestiónAWS gestiona todo el runtime e infraestructura
PagoPor milisegundo de ejecución + nº de invocaciones
Ideal paraEventos, triggers, tareas cortas y esporádicas
03 — CONTENEDORES
ECS / EKS
ControlGestionas contenedores Docker / Kubernetes
GestiónAWS gestiona el orquestador, tú los workloads
PagoPor los recursos subyacentes (EC2 o Fargate)
Ideal paraMicroservicios en Docker, equipos con experiencia K8s
04 — SERVERLESS CONTAINERS
AWS Fargate
ControlSolo defines CPU/RAM del contenedor
GestiónNo hay EC2 que administrar — AWS lo hace todo
PagoPor los recursos asignados al contenedor
Ideal paraContenedores sin querer gestionar servidores
🖥
01
Amazon EC2
IaaS Instancias Control total SSH
Servidores virtuales en la nube donde tú tienes control total del sistema operativo, red y almacenamiento. Puedes elegir entre cientos de tipos de instancia (CPU optimizada, memoria, GPU, etc.).
Ejemplo: Tienes un monolito en Java que necesita un OS específico; lo instalas en una EC2 como si fuera un VPS tradicional.
Parcheo del SO invitado: en EC2, mantienes el sistema operativo (parches de seguridad de Linux/Windows dentro de la VM). AWS no actualiza el OS de tu instancia — es parte del modelo de responsabilidad compartida (Semana 1 §04).
Si necesitas correr algo 24/7 o acceso al sistema operativo (SSH), elige EC2. Si solo quieres pagar por los segundos que corre tu código, elige Lambda.
02
AWS Lambda
Serverless Event-driven Pago por ejecución
Ejecuta código sin administrar servidores. Se activa por eventos (S3 upload, API Gateway, SQS, etc.), corre la función y se apaga. Escala automáticamente de 0 a miles de ejecuciones simultáneas.
Ejemplo: Una función que se activa solo cuando alguien sube una foto para redimensionarla y luego se apaga.
Límite de 15 minutos por ejecución. Para procesos largos usa EC2 o ECS. El "cold start" es una latencia inicial cuando la función lleva tiempo sin usarse.
🐳
03
Amazon ECS / EKS
Contenedores Docker Kubernetes
ECS es el orquestador de contenedores nativo de AWS. EKS es Kubernetes administrado por AWS. Ambos gestionan el despliegue, salud y escalado de tus contenedores.
Ejemplo: Arquitectura de microservicios en Docker donde AWS gestiona el despliegue y la salud de los nodos.
🚀
04
AWS Fargate
Serverless containers Sin EC2
Motor de cómputo para ECS/EKS que elimina la necesidad de gestionar las EC2 subyacentes. Solo defines cuánta CPU y RAM necesita tu contenedor.
Analogía: Delivery de comida — te llega el plato (tu contenedor) sin preocuparte por quién conduce la moto (el servidor).
🌱
05
Amazon Lightsail
Simplicidad Precio fijo VPS principiantes
Versión simplificada de AWS para quien no quiere configurar VPCs, Security Groups ni balanceadores. Precio mensual fijo predecible.
Ejemplo: Levantar un blog en WordPress o una app pequeña rápidamente sin complejidad de infraestructura.
Lightsail = AWS con "rueditas de entrenamiento". Cuando crezcas, migras a EC2 + VPC.
02 Redes, conectividad y entrega de contenido
Flujo típico: usuario → tu aplicación en AWS
🌍
Usuario
Chile / mundo
DNS
🌐
Route 53
DNS resolution
HTTP/S
CloudFront
CDN / Edge
origin req.
⚖️
ELB
Load Balancer
distribuye
🔒
VPC
+ Security Groups
🖥
EC2 / Lambda
tu app
🏡
06
Amazon VPC
Red aislada Subnets IP Range Pública / Privada
Tu red privada virtual aislada lógicamente dentro de la nube de AWS. Tú controlas el rango de IPs, subredes, tablas de ruteo y puertas de enlace. Puedes tener subnets públicas (acceso a internet) y privadas (solo internas).
Analogía: Tu propia "parcela" con cerca perimetral dentro de la gran ciudad de AWS. Tú decides quién entra y quién sale.
Casi todos los servicios de cómputo viven dentro de una VPC. Si no hay red, no hay comunicación. Por defecto AWS te crea una VPC default en cada región.
🛡
07
Security Groups
Stateful Firewall de instancia Solo Allow
Firewall virtual que controla el tráfico de entrada (inbound) y salida (outbound) de instancias y recursos. Son stateful: si permites la entrada, la respuesta sale automáticamente.
Ejemplo: Abrir el puerto 8080 solo para el tráfico que viene de tu balanceador de carga para tu API Spring Boot.
Por defecto bloquean todo el tráfico entrante. Solo puedes crear reglas para permitir — no existen reglas de "deny" explícito como en los NACLs.
08
Amazon CloudFront
CDN Baja latencia Edge Locations HTTPS
Red de distribución de contenido (CDN) global. Cachea tu contenido en Edge Locations cercanas al usuario para reducir la latencia y el costo de transferencia.
Ejemplo: Imágenes y archivos JS cacheados en nodos de Chile para que la web cargue al instante desde Santiago.
CloudFront + Shield mitigan DDoS en el borde; reglas HTTP finas (SQLi, rate por IP) van en WAF delante de ALB/API Gateway/CloudFront — véase Semana 1 (Shield vs WAF).
🌐
09
Amazon Route 53
DNS Dominios Health checks Failover
Servicio de DNS altamente disponible y escalable. Traduce nombres de dominio a direcciones IP. Soporta health checks para failover automático entre regiones.
Ejemplo: Traducir tuapp.com a la IP de tu Load Balancer en AWS. Si la región falla, redirige a otra automáticamente.
Políticas de enrutamiento (examen): simple, weighted (ponderado), latency (menor latencia), failover, geolocation, geoproximity… Pregunta que mezcla DNS + health checks + cambiar destino si un endpoint cae → Route 53. No confundir con CloudFront (CDN) ni con SQS (colas).
🌍
10
AWS Global Accelerator
IP estática fija Red interna AWS Ruta óptima
Mejora el rendimiento enrutando el tráfico por la red global privada de AWS (no por internet público), reduciendo latencia y jitter. Provee IPs estáticas fijas como punto de entrada.
Ejemplo: Tu API en EE.UU. recibe tráfico de Chile entrando al backbone de AWS desde el nodo más cercano, evitando la congestión de internet.
Diferencia clave vs CloudFront: Global Accelerator no cachea — optimiza la ruta TCP/UDP. CloudFront cachea contenido HTTP.
03 Escalabilidad y alta disponibilidad
⚖️
11
Elastic Load Balancing (ELB)
Distribución de carga Alta disponibilidad ALB / NLB / GLB
Distribuye automáticamente el tráfico entrante entre múltiples destinos (EC2, Lambda, contenedores). Existen tres tipos: ALB (HTTP/HTTPS, nivel aplicación), NLB (TCP/UDP, ultra alta performance) y GLB (appliances de red).
Analogía: Un recepcionista que dirige a los clientes a la ventanilla desocupada para que nadie espere de más.
El ELB siempre va dentro de una VPC y distribuye tráfico entre AZs. Úsalo junto con Auto Scaling para máxima resiliencia.
📈
12
AWS Auto Scaling
Elasticidad Scale out / in Métricas Políticas
Ajusta automáticamente la cantidad de recursos (instancias EC2, tareas ECS, etc.) según la demanda real, basándose en métricas de CloudWatch como CPU, memoria o requests por segundo.
Ejemplo: Un evento especial genera pico de tráfico → AWS crea 3 servidores más → el tráfico baja → los elimina automáticamente.
Configura siempre un mínimo, máximo y capacidad deseada. Combínalo con ELB para no perder requests durante el escalado.
04 Mensajería — desacopla tus servicios
📬
13
Amazon SQS
Cola de mensajes Desacoplamiento Pull
Servicio de cola de mensajes totalmente administrado. Permite que componentes de tu aplicación se comuniquen de forma asíncrona sin dependencia directa. El consumidor "jala" mensajes de la cola cuando está listo.
Ejemplo: Un servicio de pagos pone el resultado en una cola; el servicio de email lo consume cuando tiene disponibilidad, sin que el usuario espere.
SQS desacopla productores de consumidores. Si el consumidor cae, los mensajes se quedan en la cola y no se pierden.
📣
14
Amazon SNS
Pub/Sub Notificaciones Push
Servicio de notificaciones pub/sub. Un productor publica en un "topic" y SNS envía el mensaje a todos los suscriptores simultáneamente (SQS, Lambda, email, SMS, HTTP).
Ejemplo: Cuando un usuario hace una compra, SNS notifica a la vez al servicio de inventario, al de facturación y al de email en un solo disparo.
Fan-out pattern: SQS + SNS juntos. SNS publica a múltiples colas SQS para procesar el mismo evento de forma independiente.
Trampa de examen: SQS no es CloudFront
Amazon SQS es una cola de mensajes para desacoplar microservicios (productor → cola → consumidor asíncrono). Amazon CloudFront es una CDN: cachea y entrega contenido HTTP(S) desde el borde (imágenes, JS, APIs delante de ALB). Si la pregunta habla de “cola”, “desacoplar”, “procesar después” → SQS. Si habla de “latencia”, “cache”, “usuarios en otro país”, “Edge” → CloudFront.