DevOps, uma filosofia de design que combina desenvolvimento de software e operações de tecnologia da informação, tem uma vasta seleção de ferramentas para escolher. Chef e Puppet são duas das ferramentas DevOps mais populares que existem, mas a grande questão que surge é: qual opção é a melhor para você?
Queremos ajudar os designers de DevOps a tomar uma decisão bem informada. Para isso, apresentamos este artigo, que descreve as diferenças e semelhanças das duas ferramentas de gerenciamento de configuração. Existem muitos artigos por aí que fazem esses tipos de comparações, caso queira fazer mais pesquisas. Mas, independentemente de quanta pesquisa você decida fazer, quando terminar este artigo, você certamente terá uma ideia melhor de qual dessas duas ferramentas específicas é mais adequada para sua situação específica.
Então, vamos mergulhar direto no Chef vs. Puppet!
Saiba tudo sobre a necessidade da nuvem no DevOps com o DevOps Engineer Certification Training Curso . Inscreva-se agora.
O que é Chef?
Para citar os designers, Chef é “… uma plataforma de automação poderosa que transforma infraestrutura em código. Esteja você operando na nuvem, local ou em um ambiente híbrido, o Chef automatiza como a infraestrutura é configurada, implantada e gerenciada em sua rede, independentemente do tamanho. ”
Um chef é uma configuração de nuvem de código aberto que converte as tarefas de administração do sistema em reutilizáveis definições, também conhecidas como livros de receitas e receitas, por isso é chamado de Chef. Faz sentido, não?
O Chef é executado em uma combinação sólida de plataformas, incluindo Windows; distribuições de Linux para empresas; AIX; FreeBSD; Solaris; Cisco IO; e Nexus. Além disso, o Chef também oferece suporte a plataformas de nuvem, incluindo Amazon Web Services (AWS),
Google Cloud Platform, OpenStack, IBM Bluemix, HPE Cloud, Microsoft Azure, VMware vRealize Automation e Rackspace.
O que é Puppet?
De acordo com o site do designer, Puppet é uma ferramenta de gerenciamento de sistemas de código aberto criada para centralizar e automatizar o gerenciamento de configuração. Inclui sua própria linguagem declarativa para descrever a configuração do sistema.
O Puppet é executado nas seguintes plataformas: Red Hat Enterprise Linux (e derivados), SUSE Linux Enterprise Server, Debian, Ubuntu, Fedora, Microsoft Windows (sistema operacional de servidor), Microsoft Windows (sistema operacional de consumidor) 10 Enterprise 7, 8, 10 , macOS 10.12 Sierra, 10.13 High Sierra.
O Puppet e seus pré-requisitos foram supostamente executados nas seguintes plataformas, embora o Puppet não forneça pacotes de código aberto oficiais ou realize testes automatizados:
Outro Linux: Gentoo Linux, Mandriva Corporate Server 4, Arch Linux
Outro Unix: Oracle Solaris versão 10 e superior, AIX versão 6.1 e superior, FreeBSD 4.7 e superior, OpenBSD 4.1 e superior, HP-UX.
Como o Puppet e o Chef se comparam?
Agora que temos uma ideia de onde vem cada uma dessas ferramentas, como elas se comparam? Eles são mais semelhantes ou diferentes e o que é melhor para você?
Obteremos nossas respostas analisando as ferramentas com base em algumas características importantes:
- Disponibilidade: neste contexto, a disponibilidade é definida como a acessibilidade das ferramentas durante interrupções de serviço não programadas. Se o servidor principal do Chef cair, um servidor de backup assumirá o controle. O Puppet incorpora uma arquitetura multimestre, então, se o mestre ativo estiver inativo, há outro mestre para substituí-lo.
- Termos e conceitos: como os gerentes de configuração abstraem os arquivos de configuração, é importante se familiarizar com os termos exclusivos de cada ferramenta. O chef coloca você trabalhando com livros de receitas e receitas, enquanto o Puppet trabalha com manifestos e módulos. Receitas e manifestos, como regra, descrevem conceitos individuais, enquanto livros de receitas e receitas descrevem conceitos mais gerais.
- <✓Enterpris e Custo: Chef Automate tem uma taxa anual de $ 137 por nó, e esse preço oferece tudo o que você precisa para construir e implantar. Os preços dos fantoches variam de $ 112 por nó/ano se você escolher o plano de suporte padrão, até $ 199 por nó/ano de agrupamento no plano de suporte premium.
O que eles têm em comum
Chega de diferenças. O que essas duas ferramentas têm em comum?
- A configuração: Chef funciona com uma arquitetura cliente-mestre, com o servidor em execução na máquina mestre, enquanto o cliente é executado como um agente em cada máquina cliente. O Chef também inclui um componente adicional chamado “Estação de trabalho”, que lida com todas as configurações testadas, armazenando e enviando-as para o servidor central.
O Puppet também usa uma arquitetura de agente mestre. O servidor Puppet é executado na máquina mestre, enquanto os clientes Puppet são executados como um agente em cada máquina cliente. Além disso, há uma assinatura de certificado mestre de agente que ocorre depois.
Então, em outras palavras, as duas ferramentas são difíceis de instalar.
- Gerenciando as ferramentas: se você estiver usando o Chef, esteja pronto para acessar suas habilidades de programação porque você precisará delas para gerenciar as configurações com sucesso. O cliente do Chef extrai configurações do servidor, e essas configurações estão em Ruby DSL.
O Puppet não está menos envolvido, infelizmente. Ele usa sua própria linguagem chamada PuppetDSL (Domain Specific Language). O processo é orientado para administradores de sistema e apresenta execução remota não imediata.
Resumindo, ambas as ferramentas usam as configurações pull. Isso significa que os nós escravos extraem automaticamente as configurações do servidor central sem a necessidade de nenhum comando. Isso se opõe à configuração de push, onde todas as configurações presentes no servidor central são enviadas para os nós.
- Escalabilidade: tanto Chef quanto Puppet são facilmente escaláveis. Ambos podem lidar com uma grande infraestrutura, desde que o usuário forneça o endereço IP e o nome do host dos nós que precisam ser configurados. As ferramentas farão o resto.
- Linguagem de configuração: Chef usa Ruby DSL (Domain Specific Language), uma linguagem voltada para o desenvolvedor que é difícil de aprender. O Puppet emprega o PuppetDSL mencionado acima, outro difícil de aprender o idioma.
- Interoperabilidade: tanto o servidor Chef quanto o servidor Ruby funcionam apenas em uma máquina Linux/Unix. Chef Client e Workstation podem ser executados no Windows, e o Puppet Agent é compatível com Windows.
Os prós e contras de cada ferramenta
Para pintar uma imagem simples e direta, vamos dar uma olhada em uma amostra dos prós e contras de Chef vs. Puppet.
-
Puppet Pros:
- A interface do usuário completa
- Recursos poderosos de relatório
- Concede acesso a uma comunidade de suporte bem estabelecida
-
Contras do Puppet:
- O suporte para versões pré-Ruby está em processo de redução
- Sua abordagem orientada por modelo equivale a menos controle quando comparada às abordagens orientadas por código
- Tarefas avançadas exigem CLI e, como se baseiam em Ruby, você precisa estar familiarizado com o último
-
Chefs profissionais:
- Sua abordagem baseada em código significa maior flexibilidade e controle das configurações
- A ferramenta “Faca” diminui as dores de cabeça de instalação
- Oferece uma coleção extensa de receitas de configuração e módulo
-
Contras do Chef:
- Não suporta a funcionalidade push
- Se você ainda não conhece Ruby e codificação procedural, prepare-se para uma curva de aprendizado íngreme
- É uma ferramenta complexa
Em última análise, a ferramenta DevOps ideal depende das necessidades e objetivos da sua organização. Chef já existe há muito tempo quando comparado com a maioria das outras ferramentas DevOps e demonstra uma excelente capacidade para lidar com tarefas extremamente complexas. Se sua organização tem equipes e ambientes focados no desenvolvimento, o Chef é a escolha ideal.
O Puppet também existe há um bom tempo e foi implantado e bem testado em uma seleção de ambientes grandes e exigentes. Com base nisso, o Puppet é uma boa escolha para empresas maiores que preferem ferramentas bem testadas e duradouras.
A escolha final se resume a perceber o que é importante para o seu negócio.
Você está intrigado com DevOps?
Se toda essa conversa sobre DevOps e as melhores ferramentas para implementá-lo interessou a você, a Simplilearn pode ajudá-lo a aprender mais. Se você já está no DevOps e está apenas procurando melhorar, ou se você é um neófito que deseja entrar neste campo, há um programa ideal para você.
Talvez você queira aprender mais sobre o Puppet. O curso de treinamento da Puppet Foundation é perfeito para quem deseja automatizar sua infraestrutura de TI. O curso permite que você faça isso e muito mais, como implementar soluções escalonáveis para seu software e o sistema que executa esse software.
Disponível como solução de treinamento corporativo ou aprendizado individualizado, o curso consiste em quatro aulas ministradas em três horas e meia de treinamento especializado. Depois de concluir o curso, você receberá seu certificado que prova que domina os fundamentos do Puppet.
Se você deseja mergulhar totalmente no DevOps, o Simplilearn tem exatamente o que você precisa: o Curso de treinamento DevOps . O curso irá prepará-lo para uma carreira em DevOps, tornando-o um especialista nos princípios de desenvolvimento e implantação contínuos, automação de gerenciamento de configuração, colaboração entre equipes e agilidade de serviço de TI, usando ferramentas DevOps modernas como Git, Docker, Jenkins , Cucumber, Ansible, TeamCity e Nagios.
Disponível como uma solução de treinamento corporativa ou pelo Online Classroom Flexi-Pass, você terá os benefícios de 56 horas de aprendizado combinado em profundidade, duas dúzias de demonstrações ao vivo das ferramentas DevOps mais populares, mais de dez projetos do setor com laboratórios integrados e suporte 24 horas por dia, 7 dias por semana.
O programa consiste em oito lições altamente informativas e, depois de concluir o curso, você receberá sua certificação e estará pronto para enfrentar os desafios (e recompensas) do DevOps. Não importa o que você queira com DevOps, Simplilearn está aqui para ajudá-lo a dar o próximo passo. Verifique-os agora e aprimore seu conjunto de habilidades DevOps atual ou embarque em uma nova carreira!