Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How does the free version of CFEngine http://cfengine.com/ compare to these two?


CFEngine has really great, comprehensive, reference documentation and really very poor, basically non-existent, tutorial or getting-started information. In order to actually get work done, you need to know a good bit more than how to install it and what the bundle syntax looks like. Puppet OTOH excels in this.

So while the tools are roughly equivalent in capability, if you're new to configuration management in general I think you'll have a lot better success getting started with Puppet.


I've been working on improving getting-started information for CFEngine 3. Check out www.verticalsysadmin.com/cfengine.htm - especially the "Getting Started with CFEngine 3" guide, and the "Guide to CFEngine Body of Knowledge".

I also hold live webinars to help people get started with CFEngine 3. If you need any help, I invite you to register for one (http://cfengine-quickstart.eventbrite.com/)


I'm grateful for your shameless self promotion. Your guide is certainly more engaging than the official tutorial.


Thank you for the positive feedback.

And I'll try to tone my next post better so it comes across as eager rather than shameless.

Yours truly, Aleksey


I'm curious about this as well. Does anyone have any experience with this? It would be interesting to hear someone's opinion since CFEngine seems to have been around for awhile.


I have used cfengine2 extensively, but not cfengine3. I've only read about cfengine3.

cfengine2 is a simple and effective mechanism for managing systems. However, cfengine2 has some issues. It has limited facilities for abstraction, resulting in a lot of code duplication. It has no built-in template engine, meaning that if you need to assemble a file based on various conditions you have to cobble it together with pattern matching and line-insertion. It's pretty easy to screw this up and lose idempotency. There's a 30-package-install limit per cfagent run, which fails silently. This is very annoying and requires some hacks to circumvent.

Also, in cfengine2 you have a configuration file that's basically <classname> : <list of hosts...>. If you approach more in terms of <hostname>: <list of classes>, it's a minor inconvenience.

Cfengine3 addresses some of these issues, but I haven't used it much so can't really give it a fair review.


CFEngine is the "granddaddy" of configuration management. It's been around something like 17 years at this point.

CFEngine spawned Puppet spawned Chef (rougly speaking)

I never got involved with BCfg2 or lcfg so I don't remember the history behind.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: