Chef vs puppet

+3 votes
Deploy, configure and manage servers . Which is suited the best for this  - chef or puppet ?
I am personally more comfortable with chef as I really like the language ruby !
Aug 11, 2018 in Chef by Kalgi
• 52,360 points

4 answers to this question.

0 votes
I would prefer chef as well, puppet dsl  is damn difficult
answered Aug 11, 2018 by Hannah
• 18,570 points
0 votes
Why do you want to choose either chef or puppet? Why not Ansible? Ansible is better than chef and puppet in many metrics like Availability, Scalability, Management etc.

For the complete comparison visit:
answered Aug 12, 2018 by digger
• 26,740 points
0 votes

If you prefer a simple, declarative language then Puppet is better for you and you might find Chef too risky and too hard to learn. But once you start using Chef's developer kit Knife plugin architecture then you'd not want to go back to puppet.

answered Aug 12, 2018 by slayer
• 29,350 points
0 votes

Both chef and puppet have their own advantages and disadvantages, both of them are good in their own ways.

I'm listing down pros and cons for both of them, can use according to your requirement.


  • Rich collection of modules and configuration recipes.
  • Code-driven approach gives you more control and flexibility over your configurations.
  • Being centered around Git gives it strong version control capabilities.
  • ‘Knife’ tool (which uses SSH for deploying agents from workstation) eases installation burdens
  • The learning curve is steep if you’re not already familiar with Ruby and procedural coding.
  • It’s not a simple tool, which can lead to large code bases and complicated environments.
  • Doesn’t support push functionality.


  • Well-established support community through Puppet Labs.
  • It has the most mature interface and runs on nearly every OS.
  • Simple installation and initial setup.
  • Most complete Web UI in this space.
  • Strong reporting capabilities.
  • For more advanced tasks, you will need to use the CLI, which is Ruby-based (meaning you’ll have to understand Ruby).
  • Support for pure-Ruby versions (rather than those using Puppet’s customized DSL) is being scaled back.
  • Because of the DSL and a design that does not focus on simplicity, the Puppet code base can grow large, unwieldy, and hard to pick up for new people in your organization at higher scale.
  • Model-driven approach means less control compared to code-driven approaches.
answered Aug 14, 2018 by Sahil

Related Questions In Chef

+1 vote
2 answers

Unable To Create a Chef Node "ChefNode2"

Try giving the password to access your ...READ MORE

answered Oct 16, 2018 in Chef by Kalgi
• 52,360 points
0 votes
1 answer

How do I run chef client?

You've kinda answered your own question there. ...READ MORE

answered Jun 14, 2018 in Chef by ajs3033
• 7,300 points
0 votes
1 answer

Long running chef-client executions

You can try the following steps. Chef Server ...READ MORE

answered Jun 21, 2018 in Chef by shubham
• 7,340 points
+2 votes
3 answers

Using attributes in Chef

There are 6 different types of attributes: default: A default attribute ...READ MORE

answered Oct 23, 2018 in Chef by Aditya
0 votes
1 answer

How do I Force push a recipe to the end of run_list Iin Chef?

Here is a concept which you can ...READ MORE

answered Aug 7, 2018 in Chef by Damon Salvatore
• 5,980 points
+15 votes
2 answers

Git management technique when there are multiple customers and need multiple customization?

Consider this - In 'extended' Git-Flow, (Git-Multi-Flow, ...READ MORE

answered Mar 27, 2018 in DevOps & Agile by DragonLord999
• 8,450 points
+2 votes
1 answer
+5 votes
2 answers
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP