¿Qué herramienta de gestión de la configuración debo utilizar? Ansible en primer plano
La infraestructura de TI se traslada a la nube; proliferan las máquinas virtuales y los contenedores. Hay un aumento constante de la cantidad de aplicaciones activas, y todas ellas están alojadas en servidores. Los administradores de sistemas y los equipos de desarrollo de operaciones de hoy en día tienen que gestionar una enorme cantidad de servidores, muchos más que hace unos años.
Para hacer frente a este desafío técnico, se han desarrollado herramientas de gestión de la configuración (CM) y de ejecución remota (RE). Estas aplicaciones ayudan a los administradores de sistemas a mantener la visibilidad de su infraestructura de servidores y les permiten desplegar y tomar medidas a gran escala. Las herramientas CM y RE permiten ejecutar tareas en varios servidores a la vez y desplegar aplicaciones con un solo clic. Lo hacen mediante un proceso denominado infraestructura como código (IaC), en el que un entorno informático se representa a través de un lenguaje de programación.
Puppet, Ansible, Chef y SaltStack son los cuatro grandes en este espacio tecnológico. (Y todos ellos se pueden utilizar para desplegar KernelCare.) Aquí está la verdad sobre Ansible.
Lo bueno: Ligero y basado en Python
Lanzado por primera vez en 2012, y ahora propiedad de Red Hat, Ansible es de código abierto y está soportado por AnsibleWorks. La versión empresarial se llama Ansible Tower. Al igual que SaltStack, Ansible se creó como reacción a las deficiencias percibidas en los grandes éxitos Puppet y Chef. A diferencia de Puppet, que está desarrollado en Ruby, Ansible está desarrollado en Python.
- el lenguaje de programación más fácil de aprender, de más rápido crecimiento y más popular. A diferencia de Puppet, no hay presión para utilizar un lenguaje específico del dominio (DSL) nativo de la aplicación.
Esta flexibilidad es la principal ventaja de Ansible. Ansible es ligero, flexible y rápido de desplegar. Los gastos generales son bajos y la incorporación es muy sencilla. La instalación es sin agentes y no hay agentes ejecutándose en las máquinas cliente. Todas las funciones se realizan a través de SSH, y para configuraciones que no soportan SSH root, Ansible puede sudo como root. Para tareas más pequeñas, Ansible puede ejecutarse desde la CLI (interfaz de línea de comandos) sin necesidad de utilizar archivos de configuración. Las tareas de mayor envergadura pueden abordarse mediante la sintaxis YAML en archivos de configuración denominados playbooks. Ansible ofrece actualizaciones continuas sin tiempo de inactividad para aplicaciones multinivel en la nube.
Lo más notable es que los comandos CLI de Anisble pueden escribirse en prácticamente cualquier lenguaje de programación (mientras que Puppet, por ejemplo, tiene que estar en Ruby o en su DSL). (Estos comandos se distribuyen como módulos JSON universales.
Mediante módulos nativos, Ansible puede aprovisionar su infraestructura y conectarse a proveedores como AWS, VMWare y Azure.
Obtenga una prueba GRATUITA de 7 días con soporte de KernelCare
Ansible: Un producto más crudo
La interfaz de usuario de Ansible no satisface a todo el mundo. Una versión completa de la interfaz de usuario viene con Ansible Tower, pero no es tan suave como la interfaz de Puppet. La interfaz gráfica de usuario (GUI) es bastante cruda, y no siempre se sincroniza con la CLI. La gente a menudo tiene que sincronizar manualmente.
El sesgo hacia la orquestación sobre la gestión de la configuración significa que la sintaxis a través de componentes de secuencias de comandos puede variar. En entornos escalados, la comunicación SSH puede volverse lenta. Y aunque los agentes no son necesarios, el acceso root SSH sí lo es.
En términos más generales, Ansible es una empresa pequeña y no puede ofrecer el soporte ni la tranquilidad de un gigante como Puppet. El soporte es más limitado, y aunque Ansible tiene una comunidad global en crecimiento, todavía tiene una comunidad de desarrolladores y usuarios más pequeña que Puppet, y menos recursos para la resolución de problemas. En comparación con Puppet, la versión gratuita de Ansible (es decir, no Ansible Tower) es mucho menos robusta.
En general
Si te enfrentas a un despliegue muy complejo o a largo plazo, Ansible podría no ser la mejor opción. Puppet, más consolidada, se considera una opción más segura para conjuntos de máquinas grandes y fijos.
Pero Ansible es una opción fantástica para despliegues pequeños, rápidos y/o temporales. La ejecución remota es fácil, la configuración y el escalado son sencillos, y la incorporación es pan comido. Evitas el dolor de cabeza de gestionar certificados SSL de nodo, y gestionar un conjunto de servidores web es una experiencia más suave. Ansible está bien configurado para un entorno en el que las máquinas se vuelven a aprovisionar con regularidad. En general, Ansible es mejor en el aprovisionamiento de la infraestructura, y debe ser la opción de ir a los ingenieros de almacenamiento o de red.
Lea más resúmenes de soluciones del equipo de KernelCare aquí:
- ¿Qué herramienta de gestión de la configuración debo utilizar? Chef en primer plano
- ¿Qué herramienta de gestión de la configuración (CM) utilizar? Enfoque en SaltStack
- ¿Qué herramienta de gestión de la configuración debo utilizar? Puppet en primer plano
- ¿Qué solución de gestión de vulnerabilidades elegir? Enfoque en Qualys
- ¿Qué solución de gestión de vulnerabilidades elegir? Rapid7 en el punto de mira
