Secciones

Comparación entre Ansible y Salt: todo lo que necesita saber

Copiar URL

Ansible y Salt son herramientas open source de la comunidad para automatizar la TI. Ambas pueden simplificar las operaciones de TI y el trabajo de DevOps mediante la automatización de las tareas rutinarias, como la configuración y la preparación de los sistemas, la implementación del software y la gestión de las actualizaciones en muchos servidores o dispositivos del extremo.

Ansible es conocida por su facilidad de uso, la cual se debe a un enfoque más flexible y sin agentes que no requiere la instalación de software adicional en los objetivos de la automatización. En cambio, Salt utiliza un enfoque basado en agentes; es decir, se deben instalar sistemas de software adicionales en cada máquina. En cuanto a los enfoques hacia la automatización, tanto Ansible como Salt se basan en Python. Ansible utiliza archivos de configuración YAML y automatización de procedimientos para definir los pasos que deben ejecutarse en orden. Por otro lado, Salt utiliza un pequeño subconjunto de YAML para asignar estructuras de datos de uso común, como listas y diccionarios. 

En este artículo, se explican en detalle las similitudes y las diferencias entre ambas.

¿Qué lugar ocupan Ansible y Salt dentro del gran conjunto de herramientas de automatización de la TI? Ansible, Salt, Puppet y Chef son cuatro de las herramientas open source que más se utilizan para automatizar la TI.Si bien cada una de ellas utiliza un enfoque de automatización distinto, todas están disponibles como soluciones empresariales que ofrecen diferentes proveedores de software. Muchas empresas de TI utilizan más de una solución para distintos fines, o incluso las combinan.

  • Red Hat adquirió Ansible en 2015 y la puso a disposición del público con el nombre de Red Hat® Ansible® Automation Platform.
  • VMWare adquirió Salt, con el nombre comercial de SaltStack, en 2020 y la incluyó como parte de la cartera de productos de vRealize Automation, que recientemente cambió de nombre a VMware Aria Automation. En 2022, Broadcom adquirió VMware. 
  • Perforce brinda soporte para Puppet, la cual está disponible en una serie de productos comerciales, entre los que se incluyen Puppet Enterprise y Puppet Bolt.
  • Progress adquirió Chef en 2020, la cual está disponible en una serie de productos comerciales, entre los que se incluye Chef Enterprise Automation Stack. 

Ansible

Ansible es una aplicación de software open source de la línea de comandos para la automatización de la TI que está escrita en Python.Permite configurar sistemas, implementar software y organizar los flujos de trabajo avanzados para respaldar la implementación de las aplicaciones, las actualizaciones de los sistemas, la configuración y el funcionamiento de la red y mucho más. Red Hat Ansible Automation Platform es un producto basado en Ansible que se adquiere a través de una suscripción y ofrece varias funciones empresariales.

La fortaleza de Ansible proviene de su comunidad. Hasta la fecha (otoño de 2022 en el hemisferio norte), su repositorio principal de GitHub cuenta con miles de colaboradores y decenas de miles de otros repositorios que dependen de Ansible. Cada año se celebra la famosa conferencia de usuarios AnsibleFest, y se organizan encuentros de Ansible con frecuencia en todo el mundo. Esta comunidad de usuarios entusiastas pone de manifiesto la gran cantidad de especialistas en Ansible y colaboradores que posibilitan su integración sólida con otros proyectos populares de software. Los usuarios de Ansible pueden acceder a cientos de módulos y complementos que permiten ampliar sus funciones.

El diseño de Ansible se centra en la simpleza y la facilidad de uso. También prioriza la seguridad y la confiabilidad, ya que contiene pocos factores que se deben ajustar. Utiliza OpenSSH para el traslado (y otros medios de transporte y modos de extracción alternativos) y emplea un lenguaje que las personas pueden comprender, el cual permite a los usuarios comenzar a usar la herramienta rápidamente sin mucha capacitación de por medio.

Ansible utiliza los conceptos de nodo de control (el lugar donde se ejecuta) y nodos gestionados (los dispositivos que se automatizan, que suelen ser máquinas Linux® o Windows). Dado que no tiene agentes, puede comunicarse con los dispositivos sin la necesidad de instalar una aplicación ni un servicio en el nodo gestionado. Ansible Automation Platform puede distribuir trabajos de automatización en los nodos de ejecución mediante la tecnología conocida como malla de automatización.  

