Tabla de contenidos
El conjunto de herramientas de DevOps SaltStack o Salt para abreviar se utiliza para el control y la supervisión automatizados de la infraestructura. La orquestación de recursos, contenedores y servidores virtuales en la nube es tan posible como la ejecución remota manual y la gestión de la configuración.
¿En qué entorno y cómo se posiciona Salt?
Desde el mantenimiento remoto y los procesos de actualización hasta las reacciones automatizadas ante eventos críticos: para muchas tareas recurrentes, los administradores del sistema tenían y aún tienen los scripts adecuados listos. Con el fin de simplificar la automatización, algunas herramientas han surgido a lo largo de los años, CFEngine ya en 1993.
SaltStack (en adelante Saltstack o Salt) es una solución de código abierto relativamente joven en esta tradición. El autor de la herramienta publicada en 2011 es Thomas S. Hatch, quien también es el principal desarrollador y CTO de Saltstack a partir de 2018. El fabricante describe las propiedades principales del software, que a veces también se denomina plataforma Saltstack o Saltstack, como:
- fácil de poner («listo para usar en segundos»)
- escalable («suficiente para administrar decenas de miles de servidores»)
- rápido («los controla y se comunica con ellos en milisegundos»)
Que es Salt
Salt se inició inicialmente como un sistema de ejecución remota como parte de la administración del sistema. Gracias a la estructura modular, inmediatamente recibió una extensión para la gestión de la configuración. Salt también se aplica con el término más joven «orquestación de infraestructura». El enfoque aquí es alejarse de la administración de sistemas clásica hacia la computación en la nube, DevOps e IaC (infraestructura como código).
Esta orientación también se refleja en la arquitectura de software de Salt. En la implementación original, Hatch se basó en ZeroMQ, una biblioteca de software liviana para la comunicación entre procesos basada en colas, especialmente en sistemas distribuidos que no requieren un intermediario de mensajes. Para mejorar la escalabilidad, Salt ha estado disponible desde 2014 con el Protocolo de transporte de eventos asincrónico confiable (RAET) especialmente desarrollado.
¿Qué tiene de especial Salt?
Salt se distingue de sistemas similares como Ansible, Chef o Puppet por su versatilidad. Se puede usar con o sin un agente (sin agente), un punto de venta único, puede funcionar en modo push and pull y ofrece un modo de verificación. El sistema también admite la autenticación mutua completa del servidor y el cliente.
La extensión Salt Configuration Automation utiliza una sintaxis YAML simple y plantillas Jinja para la definición imperativa o declarativa opcional de las configuraciones de software. Como alternativa a las recetas nativas de Chef y los manifiestos de marionetas, el motor de ejecución remota Salt también se puede utilizar para orquestar estos sistemas de gestión de configuración.
Salt gestiona varios sistemas compatibles con Unix y Unix (BSD, Linux), así como clientes MacOS y Windows. Salt Cloud ofrece interfaces para la configuración y control de numerosos sistemas en la nube, desde Amazon Web Services (AWS) hasta Xmission. La herramienta también se puede utilizar para nubes privadas y la automatización de entornos de servidores virtuales.
Orquestación impulsada por eventos
Salt no solo distribuye configuraciones prefabricadas, sino que también es capaz de reaccionar a eventos que los componentes internos del software y los sistemas distribuidos en la infraestructura administrada intercambian entre sí. Esto permite que el control del sistema sea autónomo en el sentido de los sistemas de autorreparación de CFEngine 2 y Autonomic Computing de IBM.
Disponibilidad, licencias y soporte
Saltstack utiliza un modelo freemium para la licencia de Salt. Aparte de la interfaz gráfica de usuario especial de Saltstack Enterprise, toda la funcionalidad también está contenida en Salt Open y disponible bajo la Licencia Apache 2.0. El software Salt de código abierto está disponible como paquetes probados para CentOS, Debian, RedHat (RHEL), Ubuntu y Windows.
Solo los clientes empresariales de Saltstack reciben asistencia comercial del fabricante. Los usuarios de la versión gratuita es una comunidad con muchos canales diferentes y el GitHub – repositorio para la participación activa en el software:
- Un espacio de trabajo Saltstack en Slack con grupos de trabajo sobre diferentes temas.
- Un canal de salt en freenode.net.
- Documentación en línea y blog en el sitio web del fabricante saltstack.com.
- Una lista de correo de Saltstack en Grupos de Google.
- Grupos de usuarios, en su mayoría organizados a través de Meetup.
- Un canal de Saltstack en YouTube, con demostraciones, presentaciones y casos de estudio.