cool
Bienvenida
Celery ¿Qué es, para qué sirve, cómo se usa?
Repositorio del proyecto
Arquitecturas de software basadas en mensajería y colas de tareas
Brokers de tareas: Servidores de mensajería y formas de usarlos
¿Cuándo debemos usar Celery?
Reto: Casos de uso de Celery
Bot de Slack
¿Cómo funciona un bot?
Cómo funciona el API de Slack para programación de bots (y parecidos y diferencias con otros APIs)
¿Cómo crear un bot reactivo?
Reto: posibles aplicaciones de bots de Slack, buscar ejemplos y entender cómo se llevarían a cabo
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
¿Qué es un broker de mensajería y cuándo debe usarse?
Conceptos: mecanismos de publicación/suscripción. Canales. Intercambiadores
Brokers de mensajería open source
Python con RabbitMQ uso básico de la terminal
Comparación de diferentes brokers de mensajería para trabajar con Celery
Reto: Crear una pequeña aplicación cliente-servidor que use RabbitMQ desde Python
Celery y brokers de mensajería
Creando un entorno de desarrollo para Celery
Instalación y creación de un programa básico pub/sub
Cómo usar Celery para programar un robot de Slack: diseño y comienzo de la implementación
Monitorización de tareas
Solucionando problemas
Reto: implementación y despliegue básico de un bot de Slack
Enrutado de tareas
Conceptos: enrutado de tareas y por qué se necesita
Enrutado manual
Mensajería en Celery: uso de Kombu
Enrutado automático
Reto: diseño de mecanismos de enrutado para un bot de Slack
Integración y despliegue en la nube
Estructura de mensajes en Celery y resultados de tareas
Tareas periódicas con Celery
Configuración de sistemas en la nube
Contenedores
Despliegue en un PaaS: Heroku
Uso de Celery con Node.js
Reto: despliegue en la nube (usando cuentas gratuitas)
Conclusiones
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
En el mundo del desarrollo y la administración de sistemas, contar con un entorno de pruebas bien configurado es fundamental. Gracias a herramientas como Vagrant y Ansible, esta tarea puede automatizarse fácil y eficientemente. Ambas, líderes en la industria, simplifican la creación y gestión de máquinas virtuales, configurándolas según nuestras necesidades específicas. Este contenido guiará a los lectores en la configuración de entornos de desarrollo reproducibles y eficientes.
Vagrant es una herramienta que permite crear y gestionar entornos virtuales de desarrollo, haciendo uso de archivos de configuración Ruby conocidos como Vagrantfiles. Su objetivo principal es simplificar la instalación de máquinas virtuales, permitiendo a los desarrolladores integrar fácilmente nuevas herramientas o probar en entornos específicos sin complicaciones.
# Vagrantfile básico con configuración de máquina virtual
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
end
ubuntu/bionic64
, debido a que incluye Python 3 por defecto, facilitando la instalación posterior de Ansible.Ansible es una potente herramienta de automatización que, junto con Vagrant, permite establecer configuraciones precisas mediante playbooks. Estos scripts definen las tareas necesarias para proveer nuestros servidores virtuales.
Un playbook es un archivo escrito en YAML que detalla todas las acciones necesarias para configurar una máquina virtual. Ansible ejecuta estas acciones con los permisos necesarios, asegurando que cada componente funcione correctamente.
- hosts: all
become: true
tasks:
- name: Instalar dependencias del sistema
apt:
name: "{{ item }}"
state: present
loop:
- apt-transport-https
- ca-certificates
Preparar el entorno: Antes de instalar herramientas específicas, asegurarse de que el sistema está listo, por ejemplo, añadiendo repositorios o actualizando certificaciones.
Añadir repositorio específico: Esto se hace para garantizar la instalación de versiones actualizadas y compatibles de aplicaciones como RabbitMQ o Erlang.
- name: Añadir repositorio para Erlang
apt_repository:
repo: 'deb https://packages.erlang-solutions.com/debian bionic contrib'
- name: Instalar RabbitMQ
apt:
name: rabbitmq-server
state: present
Una vez configuradas la máquina virtual con Vagrant y el playbook con Ansible, es importante verificar que todo funcione como se espera. Para ello, se pueden ejecutar comandos para comprobar que las versiones de software estén correctamente instaladas.
sudo vagrant ssh
python --version
La combinación de Vagrant y Ansible para la provisión y configuración de máquinas virtuales es especialmente útil para equipos que buscan:
En conclusión, utilizar Vagrant y Ansible juntos ofrece una solución integral para gestionar y configurar entornos de desarrollo de manera eficiente y escalable. ¡Sigue aprendiendo y explorando estas herramientas para potenciar tus proyectos!
Aportes 2
Preguntas 1
cool
👍
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?