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 |
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. |
Thansk for the info...
|
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. |
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.
|
Quote:
Quote:
|
As an addendum, I'd say automation is even a big deal when you're managing 10+ servers. ;)
|
Quote:
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. |
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. |