Secciones

Información útil sobre la comparación entre Ansible y Chef

Copiar URL

Ansible® y Chef 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 un software adicional en los sistemas que se van a automatizar. En cambio, Chef utiliza un enfoque basado en agentes; es decir, se deben instalar sistemas de software adicionales en cada máquina. Otro aspecto clave que las diferencia es que Ansible utiliza YAML, un lenguaje de configuración basado en Python que los administradores pueden aprender a usar fácilmente, ya que está orientado a ellos; mientras que Chef usa Ruby, un lenguaje específico de dominio (DSL) pensado para los desarrolladores, el cual implica adquirir muchos conocimientos nuevos.

En este artículo se explican en detalle las similitudes y las diferencias entre Ansible y Chef.

¿Qué lugar ocupan Ansible y Chef dentro del gran conjunto de herramientas de automatización? Ansible, Chef, Salt y Puppet 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, la cual está disponible como Red Hat® Ansible Automation Platform.
  • Progress adquirió Chef en 2020, la cual está disponible en una serie de productos comerciales, entre los que se incluye Chef Enterprise Automation Stack.VMWare adquirió
  • Salt (conocida comercialmente como 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.

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. AnsibleFest, su famosa conferencia de usuarios, forma parte de la Red Hat Summit anual, 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.

Mediante 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.

Chef

Chef es una plataforma open source de automatización de la TI escrita en Ruby DSL que transforma la infraestructura en código. Tal como sucede con los playbooks de Ansible, Chef trabaja con definiciones reutilizables conocidas como cookbooks y recipes para automatizar la configuración, la implementación y la gestión de la infraestructura en las redes, ya sea en las instalaciones, en la nube o en un entorno híbrido.

A diferencia de Ansible, utiliza una arquitectura basada en agentes. Su servidor se ejecuta en la máquina principal, y el cliente Chef lo hace como agente en cada máquina cliente. Además, cuenta con un elemento adicional denominado estación de trabajo, el cual posee todas las configuraciones que se prueban y luego se extraen del servidor Chef principal a las máquinas cliente sin utilizar ningún comando. Dado que se necesita vasta experiencia como programador para gestionar las configuraciones que se extraen, el uso de Chef resulta más complejo en comparación con otras herramientas de automatización, incluso para los especialistas de DevOps con amplios conocimientos.      

El término

arquitectura basada en agentes, que se utiliza en Chef, 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, el cual también requiere mantenimiento.La

arquitectura sin agentes que se utiliza en Ansible describe una forma de automatizar y administrar los dispositivos de TI sin necesidad de instalar agentes en los entornos gestionados. El software de control se conecta a las máquinas remotas mediante conexiones 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. Si bien tanto Chef como Ansible tienen gran capacidad de adaptación y ofrecen amplia interoperabilidad con las máquinas de control que se ejecutan en Linux y Unix y los nodos que pueden funcionar en Windows, Ansible se destaca por su comunidad open source activa y el respaldo que le brinda 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, etc.

Si la comparamos con Chef, 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 open source probado y reforzado que se adquiere a través de suscripciones y que ofrece soporte durante todo el ciclo de vida para las empresas. Ansible, su proyecto upstream, se beneficia de la experiencia y el conocimiento de 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 por separado, lo cual acerca la automatización a los extremos donde es necesaria, prácticamente sin tiempo de inactividad. Esto le permite obtener una experiencia de automatización más uniforme, desde el centro de datos hasta la nube y las ubicaciones del extremo de la red.

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.

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

VIDEO - THE SOURCE TV

Automatización

Vea como la automatización está revolucionando la TI a nivel mundial.

Capacitación

Curso de capacitación gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Video de capacitación

Automatización de AWS con Ansible