AWS Contenedores y Serverless: Guía Completa

Docker, ECS, Fargate, Lambda, API Gateway y más — domina los servicios de contenedores y serverless de AWS con comparaciones claras y casos de uso para el CLF-C02.

AWS Contenedores y Serverless: Conceptos Clave

Los temas de contenedores y serverless aparecen de forma constante en los exámenes de AWS. La clave está en comprender las diferencias entre Lambda, ECS y Fargate, y saber qué servicio utilizar en cada escenario. También conviene dominar los fundamentos de Docker.

---

¿Qué es Docker?

Docker es una plataforma que empaqueta aplicaciones en contenedores para que se ejecuten de forma idéntica en cualquier entorno. Resuelve eficazmente el problema de "funciona en mi máquina" que suele surgir entre los entornos de desarrollo y producción.

Ventajas Clave de Docker

| Ventaja | Descripción | |---------|-------------| | Portabilidad | Se ejecuta de forma idéntica en cualquier sistema operativo o máquina | | Arranque rápido | Los contenedores se inician en segundos | | Ligero | Comparte el kernel del sistema operativo anfitrión, lo que lo hace más ligero que las VMs | | Escalabilidad | Se puede escalar hacia arriba o hacia abajo en segundos |

Docker vs Máquinas Virtuales (VMs)

Ambas tecnologías tienen propósitos similares pero difieren en la implementación. Docker comparte el kernel del sistema operativo anfitrión, lo que lo hace significativamente más ligero y rápido que las máquinas virtuales tradicionales.

| Categoría | Contenedor Docker | Máquina Virtual (VM) | |-----------|------------------|---------------------| | Tamaño | Ligero y rápido (SO compartido) | Pesado (incluye SO completo) | | Tiempo de arranque | Segundos | Minutos | | Portabilidad | Muy alta | Relativamente baja | | Ideal para | Microservicios, aplicaciones modernas | Entornos multi-SO |

Registros de Imágenes Docker

Docker Hub (): Registro de imágenes públicas Amazon ECR (Elastic Container Registry): Registro de imágenes de contenedores privado de AWS

---

Servicios de Ejecución de Contenedores: ECS vs Fargate

Amazon ECS (Elastic Container Service)

ECS es un servicio de orquestación de contenedores totalmente administrado que ejecuta, detiene y gestiona contenedores Docker en AWS. Se integra con IAM, VPC, ELB y ECR, y ofrece dos modos de ejecución.

| Modo | Descripción | |------|-------------| | Modo EC2 | Usted aprovisiona y gestiona las instancias EC2 directamente | | Modo Fargate | Serverless — no es necesario gestionar instancias EC2 |

AWS Fargate

Fargate es un motor de ejecución de contenedores serverless. No es necesario aprovisionar ni gestionar instancias EC2 — solo paga por la vCPU y la memoria que necesita su contenedor. Funciona tanto con ECS como con EKS.

Puntos clave que suelen evaluarse en los exámenes: ECS + EC2: Usted gestiona los servidores subyacentes (instancias EC2) ECS + Fargate: Serverless — AWS gestiona la infraestructura automáticamente ECR: Donde se almacenan las imágenes Docker utilizadas por ECS/Fargate

---

¿Qué es Serverless?

Serverless no significa que no existan servidores — significa que usted no tiene que gestionarlos. Solo despliega su código (funciones) y AWS se encarga del aprovisionamiento, el escalado y la administración. Está optimizado para arquitecturas orientadas a eventos. Los servicios representativos incluyen Lambda, DynamoDB, S3 y Fargate.

---

AWS Lambda — El Núcleo Serverless

Lambda es una oferta de FaaS (Function as a Service) que permite ejecutar código sin gestionar servidores. Se ejecuta solo cuando ocurre un evento, por lo que solo se factura por el tiempo que su código realmente se ejecuta.

Comparación EC2 vs Lambda

| Categoría | EC2 | Lambda | |-----------|-----|--------| | Ejecución | Servidor virtual siempre en ejecución | Solo se ejecuta cuando es activado por eventos | | Escalado | Adición/eliminación manual de instancias | Escalado automático | | Facturación | Tiempo total de ejecución | Solo por el tiempo utilizado | | Límites | Límites de RAM/CPU | Tiempo máximo de ejecución: 15 minutos |

Características Clave de Lambda

Tiempo máximo de ejecución: 15 minutos (adecuado para funciones de corta duración) Nivel gratuito: 1 millón de solicitudes + 400,000 GB-segundos por mes Escalado automático: desde pocas solicitudes al día hasta miles por segundo RAM: hasta 10 GB (aumentar la RAM también mejora el rendimiento de CPU y red)

