web-dev-qa-db-fra.com

Quelle est la différence entre Juju et Puppet / Chef?

J'ai essayé de demander à une tierce partie quelles étaient les principales différences entre Juj et Puppet/Chef. Les tiers ne connaissent pas trop Juju et ne sauraient le dire. Ils ont simplement déclaré que les autres avaient beaucoup d'élan et qu'il serait difficile de dépasser leur avance.

Les personnes les plus proches de Juju seraient-elles disposées à mettre en évidence les avantages de ce logiciel et pourquoi il devancerait Puppet/Chef dans le domaine de la gestion de la configuration?

79
mark

Mark, c'est une excellente question et c'est la première que j'ai posée quand quelqu'un m'a parlé de Juju. Voici quelques unes des grandes différences.

  • Juju encapsule des services - un charme définit toutes les manières dont le service doit exposer ou utiliser les données de configuration vers/depuis d'autres services. Comment un charme est-ce l'affaire du charme. Pour ce faire, il peut utiliser n'importe quel outil, des scripts Shell à Chef en mode solo.

  • Juju orchestre le provisioning - juju garde une trace des ressources dont il dispose et peut les ajouter ou les supprimer si nécessaire. Actuellement, ces ressources sont des machines AWS EC2, des clouds OpenStack (comme HP Cloud), Microsoft Azure, Joyent, des machines nues via MAAS et un fournisseur local LXC/KVM.

  • Juju facilite le partage - tout le monde peut contribuer au charme de Juju Charm Store ; ces charmes sont examinés et évalués par les pairs de la communauté Juju.

Voici quelques autres comparaisons faites par les internautes:

47
SpamapS

(Disclaimer - Je suis le fondateur de Puppet et le PDG de Puppet Labs)

Je ne sais pas juj terriblement bien, mais d'après ce que je peux dire, ils sont assis à des niveaux différents. Puppet est doué pour la gestion des comportements et des capacités des machines elles-mêmes, tandis que juju semble principalement dédié aux ensembles de machines et explique en grande partie comment faire en sorte que les machines se comportent de manière spécifique aux outils externes tels que les scripts Puppet ou Shell.

Notre stratégie avec Puppet est de construire la meilleure pile en partant de zéro, tandis que juju semble être une couche spécifique de la pile et laisser les autres couches à d’autres outils. Ainsi, bien que vous puissiez résoudre tout le problème de Puppet (même si cela nécessite parfois un peu plus de travail que vous ne le souhaiteriez), vous devrez intégrer juju à d’autres outils pour obtenir beaucoup de travail.

Vraiment, juju semble être une version sur site de CloudFormation d'Amazon, bien que sans le graphique, etc. Donc, utilisable avec Puppet, etc., mais pas pour le remplacer.

32
Luke Kanies

Voici une autre interprétation de la manière dont Juju s’accorde avec d’autres outils d’automatisation:

Je suis responsable de la stratégie en matière de cloud chez Canonical, la société derrière Ubuntu et Juju. Juju n'est pas un concurrent de Puppet ou de Chef. Juju peut installer Puppet ou Chef et, à partir d'un charme, l'encapsulation d'un service par Juju, vous pouvez appeler vos modules Puppet existants ou vos reçus Chef.

Alors, qu'est-ce que Juju? Juju vous permet de déployer, d'intégrer et de mettre à l'échelle instantanément votre pile, vos services et vos applications informatiques. Instant IT gagne sans douleur. Soit via la ligne de commande ou l'interface graphique.

Donc, Juju est plus proche de PaaS que de Devops puisque vous pouvez construire votre nuage (Juju est le programme d'installation OpenStack par défaut de Canonical), l'infrastructure qui s'y superpose (serveurs web/app/db, Hadoop, MongoDB, etc.), mais la plupart Remarquablement, Juju permet aux applications d'être déployées et immédiatement intégrées (la relation d'ajout entre Wordpress et MySQL configurera automatiquement les tables Wordpress et les données dans MySQL).

Les serveurs d'applications (Java, php, node.js, scala, etc.) peuvent également fonctionner avec le contrôle de version, ce qui permet un déploiement et une mise à l'échelle automatiques de vos applications. Ainsi, contrairement à PaaS, vous n'êtes pas limité à une pile de logiciels spécifique, mais bénéficiez toujours des avantages d'un déploiement instantané, d'une intégration et d'une évolutivité. Considérez-le comme un PaaS ou un FlexiPaaS flexible qui déploie, intègre et fait évoluer instantanément vos services logiciels sans être limité ni bloqué.

Source - Attention: login requis.

8
Jorge Castro

En termes simples, juju encapsule la découverte de services, un magasin de valeurs de clé et la gestion de la configuration. Les marionnettes/chefs, etc. sont de la gestion de configuration pure.

Juju est basé sur les événements et utilise un "nœud d'amorçage" central pour suivre et orchestrer les événements. On peut faire en sorte que les marionnettes et les chefs apparaissent en fonction des événements. Toutefois, il s’agit généralement d’exécuter le travail correspondant selon un calendrier.

En résumé, vous ne pouvez pas exécuter juju dans un état distribué ou sans agent, ce qui est possible avec la plupart des systèmes de gestion de la configuration.

La plupart des marionnettes, etc., sont des langues spécifiques à un domaine, alors que juju est un système, pas une langue.

3
J0hnG4lt