Marioneta (software)


En informática , Puppet es una herramienta de administración de configuración de software que incluye su propio lenguaje declarativo para describir la configuración del sistema . Es una solución basada en modelos que requiere conocimientos de programación limitados para su uso. [3]

Puppet es producido por Puppet, Inc, fundada por Luke Kanies en 2005. Su producto principal, Puppet Enterprise, [4] es una versión patentada y de código cerrado de su software Puppet de código abierto. Utilizan el lenguaje declarativo de Puppet para administrar las etapas del ciclo de vida de la infraestructura de TI , incluido el aprovisionamiento , la aplicación de parches , la configuración y la administración del sistema operativo y los componentes de las aplicaciones en los centros de datos y las infraestructuras de la nube . [5]

Puppet utiliza un modelo de núcleo abierto ; su versión de software libre se lanzó bajo la versión 2 de la Licencia Pública General GNU (GPL) hasta la versión 2.7.0, [6] y versiones posteriores usan la Licencia Apache , mientras que Puppet Enterprise usa una licencia propietaria.

Puppet y Puppet Enterprise funcionan en varios sistemas similares a Unix (incluidos Linux , Solaris , BSD , Mac OS X , AIX , HP-UX ) y tienen soporte para Microsoft Windows . [7] [8] Puppet en sí está escrito en Ruby , mientras que Facter está escrito en C++ , y Puppet Server y Puppet DB están escritos en Clojure . [9]

Puppet está diseñado para gestionar declarativamente la configuración de sistemas tipo Unix y Microsoft Windows . El usuario describe los recursos del sistema y su estado, ya sea utilizando el lenguaje declarativo de Puppet o un Ruby DSL ( lenguaje específico del dominio ). Esta información se almacena en archivos llamados "manifiestos de marionetas". Puppet descubre la información del sistema a través de una utilidad llamada Facter y compila los manifiestos de Puppet en un catálogo específico del sistema que contiene recursos y dependencias de recursos, que se aplican a los sistemas de destino. A continuación, se informa de cualquier acción realizada por Puppet.

Puppet consiste en un lenguaje declarativo personalizado para describir la configuración del sistema, que puede aplicarse directamente en el sistema o compilarse en un catálogo y distribuirse al sistema de destino a través del paradigma cliente-servidor (usando una API REST ), y el agente usa system proveedores específicos para hacer cumplir el recurso especificado en los manifiestos. La capa de abstracción de recursos permite a los administradores describir la configuración en términos de alto nivel, como usuarios, servicios y paquetes, sin necesidad de especificar comandos específicos del sistema operativo (como rpm , yum , apt ).


Marioneta invocada manualmente en un cliente
Fundador de marionetas Luke Kanies