Bienvenida

1

Celery ¿Qué es, para qué sirve, cómo se usa?

2

Repositorio del proyecto

3

Arquitecturas de software basadas en mensajería y colas de tareas

4

Brokers de tareas: Servidores de mensajería y formas de usarlos

5

¿Cuándo debemos usar Celery?

6

Reto: Casos de uso de Celery

Bot de Slack

7

¿Cómo funciona un bot?

8

Cómo funciona el API de Slack para programación de bots (y parecidos y diferencias con otros APIs)

9

¿Cómo crear un bot reactivo?

10

Reto: posibles aplicaciones de bots de Slack, buscar ejemplos y entender cómo se llevarían a cabo

11

Reto: modificar el bot básico y crear alguno que responda a a algún tipo de petición o muestre algo

Brokers de mensajería

12

¿Qué es un broker de mensajería y cuándo debe usarse?

13

Conceptos: mecanismos de publicación/suscripción. Canales. Intercambiadores

14

Brokers de mensajería open source

15

Python con RabbitMQ uso básico de la terminal

16

Comparación de diferentes brokers de mensajería para trabajar con Celery

17

Reto: Crear una pequeña aplicación cliente-servidor que use RabbitMQ desde Python

Celery y brokers de mensajería

18

Creando un entorno de desarrollo para Celery

19

Instalación y creación de un programa básico pub/sub

20

Cómo usar Celery para programar un robot de Slack: diseño y comienzo de la implementación

21

Monitorización de tareas

22

Solucionando problemas

23

Reto: implementación y despliegue básico de un bot de Slack

Enrutado de tareas

24

Conceptos: enrutado de tareas y por qué se necesita

25

Enrutado manual

26

Mensajería en Celery: uso de Kombu

27

Enrutado automático

28

Reto: diseño de mecanismos de enrutado para un bot de Slack

Integración y despliegue en la nube

29

Estructura de mensajes en Celery y resultados de tareas

30

Tareas periódicas con Celery

31

Configuración de sistemas en la nube

32

Contenedores

33

Despliegue en un PaaS: Heroku

34

Uso de Celery con Node.js

35

Reto: despliegue en la nube (usando cuentas gratuitas)

Conclusiones

36

Despedida, conclusiones y a dónde ir desde aquí

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Celery 4

Curso de Celery 4

Juan Julián Merelo

Juan Julián Merelo

Reto: despliegue en la nube (usando cuentas gratuitas)

35/36
Recursos

¿Cómo llevar tu aplicación a la nube?

Llevar tu aplicación a la nube significa desbloquear un nuevo nivel de oportunidades y escalabilidad. Si te has estado preguntando cómo integrar de manera efectiva tu aplicación en un entorno de nube, aquí te proporcionamos algunas ideas clave para empezar. Pasar tu aplicación a la nube no solo mejorará su rendimiento, sino que también te preparará para futuras implementaciones y permitirá un alcance más amplio.

¿Cuál es el primer paso para desplegar en la nube?

El primer paso es seleccionar la plataforma en la nube que mejor se adapte a tus necesidades. Puedes elegir entre múltiples servicios de nube, cada uno ofrece diferentes beneficios y funcionalidades. Algunas de las opciones más populares incluyen:

  • Heroku: Ideal para aplicaciones que quieren aprovechar opciones gratuitas y fáciles de usar. En Heroku, lo único que necesitas hacer es empaquetar tu aplicación en un contenedor y desplegarlo en su plataforma.

  • Digital Ocean: Este servicio proporciona un enfoque más orientado a desarrolladores, con un enfoque en simplicidad y precios accesibles.

  • AWS (Amazon Web Services) y Azure: Son soluciones robustas para aplicaciones más complejas, ofreciendo una amplia gama de servicios y opciones de personalización.

¿Qué consideraciones tener en cuenta al elegir una plataforma?

Elegir la plataforma correcta es crucial para asegurar el éxito de tu aplicación en la nube. Aquí te presentamos algunos factores a considerar:

  • Costo: Algunas plataformas ofrecen niveles gratuitos que son perfectos para experimentar o para proyectos de pequeña escala. Evalúa los costos de operación a medida que tu aplicación escale.

  • Escalabilidad: Asegúrate de que la plataforma elegida pueda soportar el crecimiento de tu aplicación. Esto incluye el manejo del tráfico, almacenamiento y procesamiento.

  • Facilidad de uso: Algunos servicios son más intuitivos y poseen una curva de aprendizaje más baja, lo que puede ser ideal si quieres implementar rápidamente sin entrar en configuraciones complejas.

¿Qué opciones de despliegue están disponibles?

Una vez seleccionada la plataforma, puedes elegir cómo desplegar tu aplicación en la nube. Aquí hay algunas opciones que podrías considerar:

  • Contenedores: Herramientas como Docker permiten empaquetar tu aplicación con todas sus dependencias y asegurarte de que funcionará en cualquier entorno.

    docker build -t myapp .
    docker run -p 80:8080 myapp
    
  • Máquinas virtuales: Si buscas más control sobre el ambiente de instalación, podrías optar por desplegar tu aplicación en máquinas virtuales disponibles en servicios como AWS o Azure.

  • PaaS (Platform as a Service): Plataformas como Heroku o Google App Engine manejan la infraestructura subyacente por ti, permitiéndote concentrarte en el código de tu aplicación.

¿Qué habilidades desarrollaré con esta práctica?

Al lanzar tu aplicación a la nube, estarás desarrollando importantes habilidades de DevOps y distribución de software. Aprenderás no solo cómo configurar y administrar aplicaciones en entornos de nube, sino también cómo escalar, monitorizar y optimizar estas aplicaciones para un desempeño óptimo. Además, te prepararás para abordar futuros proyectos con una mentalidad moderna de desarrollo de software.

La nube es el futuro del desarrollo de aplicaciones y llevar tu aplicación allí te prepara para cualquier iniciativa empresarial que desees emprender. ¡No esperes más y comienza hoy mismo!

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

va

👍