Unos apuntes sobre la librería Fabric de Python
La entrada de hoy va a estar centrada en la librería Fabric de Python y sobre todo va para mis apuntes. La biblioteca Fabric de Python es una herramienta para la administración de sistemas y la automatización de tareas. Está diseñada para facilitar la ejecución de comandos en servidores remotos de manera programática, lo que la hace especialmente útil para tareas de implementación, administración de configuraciones y otras operaciones en entornos distribuidos.
Antes de continuar te he comentar una cosa, para que tú decidas si vale la pena dedicarle tiempo o no, a esta herramienta. Ten en cuenta que, aunque Fabric fue una herramienta popular en el pasado, su desarrollo se ha ralentizado y ,según comentan, se sugiere explorar otras opciones más modernas como Ansible, SaltStack, o incluso herramientas basadas en contenedores como Docker para ciertos casos de uso.
Principales características de Fabric
Vamos a ver algunas de las principales características:
-
Ejecución remota de comandos: Fabric permite ejecutar comandos de manera remota en servidores SSH. Podemos enviar comandos de terminal a uno o varios servidores y recibir los resultados.
from fabric import Connection with Connection('mi_usuario@mi_servidor'): result = run('ls -la') print(result)
-
Definición de tareas: Podemos organizar nuestro código en tareas, que son funciones de Python que realizan acciones específicas. Estas tareas pueden ser ejecutadas desde la línea de comandos o desde otras tareas.
from fabric import task @task def deploy(c): c.run('git pull') c.run('docker-compose up -d')
- Gestión de conexiones: Proporciona una interfaz para gestionar conexiones SSH de manera sencilla, incluida la autenticación y la gestión de claves.
- Manejo de entornos: Podemos definir entornos para diferentes configuraciones, lo que facilita la ejecución de tareas en diferentes servidores o configuraciones.
- Modo paralelo: También permite ejecutar tareas en paralelo en varios servidores, lo que puede mejorar significativamente el rendimiento en operaciones que involucren a múltiples máquinas.
Instalación de Fabric en GNU/Linux
En la mayoría de los casos simplemente hemos de utilizar la herramienta «pip«, de la que ya hemos hablado, de la siguiente forma:
pip install fabric
A continuación, puedes crear un archivo de script de Fabric (generalmente llamado fabfile.py) y definir tus tareas y configuraciones según tus necesidades.
También podemos instalar la librería utilizando los repositorios de las principales distribuciones GNU/Linux:
En Debian y Ubuntu
sudo apt-get update sudo apt-get install fabric
En Fedora y similares
sudo dnf install fabric
En openSUSE
sudo zypper install fabric
En Gentoo
sudo emerge -av dev-python/fabric
Como siempre, si quieres profundizar sobre esta librería, te recomiendo que visites su página web oficial: «Welcome to Fabric!«