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


Ont essayé de demander à la 3ème partie sur les différences clés entre Juju et marionnettes / chef. Les tierces parties ne connaissent pas trop Juju et ne peuvent pas le dire. Ils ont simplement déclaré que les autres avaient beaucoup d'élan et qu'il serait difficile de surmonter leur avance.

Est-ce que les plus proches de Juju seraient prêts à mettre en évidence les avantages de ce logiciel et pourquoi ils dépasseraient Puppet / Chef dans le domaine de la gestion de la configuration?


78
2017-07-12 20:27


origine




Réponses:


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

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

  • Juju orchestrates provisioning - juju garde la 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 nuages ​​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 apporter un charme Juju Charm Store; Ces charmes sont vérifiés et examinés par la communauté Juju.

Voici d'autres comparaisons faites par des internautes:


45
2017-07-12 23:15



La marionnette traite de la description des ressources, provisionnement des machines virtuelles, et modules de partage aussi. Pouvez-vous expliquer comment Juju le fait différemment ou mieux, ou résout un problème différent? - poolie
Ne connaissait pas le provisioner de nuage de marionnettes au moment de cette réponse. Les modules de marionnettes n'étaient pas espacés du dernier contrôle et présentaient donc des problèmes de partage pouvant nécessiter qu'un utilisateur modifie le code d'un module de marionnettes pour l'utiliser. - SpamapS
Il y a des espaces de noms dans la marionnette. Je n'ai pas beaucoup utilisé Puppet, mais je pense que les problèmes surviennent surtout lorsque deux modules essaient de gérer la même chose logique. Est-ce que Juju a un moyen systématique de prévenir cela? - poolie
Les espaces de noms de la marionnette ont récemment été modifiés pour faciliter le partage d’un module autonome de marionnettes. Dans le passé, il fallait l'équivalent de variables globales pour communiquer entre deux modules. Juju ne traite en aucune façon de la forme ou de la forme de l'instance, il ne s'agit que d'un facilitateur pour l'orchestration. - SpamapS
Salut @SpamapS, c'est à propos de votre deuxième point (aka Juju orchestrate provisionnement). Dans la marionnette, nous pouvons définir des relations en utilisant "require", "notify", etc. Ne pouvons-nous pas simplement utiliser ces constructions pour le provisionnement d'orchestration? Ou Juju fournit un niveau différent de sémantique d’orchestration? - Denis Weerasiri


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

Je ne sais pas juju terriblement bien, mais d'après ce que je peux dire, ils sont quelque peu assis à différents niveaux. Puppet est très doué pour gérer les comportements et les capacités des machines, alors que juju semble avant tout dédié à parler de jeux de machines et explique en grande partie comment faire en sorte que les machines se comportent comme des scripts externes.

Notre stratégie avec Puppet est de construire la meilleure pile à partir de la base, tandis que juju semble être une couche spécifique de la pile et laisser d'autres couches à d'autres outils. Ainsi, même si vous pouvez résoudre tout le problème avec Puppet (bien que parfois avec un peu plus de travail que vous ne le souhaiteriez), vous devrez intégrer juju à d'autres outils pour obtenir beaucoup de résultats.

Vraiment, juju semble être une version sur site de CloudFormation d'Amazon, mais sans le graphique et autres. Donc, utilisable avec Puppet, etc., mais pas en remplacement.


31
2017-10-14 17:00



Je ne sais pas si le mot d'ordre est le bon mot ici. C'est comme dire que les paquets construisent le logiciel à autotools / scons / setup.py Si les paquets essayaient de faire chaque étape de chaque construction, nous n'aurions aucun paquet! - SpamapS


Voici une autre idée de la manière dont Juju s'intègre aux autres outils d'automatisation:

Je suis responsable de la stratégie 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 de marionnettes existants ou vos reçus de chef.

Alors, c'est quoi Juju? Juju vous permet de déployer, d'intégrer et d'adapter instantanément votre pile / services / applications informatiques. L'informatique instantanée gagne sans douleur. Soit via la ligne de commande ou l'interface graphique.

Ainsi, Juju est plus proche de l'outil PaaS que de l'outil Devops car vous pouvez construire votre cloud (Juju est l'installateur OpenStack par défaut de Canonical), l'infrastructure qui le recouvre (serveurs web / app / db, Hadoop, MongoDB, etc.) Juju permet de déployer et d’intégrer immédiatement les applications (la relation entre Wordpress et MySQL configurera automatiquement les tables et les données Wordpress 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 vous bénéficiez des avantages du déploiement, de l'intégration et de la mise à l'échelle instantanés. Considérez-le comme un PaaS ou FlexiPaaS flexible qui déploie, intègre et met à l'échelle instantanément vos services logiciels sans être limité ou bloqué.

La source - Attention: login requis.


7
2017-09-24 12:42





En termes simples, juju encapsule la découverte de services, un magasin de valeurs clés et la gestion de la configuration. La marionnette / chef cuisinier, etc. sont de simples config management.

Juju est basé sur les événements et utilise un "nœud bootstrap" central pour suivre et orchestrer les événements. La marionnette et le chef peuvent être faits pour apparaître sur la base d’un événement, mais en général, il suffit d’exécuter le travail correspondant sur un calendrier.

Cependant, vous ne pouvez pas exécuter juju dans un état distribué ou sans agent, et cela est possible avec la plupart des systèmes de gestion de configuration.

Pour la plupart des marionnettes, etc. sont des langages spécifiques à un domaine, tandis que le juju est un système et non une langue.


2