¿Cuál es la diferencia entre Juju y Puppet / Chef?

78

He intentado preguntar a un tercero sobre las diferencias clave entre Juju y Puppet / Chef. Los terceros no están muy familiarizados con Juju y no pudieron decirlo. Simplemente declararon que los otros tienen mucho impulso, y sería difícil superar su liderazgo.

¿Los más cercanos a Juju estarían dispuestos a destacar las ventajas de este software, y por qué rebasará a Puppet / Chef en el ámbito de la administración de configuración?

    
pregunta mark 12.07.2011 - 22:27

4 respuestas

45

Mark, esta es una gran pregunta, y fue la primera pregunta que hice cuando alguien me contó sobre Juju. Estas son algunas de las grandes diferencias.

  • Juju encapsula servicios: un amuleto define todas las formas en que el servicio necesita exponer o consumir datos de configuración hacia / desde otros servicios. Cómo es un encanto ese es el negocio del encanto. Puede usar cualquier herramienta desde los scripts de shell hasta Chef en modo solo, para hacer eso.

  • Juju orquesta el aprovisionamiento: juju realiza un seguimiento de los recursos que tiene disponibles y puede agregarlos o eliminarlos según sea necesario. Actualmente estos recursos son máquinas AWS EC2, nubes OpenStack (como HP Cloud), Microsoft Azure, Joyent, máquinas bare metal a través de MAAS y un proveedor local LXC / KVM.

  • Juju hace que compartir sea fácil: cualquiera puede contribuir con un encanto a la Tienda Juju Charm ; estos encantos son examinados y revisados ​​por la comunidad Juju.

Estas son algunas otras comparaciones que las personas han hecho en toda la web:

respondido por el SpamapS 13.07.2011 - 01:15
31

(Descargo de responsabilidad: soy el fundador de Puppet y CEO de Puppet Labs)

No sé juju terriblemente bien, pero por lo que puedo decir, de alguna manera se sientan en diferentes capas. Puppet es excelente en la gestión de los comportamientos y las capacidades de las máquinas, mientras que juju parece dedicado principalmente a hablar de conjuntos de máquinas y en gran medida hace que las máquinas se comporten de forma específica con herramientas externas como Puppet o scripts de shell.

Nuestra estrategia con Puppet es construir la mejor pila desde cero, mientras que juju parece ser una capa específica de la pila y dejar otras capas a otras herramientas. Por lo tanto, aunque puede resolver todo el problema con Puppet (aunque a veces con un poco más de trabajo del que le gustaría), necesitará integrar juju con otras herramientas para hacer mucho más.

De verdad, juju parece una versión local de CloudFormation de Amazon, aunque sin el gráfico y tal. Entonces, se puede usar con Puppet, etc., pero no es un reemplazo para él.

    
respondido por el Luke Kanies 14.10.2011 - 19:00
7

Aquí hay otra visión de cómo Juju se adapta a otras herramientas de automatización:

  

Soy responsable de Cloud Strategy en Canonical, la compañía detrás de Ubuntu y Juju. Juju no es un competidor de Puppet o Chef. Juju puede instalar Puppet o Chef y, dentro de un Charm, el encapsulado de un servicio de Juju, puede llamar a los módulos existentes de Puppet o a los recibos de Chef.

     

Entonces, ¿qué es Juju? Juju le permite implementar, integrar y escalar instantáneamente su pila / servicios / aplicaciones de TI. Las ganancias instantáneas de TI sin los dolores. Ya sea a través de la línea de comando o la GUI.

     

Entonces Juju está más cerca de PaaS que de la herramienta Devops, ya que puedes construir tu nube (Juju es el instalador de OpenStack predeterminado de Canonical), la infraestructura que va encima (servidores web / app / db, Hadoop, MongoDB, etc. ) pero lo más destacable es que Juju permite que las aplicaciones se implementen y se integren de inmediato (la relación adicional entre Wordpress y MySQL configurará automáticamente tablas y datos de Wordpress dentro de MySQL).

     

Además, los servidores de aplicaciones (java, php, node.js, scala, etc.) pueden funcionar junto con el control de versiones, por lo que es posible la implementación y escalado automático de sus aplicaciones. Por lo tanto, a diferencia de PaaS, no está limitado a una pila de software específica, sino que aún obtiene las ventajas inmediatas de implementación, integración y escalabilidad. Piense en ello como un PaaS o FlexiPaaS flexible que despliega, escala y escala sus servicios de software de forma instantánea sin limitaciones ni restricciones.

Source - Advertencia: se requiere iniciar sesión.

    
respondido por el Jorge Castro 30.04.2014 - 23:14
2

En términos simples, juju encapsula el descubrimiento de servicios, un almacén de valores clave y la administración de la configuración. Puppet / chef, etc. son pura gestión de configuración.

Juju se basa en eventos y utiliza un "nodo de arranque" central para realizar un seguimiento y organizar los eventos. Se puede hacer que Puppet y chef aparezcan basados ​​en eventos, sin embargo, normalmente se trata de ejecutar el trabajo relevante según un cronograma.

Afaik, no se puede ejecutar juju en un estado distribuido o sin agente y esto es posible con la mayoría de los sistemas de administración de configuración.

En su mayor parte, títeres, etc. son lenguajes específicos del dominio, mientras que juju es un sistema, no un idioma.

    
respondido por el J0hnG4lt 24.09.2014 - 14:42

Lea otras preguntas en las etiquetas