Despliegue de Aplicaciones Python en Elastic Beanstalk de AWS
Clase 15 de 36 • Curso Práctico de AWS Cloud
Contenido del curso
- 4

Arquitectura AWS con Elastic Beanstalk y Autoescalado
05:26 - 5

Creación y gestión de instancias EC2 en Amazon Web Services
07:04 - 6

Creación y configuración de una instancia EC2 en AWS
09:54 - 7

Conexión y administración de instancias EC2 en Windows
10:07 - 8

Conexión a instancias S2 con Dynux en Parrot OS
02:11 - 9

Conexión a instancias de Amazon desde Mac usando Terminal
02:31 - 10

Implementación de un Proyecto Python en Instancia EC2 de AWS
04:08 - 11

Configuración de Flask en Instancias C2 y Reglas de Seguridad
06:20 - 12

Amazon Lambda: Introducción a la Computación Serverless
07:29 - 13

Creación de Funciones Lambda en Python para AWS
07:09
- 14

Gestión de Escalabilidad con Amazon Elastic Beanstalk
05:13 - 15

Despliegue de Aplicaciones Python en Elastic Beanstalk de AWS
12:35 - 16

Almacenamiento en Amazon S3: Opciones y Configuración
01:53 - 17

Subida y Hosting de Sitios Web Estáticos en AWS S3
06:44 - 18

Almacenamiento Económico en Glacier para Archivos Históricos
01:49
- 19

Bases de Datos en Amazon RDS: Motores y Prestaciones Principales
02:36 - 20

Administración de RDS Postgres en AWS: Seguridad y Optimización
06:59 - 21

Creación y Configuración de Bases de Datos en Amazon RDS
05:07 - 22

Migración de Bases de Datos PostgreSQL a AWS usando Dump
04:38 - 23

Rendimiento y ventajas de Amazon Aurora PostgreSQL
04:12 - 24

Creación y gestión de bases de datos en Aurora PostgreSQL
11:58 - 25

Prácticas de Respaldo y Recuperación con Amazon RDS
02:50
¿Cómo poner nuestro proyecto en Elastic Beanstalk?
Aprovechar las herramientas de Elastic Beanstalk en AWS puede cambiar la forma en la que realizamos implementaciones. En esta clase te enseñaremos cómo proceder con este poderoso servicio que simplifica el despliegue de aplicaciones, utilizando plataformas preconfiguradas.
¿Cómo accedemos a Elastic Beanstalk desde la consola?
Para iniciar, es importante ingresar a la consola de AWS. Es posible que al quedarse colapsada la sección 'All Services', no encuentres inmediatamente Elastic Beanstalk; asegúrate de expandirla. Una vez localizado, podrás crear un nuevo sitio, dando un nombre a tu aplicación y seleccionando la plataforma adecuada. Elastic Beanstalk ofrece muchas configuraciones preconfiguradas para diferentes entornos, como Docker, Java Enterprise con Tomcat, .NET con Windows e IIS, Go, y más. En este caso, seleccionaremos Python y habilitaremos una aplicación de ejemplo.
¿Qué pasos seguir para modificar el código del proyecto?
El ajuste del código es esencial para que la aplicación funcione correctamente en Elastic Beanstalk. La modificación principal está relacionada con el archivo application.py. Aquí deberás:
- Cambiar el nombre del archivo de
app.pyaapplication.py. - Añadir
application =en el código, lo que Amazon requiere para que reconozca el estándar WSGI al levantar la instancia.
Por ejemplo, al tener el código original:
app = Flask(__name__)
Deberás transformarlo a:
application = app
¿Cómo procede el entorno de creación?
Al crear el entorno, Elastic Beanstalk configurará automáticamente:
- Una instancia EC2 con permisos adecuados.
- Un grupo de seguridad que abrirá puertos esenciales como el 80 (HTTP) y el 443 (HTTPS), similares a pruebas anteriores con el puerto 5000.
¿Qué opciones de despliegue y rollback ofrece Elastic Beanstalk?
Elastic Beanstalk permite subir el código empaquetado en un ZIP al ambiente deseado ya sea de desarrollo, prueba o producción. Incluso puedes probar versiones antes de moverlas a producción, permitiendo al equipo de QA validar el funcionamiento.
La funcionalidad de rollback es clave. Puedes almacenar hasta mil versiones de tu aplicación, revirtiendo rápidamente a una versión anterior en caso de problemas.
¿Cómo configurar el balance de carga?
En la instancia básica, puedes optar por no usar un balanceador. Sin embargo, si se espera tráfico elevado, se puede activar esta opción, definiendo el número de servidores (por ejemplo, mínimo uno a cinco o más, según la demanda).
Puedes ajustar:
- Los criterios para añadir o quitar servidores.
- La capacidad de respuesta ante fallas.
- La cantidad de servidores que crecen al aumentar la carga.
¿Qué otras configuraciones se pueden realizar?
Elastic Beanstalk ofrece un amplio monitoreo del estado del servidor. Desde el uso de CPU hasta el ancho de banda, y si se requiere, permitir métricas más especializadas. Además, esta plataforma proporciona logs detallados de las instancias y una visión clara del estado de cualquier servidor en tiempo real.
Así, Elastic Beanstalk se convierte en una solución robusta para la gestión dinámica de recursos, optimizando el rendimiento de tu aplicación al ajustar automáticamente la infraestructura a las necesidades del tráfico. Con este conocimiento, puedes traer eficiencia a tus despliegues, confiar en una infraestructura autosuficiente, y concentrarte en el desarrollo efectivo de tus soluciones.