A medida que la cultura DevOps se adopta dentro de las industrias de TI, también lo hace el interés en la plataforma de automatización bien adaptada a la velocidad y la agilidad comúnmente promovidas como beneficios principales de DevOps y eso significa una necesidad creciente de profesionales de TI no sólo dispuestos a abrazar el conjunto de la mente y la metodología detrás del enfoque de soluciones Devops, sino también capaces de habilidades DevOps con nuevas herramientas de software como Chef, Puppet y Ansible se encuentran entre las herramientas de gestión de configuración y automatización de despliegue más destacadas. Cada una de estas herramientas tiene su fuerza particular. Estas automatizaciones y orquestaciones facilitan la vida de cualquier tamaño de infraestructura.

Mientras eliges la más adecuada, encuentra la herramienta que mejor te funcione, porque te hace más productivo y qué herramienta necesitas, depende de tus requerimientos y tu entorno actual. Herramientas como Chef, Puppet, Ansible no son necesariamente sólo para los servicios de DevOps, su uso en la organización de TI puede sentar las bases para acelerar el área como la entrega de aplicaciones, parches y así sucesivamente.

A continuación se resumen algunos puntos fuertes de cada herramienta y un par de cosas que podrían influir hacia el uso de uno sobre el otro:

¿Por qué Puppet??

Puppet es más lento, pero más ampliamente utilizado y el apoyo a múltiples sistemas operativos. Puppet es un sistema de gestión de la configuración que proporciona una manera de definir el estado de la infraestructura de TI, y permite la aplicación automática del estado correcto. Podría decirse que es el más utilizado de los tres. Es el más completo en términos de acciones disponibles, módulos e interfaz de usuario. Puppet representa la imagen completa de la orquestación del centro de datos, abarcando casi todos los sistemas operativos y ofreciendo herramientas profundas para los principales SOs

  • Se ejecuta en Linux, CentOS, Debian, Ubuntu, Fedora, BSD, MacOS, Windows y otros.
  • Usa su propia sintaxis «fácil», el Puppet DSL o Domain Specific Language. También puede utilizar módulos personalizados de Ruby.
  • Capacidades extensas de informes
  • Una gran biblioteca de módulos existentes en el Puppet y los módulos son de calidad mixta.
  • La interfaz de usuario web sólo está disponible en la versión empresarial
  • Arquitectura simple: Servidor Puppet y agentes Puppet
  • Puppet proporciona una solución de software eficiente y escalable para gestionar las configuraciones de un gran número de dispositivos.
  • Los administradores de sistemas utilizan Puppet para gestionar recursos informáticos como servidores físicos y virtuales y dispositivos de red.
  • Puppet se despliega utilizando una disposición cliente/servidor, donde el servidor o Puppet master gestiona uno o más nodos cliente.

¿Por qué Chef?

Chef es complejo, pero rápido y potente, es una plataforma de automatización que transforma la infraestructura en código. Muchas empresas de servicios Devops deciden adoptar Chef porque les permite tratar su sistema como un objeto, ya que la facilidad de uso conlleva una falta de robustez. Chef es similar a Puppet en términos de concepto general, en el sentido de que hay un servidor maestro y agentes instalados en nodos gestionados, pero difiere en el despliegue real con Soluciones Devops & Servicios.

  • Extensa sintaxis Ruby para las «recetas» de configuración: esto conlleva una mayor curva de aprendizaje, pero más potencia
  • La interfaz de usuario web es estándar y gratuita.
  • La arquitectura es más compleja: se necesita un servidor Chef, agentes Chef y una estación de trabajo Chef para la configuración y gestión.
  • Gran biblioteca de recetas existentes de calidad mixta.
  • Simple procedimiento de instalación multiplataforma y autocontenido.
  • Más rendimiento.

¿Por qué Ansible??

Ansible está escrito en Python y sólo requiere que las librerías de Python estén presentes en los servidores a configurar. No es compatible con Windows, pero es muy fácil, rápido y ligero y completamente diferente de Chef y Puppet. El punto central de Ansible es ser ágil y rápido, y no requerir la instalación de un agente de nodo. Así, Ansible realiza todas las funciones a través de SSH. Hay un montón de módulos disponibles que van desde el sistema, la base de datos a la gestión de la nube. Es relativamente fácil escribir tus propios módulos. Se soportan muchos lenguajes pero si estás familiarizado con python, no te llevará mucho tiempo crear tu propio módulo. Soportan todos los servicios principales de los principales proveedores de la nube como AWS, Rackspace, Digital Ocean, GCE, OpenStack, etc.

  • Ansible está basado en Python
  • El más joven de estas tres tecnologías, por lo tanto con la comunidad más pequeña
  • Trabaja sin agentes, pero tiene muchas dependencias de python una vez que empiezas con operaciones complejas
  • Arquitectura simple: todo lo que necesitas es una estación de trabajo Ansible y servidores SSH. No hay agentes ni servidor, pero tiene dependencias de Python en las máquinas cliente.
  • Interfaz de usuario web disponible, pero con características limitadas ya que se desarrolla por separado del proyecto principal.
  • Los scripts y módulos se pueden construir en cualquier lenguaje, se proporciona una biblioteca limitada
  • No hay soporte para Windows
  • La sintaxis más sencilla y la curva de aprendizaje más baja
  • Ansible puede utilizar Paramiko, una implementación de Python SSH2, o SSH estándar para las comunicaciones, pero también hay un modo de aceleración que permite una comunicación más rápida y a mayor escala.
  • Ansible tiene una colección de módulos que se pueden utilizar para gestionar varios sistemas, así como la infraestructura de la nube como Amazon EC2 y OpenStack

¿Puppet o Chef o Ansible?

  • Puppet y Chef ayudan a los desarrolladores y a las organizaciones orientadas al desarrollo, mientras que Ansible es mucho más flexible a las necesidades de los administradores de sistemas
  • La sencilla interfaz de Ansible y su usabilidad encajan perfectamente en la psicología del administrador de sistemas, y en una organización con muchos sistemas Linux y Unix, Ansible es rápido y fácil de ejecutar comparativamente.
  • Puppet es el más maduro y conveniente de los tres desde el punto de vista de la usabilidad, sin embargo, un sólido conocimiento de Ruby es muy recomendable.
  • Puppet no es tan ágil como Ansible, y su configuración puede ser compleja a veces. Es la forma más segura para los entornos diversos, pero usted puede encontrar Ansible para ser un mejor ajuste en una infraestructura más grande o más similar.
  • Chef tiene un diseño muy estable y bien diseñado, y si bien no es hasta el nivel de Puppet en términos de características en bruto, es una solución muy capaz. Chef puede plantear la curva de aprendizaje más difícil para los administradores que carecen de experiencia de programación significativa, pero podría ser el ajuste más lógico para el desarrollo de la persona y la organización de desarrollo.

Deja una respuesta

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