Qual é a diferença entre Juju e Puppet / Chef?

77

Já tentei perguntar a terceiros sobre as principais diferenças entre Juju e o Puppet / Chef. Terceiros não estão muito familiarizados com Juju e não poderiam dizer. Eles simplesmente afirmaram que os outros têm muito impulso, e seria difícil superar sua liderança.

Os mais próximos de Juju estariam dispostos a destacar as vantagens deste software e por que ele ultrapassará o Puppet / Chef na área de gerenciamento de configuração?

    
por mark 12.07.2011 / 22:27

4 respostas

44

Mark, essa é uma ótima pergunta, e foi a primeira que perguntei quando alguém me contou sobre Juju. Aqui estão algumas das grandes diferenças.

  • O Juju encapsula serviços - um encanto define todas as maneiras pelas quais o serviço precisa expor ou consumir dados de configuração de / para outros serviços. Como um encanto faz isso é o negócio do encanto. Ele pode usar qualquer ferramenta de scripts de shell para Chef em modo de solo, para fazer isso.

  • O Juju orquestra o provisionamento - o juju controla os recursos disponíveis e pode adicioná-los ou removê-los conforme necessário. Atualmente, esses recursos são máquinas AWS EC2, nuvens OpenStack (como HP Cloud), Microsoft Azure, Joyent, máquinas bare-metal via MAAS e um provedor local LXC / KVM.

  • O Juju facilita o compartilhamento - qualquer pessoa pode contribuir com um charme para a Juju Charm Store ; esses charmes são examinados e revisados por pares pela comunidade de Juju.

Veja algumas outras comparações que as pessoas fizeram na web:

por SpamapS 13.07.2011 / 01:15
30

(Isenção de responsabilidade - Eu sou o fundador do Puppet e CEO da Puppet Labs)

Eu não sei muito bem, mas pelo que eu posso dizer, eles se sentam em camadas diferentes. O Puppet é ótimo para gerenciar os comportamentos e capacidades das próprias máquinas, enquanto o juju parece dedicado principalmente a falar sobre conjuntos de máquinas e, principalmente, punts como fazer com que as máquinas se comportem de maneira específica em ferramentas externas como Puppet ou shell scripts.

Nossa estratégia com o Puppet é construir a melhor pilha do zero, enquanto o juju parece ser uma camada específica da pilha e deixar outras camadas para outras ferramentas. Assim, enquanto você pode resolver todo o problema com Puppet (embora às vezes com um pouco mais de trabalho do que você gostaria), você precisará integrar juju com outras ferramentas para fazer muito mais.

Realmente, o juju parece uma versão local do CloudFormation da Amazon, embora sem o gráfico e tal. Então, utilizável com Puppet etc., mas não um substituto para ele.

    
por Luke Kanies 14.10.2011 / 19:00
6

Aqui está outro exemplo sobre como o Juju se encaixa com outras ferramentas de automação:

  

Eu sou responsável pela Cloud Strategy na Canonical, a empresa por trás do Ubuntu e da Juju. Juju não é um concorrente do Puppet ou Chef. O Juju pode instalar o Puppet ou o Chef e, de dentro de um encanto, o encapsulamento de um serviço feito por Juju, você pode ligar para os seus módulos Puppet ou recibos do Chef.

     

Então, o que é Juju? O Juju permite implementar, integrar e dimensionar instantaneamente sua pilha / serviços / aplicativos de TI. A TI instantânea ganha sem as dores. Por linha de comando ou pela GUI.

     

Então Juju está mais próximo da PaaS do que da ferramenta Devops, pois você pode construir sua nuvem (Juju é o instalador padrão da OpenStack da Canonical), a infra-estrutura que acompanha (servidores web / app / db, Hadoop, MongoDB etc. ) mas, mais notavelmente, o Juju permite que aplicações sejam implementadas e imediatamente integradas (add-relation entre o Wordpress e o MySQL irá automaticamente configurar tabelas e dados do Wordpress dentro do MySQL).

     

Além disso, os servidores de aplicativos (java, php, node.js, scala etc.) podem funcionar em conjunto com o controle de versão, portanto, é possível a implantação e o dimensionamento automáticos de seus aplicativos. Portanto, ao contrário da PaaS, você não está limitado a uma pilha de software específica, mas ainda obtém as vantagens imediatas de implantação, integração e dimensionamento. Pense nisso como uma PaaS ou FlexiPaaS flexível que implanta instantaneamente, integra e dimensiona seus serviços de software sem estar limitado ou ser bloqueado.

Fonte - Aviso: login necessário.

    
por Jorge Castro 30.04.2014 / 23:14
1

Nos termos mais simples, o juju encapsula a descoberta de serviços, um armazenamento de valores chave e o gerenciamento de configurações. Puppet / chef etc são puro gerenciamento de configuração.

O Juju é baseado em eventos e usa um "nó de bootstrap" central para acompanhar e orquestrar eventos. O fantoche e o chef podem ser feitos para aparecer com base em eventos, no entanto, normalmente é apenas executar o trabalho relevante em um cronograma.

Afaik, você não pode executar o juju em um estado distribuído ou sem agente e isso é possível com a maioria dos sistemas de gerenciamento de configuração.

Na maior parte, puppet, etc, são linguagens específicas de domínio, enquanto juju é um sistema, não uma linguagem.

    
por J0hnG4lt 24.09.2014 / 14:42