Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capítulo 11: Despliegue Básico

🧭 Navegación:

¡Bienvenido al capítulo de Despliegue Básico! Hasta ahora, has aprendido a crear scripts de Python que funcionan en tu computadora local. Pero, ¿qué sucede cuando quieres que tus programas se ejecuten automáticamente, incluso cuando tu computadora está apagada? ¿O cuando quieres compartir tus aplicaciones con otros usuarios?

En este capítulo, aprenderás a dar el siguiente paso: llevar tus scripts de Python al mundo real mediante técnicas de despliegue básico.

🚀 ¿Qué es el despliegue?

El despliegue (deployment) es el proceso de poner un programa o aplicación en un entorno donde pueda ejecutarse de forma independiente y ser accesible para sus usuarios finales. En términos simples, es mover tu código desde tu entorno de desarrollo (tu computadora) a un entorno de producción (donde realmente funcionará).

¿Por qué es importante el despliegue?

  • Disponibilidad: Tus aplicaciones pueden funcionar 24/7, incluso cuando tu computadora está apagada
  • Accesibilidad: Otros usuarios pueden acceder a tus aplicaciones desde cualquier lugar
  • Escalabilidad: Puedes manejar más usuarios o procesar más datos según sea necesario
  • Automatización: Tus scripts pueden ejecutarse automáticamente según horarios predefinidos
  • Profesionalismo: Completa el ciclo de vida del desarrollo de software

📋 Lo que aprenderás en este capítulo

En este capítulo, nos centraremos en dos aspectos fundamentales del despliegue básico:

  1. Ejecutar scripts en la nube: Aprenderás a configurar servidores virtuales para ejecutar tus scripts de Python
  2. Programar tareas automáticas: Descubrirás cómo programar la ejecución periódica de tus scripts

Estos conocimientos te permitirán:

  • Automatizar tareas que deben ejecutarse regularmente
  • Mantener tus scripts funcionando incluso cuando no estás presente
  • Dar los primeros pasos hacia aplicaciones más complejas basadas en la nube

🛠️ Herramientas y conceptos que utilizaremos

Para este capítulo, nos familiarizaremos con:

  • Servidores virtuales: Máquinas en la nube donde ejecutar nuestro código
  • SSH: Protocolo para conectarnos y administrar servidores remotos
  • Cron: Herramienta para programar tareas en sistemas Unix/Linux
  • Servicios en la nube: Plataformas que ofrecen recursos computacionales
  • Entornos virtuales: Para gestionar dependencias en el servidor
  • Logs y monitoreo: Para verificar que todo funciona correctamente

🌩️ Opciones de despliegue

Existen muchas formas de desplegar aplicaciones Python, desde las más simples hasta las más complejas:

Nivel básico (cubriremos en este capítulo)

  • Servidores virtuales (VPS): Como DigitalOcean, Linode, AWS EC2
  • Programación de tareas: Con cron (Linux) o Task Scheduler (Windows)

Nivel intermedio (mencionaremos brevemente)

  • Plataformas como servicio (PaaS): Heroku, PythonAnywhere, Google App Engine
  • Contenedores: Docker, Docker Compose

Nivel avanzado (solo para referencia)

  • Orquestación de contenedores: Kubernetes
  • Serverless: AWS Lambda, Google Cloud Functions
  • Infraestructura como código: Terraform, CloudFormation

🧠 Enfoque práctico

Como en capítulos anteriores, aprenderemos haciendo. Tomaremos uno de los proyectos de automatización del capítulo anterior y lo desplegaremos en la nube para que se ejecute automáticamente.

¡Comencemos nuestro viaje hacia el despliegue de aplicaciones Python!

Avancemos a la primera sección: Ejecutar Scripts en la Nube