Runtimes Compatibles

Node.js, Python, Ruby, Java, Go, .NET Core, Runtime Personalizado

Casos de Uso Comunes de Lambda

Generar miniaturas automáticamente cuando se suben imágenes a S3 Programar tareas cron serverless Crear APIs REST serverless con API Gateway

Precios de Lambda

| Elemento | Nivel Gratuito | Costo Adicional | |----------|---------------|----------------| | Solicitudes | 1 millón por mes | $0.20 por millón | | Tiempo de ejecución | 400,000 GB-segundos por mes | $1.00 por 600,000 GB-segundos |

Lambda está optimizado para el procesamiento de eventos de corta duración (menos de 15 minutos) y no es adecuado para cargas de trabajo de lote de larga duración.

---

Amazon API Gateway

API Gateway es un servicio totalmente administrado que expone las funciones Lambda como APIs HTTP. Admite APIs REST, HTTP y WebSocket y escala de forma serverless. La seguridad, la autenticación, el throttling y el caché están integrados.

Combinar Lambda con API Gateway le proporciona una arquitectura de API completamente serverless.

---

AWS Batch — Procesamiento por Lotes a Gran Escala

AWS Batch es un servicio totalmente administrado para ejecutar cargas de trabajo por lotes a gran escala. Aprovisiona automáticamente instancias EC2 o Spot según los requisitos del trabajo. Los trabajos de Batch se definen como imágenes Docker y se ejecutan en ECS. Los casos de uso comunes incluyen aprendizaje automático, renderizado y procesamiento de datos a gran escala.

Comparación Lambda vs AWS Batch

La diferencia más significativa entre ambos es la duración de ejecución. Lambda es adecuado para tareas que se completan en menos de 15 minutos; AWS Batch maneja cargas de trabajo más largas.

| Categoría | Lambda | AWS Batch | |-----------|--------|-----------| | Arquitectura | Orientada a eventos | Procesamiento por lotes | | Tiempo de ejecución | Hasta 15 minutos | Minutos a horas | | Infraestructura | Completamente serverless | Usa EC2 / Fargate | | Disco | Limitado (efímero) | EBS / Instance Store | | Ideal para | Funciones cortas y ligeras | Computación de larga duración a gran escala |

---

Amazon Lightsail — Todo en Uno para Principiantes

Lightsail ofrece servidores virtuales, almacenamiento, bases de datos y redes a un precio bajo y predecible. Es una alternativa simplificada a EC2, RDS, ELB, EBS y Route 53, diseñada para usuarios con poca experiencia en la nube.

Se utiliza comúnmente para aplicaciones web sencillas como WordPress, stacks LAMP y aplicaciones Node.js, así como para entornos de desarrollo y prueba. Tenga en cuenta que, aunque Lightsail ofrece alta disponibilidad, no admite autoescalado y tiene integración limitada con otros servicios de AWS.

---

Comparación de Servicios de un Vistazo

| Servicio | Palabras Clave | Casos de Uso | |---------|---------------|-------------| | Docker | Contenedor, portabilidad, arranque rápido | Empaquetado e implementación de aplicaciones | | ECR | Registro de imágenes Docker (privado) | Almacenamiento de imágenes para ECS/Fargate | | ECS | Orquestación de contenedores | Ejecutar y gestionar contenedores Docker | | Fargate | Contenedores serverless | Ejecutar contenedores sin EC2 | | Lambda | Serverless, FaaS, máx 15 min | Funciones de corta duración orientadas a eventos | | API Gateway | API serverless | Exponer Lambda como API HTTP | | AWS Batch | Procesamiento por lotes, trabajos de larga duración | ML, renderizado, ETL a gran escala | | Lightsail | Económico, simple, para principiantes | WordPress, pequeñas aplicaciones web |

---

Lista de Verificación Pre-Examen

Docker = contenedores que se ejecutan de forma idéntica en cualquier lugar ECR = registro de imágenes Docker privado de AWS ECS = orquestación de contenedores Docker (elegir EC2 o Fargate) Fargate = contenedores serverless (sin gestión de EC2) Lambda = serverless FaaS, tiempo máximo de ejecución 15 minutos Nivel gratuito de Lambda: 1 millón de solicitudes por mes sin costo Lambda + API Gateway = API completamente serverless Trabajos por lotes de más de 15 minutos → AWS Batch Lightsail = todo en uno económico para principiantes (sin autoescalado)

Volver a la lista del blog