← Volver al catálogo

AWS Elastic Beanstalk

En una frase: Sube tu código y te monta el entorno: balanceador, escalado, instancias y alarmas
Certificaciones: SAA-C03 SAP-C02 CLF-C02 DVA-C02

Qué es

AWS Elastic Beanstalk es una plataforma como servicio (PaaS) para aplicaciones web y de trabajo en segundo plano. Subes el código (Java, .NET, Node.js, Python, PHP, Ruby, Go) o una imagen Docker y Beanstalk aprovisiona todo lo necesario: instancias EC2 (Elastic Compute Cloud), grupo de Auto Scaling, balanceador de carga, security groups y alarmas de CloudWatch. Tú te ocupas de la aplicación y Beanstalk del despliegue, el escalado, la monitorización y las actualizaciones de la plataforma. Los recursos siguen en tu cuenta y puedes ajustarlos.

Conceptos clave

  • Aplicación, versión y entorno: una aplicación tiene versiones del código (guardadas en S3 (Simple Storage Service)) y entornos (por ejemplo, producción y pruebas) que ejecutan una versión.
  • Tipos de entorno: servidor web (atiende peticiones HTTP (HyperText Transfer Protocol: protocolo de la web) detrás de un balanceador) y trabajador (procesa mensajes de una cola SQS (Simple Queue Service) que Beanstalk crea y lee por ti, útil para tareas largas en segundo plano).
  • Plataformas: sistema operativo, lenguaje y servidor preparados y mantenidos por AWS; las actualizaciones gestionadas aplican parches en una ventana de mantenimiento.
  • Políticas de despliegue:
    • All at once: todas las instancias a la vez; rápido pero con corte.
    • Rolling: por tandas; sin corte, con menos capacidad durante el despliegue.
    • Rolling with additional batch: añade una tanda nueva para mantener la capacidad completa.
    • Immutable: crea instancias nuevas en un grupo temporal y las cambia solo si están sanas; el rollback es inmediato.
    • Traffic splitting: despliegue canario que envía un porcentaje del tráfico a la nueva versión.
  • Blue/green: clonar el entorno, desplegar en el nuevo y intercambiar las URL (Uniform Resource Locator: dirección web) (swap de CNAME (Canonical Name: registro DNS que apunta a otro nombre)) para cambiar sin corte.
  • Configuración: ficheros .ebextensions y .platform en el paquete, la CLI (Command Line Interface: línea de comandos) de Beanstalk (eb) y opciones del entorno.
  • Base de datos: se puede crear una RDS (Relational Database Service) dentro del entorno, pero entonces su ciclo de vida va ligado al entorno; en producción se recomienda una RDS independiente.

Casos de uso típicos

  • Publicar una aplicación web tradicional rápidamente, sin montar la infraestructura.
  • Equipos de desarrollo sin experiencia en operaciones de AWS.
  • Migrar aplicaciones monolíticas en lenguajes compatibles con cambios mínimos.
  • Procesos en segundo plano con el entorno de trabajador y su cola SQS.

Cuándo NO usarlo

Comparativa con servicios parecidos

NecesidadServicio adecuado
Subir código y que AWS monte la infraestructura webElastic Beanstalk
Contenedores web con pocos parámetrosECS Express Mode
Web y sitios frontales con CI/CD (Continuous Integration / Continuous Delivery: integración y entrega continuas) desde GitAmplify Hosting
Control total de las instanciasEC2 con Auto Scaling
Servidor sencillo a precio fijoLightsail

Modelo de precios

Elastic Beanstalk no tiene coste propio: se pagan los recursos que crea (instancias EC2, balanceador, volúmenes, base de datos, transferencia de datos) como si los hubieras creado a mano.

Seguridad y alta disponibilidad

Trampas de examen

  • "Desplegar una aplicación web sin gestionar infraestructura" y "subir el código": Elastic Beanstalk.
  • "Sin pérdida de capacidad y rollback rápido": despliegue immutable.
  • "Probar la nueva versión con un 10 % del tráfico": traffic splitting.
  • "Cambio instantáneo entre entornos": blue/green con swap de URL (CNAME).
  • "Tareas largas en segundo plano": entorno de trabajador con cola SQS.
  • "Al borrar el entorno se perdió la base de datos": la RDS estaba dentro del entorno; debe crearse aparte.
  • "Personalizar la configuración en el paquete": .ebextensions.

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes