Agilidad en la configuración de máquinas

Laura Lacarra Arcos    21 agosto, 2019
Configuración de máquinas

La pesadilla de los devops y también del perfil de administrador de sistemas aumenta proporcionalmente al número de máquinas que tengan a su cargo. La convivencia del mundo cloud, los contenedores, máquinas virtuales y servidores físicos dificulta su administración.

En este artículo voy a presentaros una herramienta que facilita esta labor, la configuración de máquinas, y hace que resulte más escalable y sencillo de mantener. Permite gestionar configuraciones, aprovisionamiento de recursos, despliegue de aplicaciones y otras tareas de TI.

Se trata de Ansible, un proyecto de la comunidad open source. Gracias a ello, es un software estable, muy consolidado y con una comunidad detrás que lo mantiene y mejora constantemente.

Imaginad que queréis aprovisionar un cluster (conjunto de máquinas que se comportan como una sola) on-premise (en local). Todas las máquinas tienen una configuración muy similar: mismas herramientas instaladas, mismos puertos abiertos, misma seguridad… Solo cambia algún parámetro.

Opciones para configurar todas esas máquinas del clúster

  • La primera, hacerlo una por una instalando todo lo necesario en cada equipo. Con esta alternativa, además de perder bastante tiempo, es muy probable que se cometa algún error u olvido. Pensad en el tedio de hacerlo con doce máquinas… Además, una vez configurado todo el cluster, es posible que haya que añadir alguna otra máquina más adelante. ¿Nos acordaremos de cómo hacerlo entonces? ¿Lo habrá documentado la persona encargada?
  • La segunda opción es usar Ansible, que resulta la herramienta perfecta para estos casos de uso. Con ella el usuario puede escribir “una receta” con las tareas que hay que hacer en una máquina, y la plataforma, si así se le indica, puede ejecutarlas en diez. ¡Así de fácil! Por lo tanto, solo es necesario configurar bien una máquina, el resto se replica automáticamente.

Ventajas del uso de Ansible

Imaginad todas las tareas de una máquina: instalar, actualizar, borrar,  start, reboot, stop, copiar ficheros, modificarlos, verificar estados, etc. Pues bien, todas ellas se pueden realizar con Ansible. Se llaman “modules” y aquí podéis ver todo el directorio.

Además, cuando se ejecuta una receta o “playbook” se puede hacer en modo prueba para ver cómo afectarían los cambios, antes de implementarlos realmente.

configuración de máquinas

El uso de Ansible está tan extendido que en la actualidad cualquier herramienta open source que se quiera instalar dispone de un “playbook” hecho y probado por la comunidad. Por ejemplo, si queréis configurar un cluster de Elastic, éste ya se ha encargado de dejar un “playbook” disponible, del que solo hará falta cambiar las variables para que se ajusten a las necesidades particulares. 

En Ansible Galaxy, el hub donde están centralizados todos los “playbooks” que han hecho empresas y particulares, se pueden encontrar otras muchas herramientas para instalar y es posible crear un “playbook” y subirlo también ahí.

A todas estas ventajas hay que sumar que Ansible es muy fácil de usar. El lenguaje que utiliza es YAML y resulta muy legible. Os dejo un ejemplo.

Y, como decía al principio, con esta herramienta es posible hacer despliegues tanto en máquinas físicas como virtuales y en cloud. En definitiva, para ahorrar tiempo, mejorar la salud de las máquinas y la de las personas encargadas de gestionarlas, Ansible es una herramienta muy práctica. 

En este tutorial en español se explica cómo dar los primeros pasos. ¡Animaos a probarlo! 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *