LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Puppet, chef, cfengine questions (https://www.linuxquestions.org/questions/linux-newbie-8/puppet-chef-cfengine-questions-4175507319/)

sigint-ninja 06-07-2014 07:27 AM

Puppet, chef, cfengine questions
 
hi guys,

a friend of mine who works in the linux / unix sector says that Puppet, chef and cfengine are all the rage at the moment. Is this true? is it very useful and necessary to learn to handle these tools? which one is most used in the industry? which one is the best...is it something you can learn on your own? lastly, do you need to use a scripting language with these tools? i think he said i should start picking up a book on ruby.

any advice would be helpful

btmiller 06-07-2014 12:04 PM

If you're managing a large server infrastructure, having a configuration management tool like the ones mentioned is very helpful. It allows you to keep configurations of many machines in sync from a centralized location.

I use Puppet personally at work, but Chef and Cfengine are popular too. From what I recall reading, Cfengine used to be considered not as good from a performance/usability, but it's been rewritten completely within the last few years to fix those issues. Chef seems to be more targeted towards developers and DevOps types (the recipes are Ruby scripts, as opposed to being written in a custom language). Puppet, on the other hand, is more declaratory in nature; you tell it what you want a particular config to look like, and it scripts the necessary changes for you. I wouldn't say one is used any more than others. Puppet and CfEngine are well established, but Chef has been gaining a lot of mindshare, lately, from what I've seen.

You can learn these on your own, but for a small home set-up, you probably really don't need to. If you're looking to get a professional SysAdmin type job, though, they're extremely useful to know, especially as DevOps + the widespread use of cloud computing changes the traditional sysadmin job in many companies.

sigint-ninja 06-27-2014 10:38 AM

Thansk for the info...

szboardstretcher 06-27-2014 10:49 AM

I use chef and fabric quite a bit. I suggest chef over puppet, because the community version of puppet is made up of 8 different parts and isn't exactly easy to install, whereas chef 'just works.' For an idea of what it takes to install puppet, check out my install scripts at github. Chef takes 2 commands to install, and maybe 5 minutes of prep (setting the hostname mainly.)

Here are some of the cookbooks for chef I have made, most of them very simple. Ruby is easy to learn. https://github.com/boardstretcher/chef-cookbooks

And here are a couple of fabric files: https://github.com/boardstretcher/fab-files

If you create a lot of VM's and bring up a lot of servers, Chef is the way to go IMO. If you are just looking to run scripts on many servers then using fabric or rundeck will better fit your need.

btmiller 06-27-2014 08:32 PM

I use the community version of Puppet pretty extensively, and it wasn't that hard to get up and running with it. Just install the server bits on the server, the agent on the clients, and optionally something like Foreman for monitoring. I've been meaning to experiment with Chef a bit more, though. My best advice would be to try several CM systems and see which one suits you the best.

anomie 06-29-2014 10:32 AM

Quote:

Originally Posted by sigint-ninja
a friend of mine who works in the linux / unix sector says that Puppet, chef and cfengine are all the rage at the moment.

Automation (specifically: automating system configuration, in this context) is a big deal when you're managing 100+ servers. It's also important in environments where you need to be able to ensure and report on compliance with some standard (e.g. security checklists).

Quote:

Originally Posted by sigint-ninja
which one is most used in the industry? which one is the best...is it something you can learn on your own? lastly, do you need to use a scripting language with these tools? i think he said i should start picking up a book on ruby.

It's very difficult to know which of Puppet, Chef, or CFEngine are "most used", and "which one is the best" is entirely subjective. I use the Community (free beer) version of CFEngine, and I like it very much. The Enterprise version - from what I've read - comes with a web GUI front-end, so I believe you can get by without learning any programming. The Community version does require you to write/understand "promise files", which are composed in a pseudo-programming language. If you're already a programmer, it's simple. If not, it will require some study and experimentation.

anomie 06-29-2014 10:49 AM

As an addendum, I'd say automation is even a big deal when you're managing 10+ servers. ;)

vikas027 06-30-2014 01:56 AM

Quote:

Originally Posted by sigint-ninja (Post 5184024)
i think he said i should start picking up a book on ruby.

It is not necessary to learn ruby before deploying these. If you have some basic flow of any programming knowledge, it would be easy for you to pick it up.

I would suggest you to try both (chef and puppet), and choose the one you feel would be better for you.

Installation and basic configuration is breeze for either of these.

canussie 07-01-2014 12:36 PM

I have been using puppet for the last 4 years and before that cfengine. I don't know how I survived with them before, not only does it ensure configuration files remain consistent in a production environment but it also means when you build a system pushing out your standard config is much simpler.


All times are GMT -5. The time now is 04:28 AM.