Con los playbooks de Ansible, que son archivos escritos en YAML, un lenguaje comprensible para las personas, los usuarios de Ansible pueden organizar con precisión distintas partes de la infraestructura. Ansible utiliza un enfoque de programación procedimental (o imperativo), en el que se intenta conservar la configuración de la infraestructura de TI estableciendo los pasos para lograr el estado deseado.

Salt

Salt es una aplicación open source de automatización de TI que es modular y está escrita en Python. La herramienta de gestión de la configuración está diseñada para recopilar y ejecutar datos rápidamente e incluye la biblioteca ligera de mensajería ZeroMQ y un marco de ejecución simultánea que establece conexiones persistentes del protocolo de control de transmisión (TCP) entre el servidor y los agentes. 

Al igual que Ansible, Salt utiliza YAML, lo que hace que sea fácil gestionarla y aprender a usarla. Sin embargo, su arquitectura basada en agentes puede suponer una importante curva de aprendizaje para los nuevos usuarios y un desafío para los profesionales de DevOps experimentados. En este contexto, el servidor se denomina salt master; los clientes, salt minions, que se ejecutan como agentes en la máquina cliente. Se pueden configurar varios masters y, si uno de ellos no funciona, los agentes se conectan con otro de la lista. Dado que los servidores envían las configuraciones a todos los clientes, se produce una ejecución remota inmediata. 

Desde la adquisición de SaltStack por parte de VMware, se redujo la comunidad open source de Salt, y, según los datos de GitHub en otoño de 2022, hay menos proyectos dependientes de Salt que de Ansible. Asimismo, tras la adquisición de VMware por parte de Broadcom en 2022, la atención se centra más en la automatización de los productos de VMware y menos en los casos prácticos de redes, multiproveedor o multipropósito, lo que se traduce en una falta de personal capacitado en TI cada vez mayor y en incertidumbre acerca del respaldo de las empresas a la comunidad Salt.     

El término arquitectura basada en agentes hace referencia a un modelo de infraestructura y automatización que requiere la ejecución de sistemas de software específicos, denominados agentes, en los entornos gestionados. Es necesario instalar el agente y todas sus dependencias en cada nodo objetivo, lo cual implica que se deba contar con reglas y verificaciones de seguridad adicionales. Esto puede suponer un desafío a la hora de automatizar los objetos donde no puede ejecutarse o no está disponible el agente. Además, los agentes necesitan mantenimiento.

La arquitectura sin agentes que se utiliza en Ansible es una forma de automatizar y administrar los dispositivos de TI sin la necesidad de instalar agentes en los entornos gestionados. El software de control se conecta a las máquinas remotas mediante conexiones Secure Shell (SSH) y comienza a gestionarlas sin perder mucho tiempo en la configuración. Esta arquitectura elimina la necesidad de mantener un sistema de implementación luego de que se completa la etapa de configuración.

La gestión de la configuración es un proceso que busca mantener los sistemas informáticos, los servidores y el software en un estado deseado y uniforme. Garantiza que un sistema funcione como se espera a medida que se realizan cambios. Además, este proceso se puede automatizar para reducir los costos, la complejidad y el riesgo de que se cometan errores manuales.  

Los términos DevOps y DevSecOps significan operaciones de desarrollo y desarrollo, seguridad y operaciones, respectivamente. Se trata de enfoques que abordan la cultura, la automatización y el diseño de plataformas, e integran la seguridad como una responsabilidad compartida durante todo el ciclo de vida de la TI. La similitud entre DevOps y DevSecOps radica en que siempre tuvieron el mismo objetivo: que la seguridad sea parte del enfoque de DevOps. Sin embargo, ahora muchas personas se refieren a este enfoque como DevSecOps para que su inclusión sea evidente.

YAML significa otro lenguaje de marcado más (o YAML no es un lenguaje de marcado), y se trata de un lenguaje de serialización de los datos que suele usarse para codificar archivos de configuración. Además, está diseñado para que las personas puedan comprenderlo fácilmente y utilizarlo con otros lenguajes de programación. YAML se basa en la notación de objetos JavaScript (JSON).

Para elegir una solución de automatización, es necesario tener en cuenta no solo las funciones disponibles en la actualidad, sino también las perspectivas a largo plazo para la plataforma. Ansible se destaca por su comunidad open source activa y el respaldo de Red Hat.

También es habitual que las empresas utilicen varias soluciones de automatización. Ansible se conecta a un amplio ecosistema de integraciones compatibles y puede utilizarse para organizar muchas otras herramientas de automatización y gestión de la configuración. También permite automatizar los sistemas en los principales proveedores de nubes públicas, como Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, entre otros.

Si la comparamos con Salt, Ansible es la opción más elegida entre los usuarios que prefieren la sencillez, la facilidad de uso y las soluciones de automatización sin agentes. Además, cuenta con una comunidad extensa de colaboradores y asociaciones, su adopción está muy extendida en diversas áreas de TI, como la automatización de las redes y la infraestructura, y tiene gran reconocimiento por su integración con las demás herramientas.

Red Hat Ansible Automation Platform es un producto probado, con seguridad reforzada, que se obtiene a través de suscripciones, ofrece a las empresas soporte durante todo el ciclo de vida y se caracteriza principalmente por su tecnología open source. Ansible, su proyecto upstream, se beneficia de la experiencia y el conocimiento de los miles de colaboradores en todo el mundo. 

La plataforma incluye varios elementos del proyecto upstream, más de 140 conjuntos certificados Red Hat Ansible Content Collections de más de 60 partners y herramientas de retorno sobre la inversión (ROI) como servicio que le permiten abordar la instalación, la configuración y el soporte de la automatización en su empresa sin incertidumbres. Crea una experiencia integral para los equipos interdisciplinarios y permite que los equipos de operaciones, los ingenieros y los desarrolladores de la automatización intercambien el contenido listo para usar.

Las funciones de Red Hat Ansible Automation Platform, como Red Hat Insights y el análisis de la automatización, brindan información accesible sobre el rendimiento de la automatización, para que pueda medir su impacto y supervisar o resolver los problemas con mayor precisión. La malla de automatización le permite ajustar la capacidad de control y de ejecución de forma separada, lo cual acerca la automatización a los extremos donde es necesaria, prácticamente sin tiempo de inactividad. De esta forma, usted obtiene una experiencia uniforme en diversas ubicaciones, desde los centros de datos hasta la nube y los extremos.

Ansible es una excelente opción para automatizar la TI sin agentes y de forma sencilla, y se destaca por su facilidad de uso, su flexibilidad y su gran comunidad de usuarios.

Informe de IDC: Ansible Automation Platform ofrece valor empresarial

De acuerdo con las investigaciones de IDC, las empresas que estandarizan sus operaciones con Ansible Automation Platform logran grandes mejoras en la eficiencia operativa de la TI, así como su velocidad y capacidad de ajuste, que se traducen en beneficios en promedio anual de USD 14,81 millones y un retorno sobre la inversión de 668 % en un período de tres años.

Obtenga el informe

Siga leyendo

Artículo

Conceptos básicos de Ansible

Ansible se encarga de automatizar algunos procesos de la TI, como la preparación de la infraestructura y la gestión de la configuración. En esta introducción conocerá los conceptos básicos de Ansible.

Artículo

¿Qué es la gestión de los procesos empresariales?

La gestión de los procesos empresariales (BPM) consiste en modelar, analizar y optimizar los procesos integrales de esta naturaleza para lograr sus objetivos comerciales estratégicos.

Artículo

¿Por qué conviene elegir Red Hat para la automatización?

Red Hat Ansible Automation Platform incluye las herramientas que necesitan los equipos para implementar y compartir la automatización en toda la empresa.

Más información sobre la automatización

Productos

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Plataforma que permite automatizar toda la empresa, sin importar en qué etapa del proceso de automatización se encuentre.

Contenido adicional

Ebook

La empresa automatizada: unificación de las personas y los procesos

Ebook

Automatice los flujos de trabajo de la infraestructura

PODCAST

Command Line Heroes Temporada 3, Episodio 5 Lenguajes que llegaron para quedarse

Escúchelo ahora

Recursos adicionales

Forrester Wave™: Automatización de la infraestructura, primer trimestre del 2023

Léalo aquí

Capacitación

Curso de capacitación gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Curso de capacitación gratuito

Red Hat Ansible Automation for SAP