Puppet performance compared to CFEngine

You can use both tools for your use case. I don't know how powerful are your handhelds tablets, but you might be interested to know that:

  • CFEngine agent uses about 15 MB of RAM (never seen it going over 30 MB on any of my servers) (and it's been reported working on a Nokia N900 phone)
  • Puppet needs the Ruby stack to work, and according to documentation, Puppet will eat at least 80 MB of RAM

CFEngine 3 syntax is easier than CFEngine 2's. I wouldn't compare to use Puppet because I'm not a Ruby fan, so I would be biased :)


If you're looking for performance, Cfengine is the choice. In your case, you don't want to maintain a fully fledged Ruby+Puppet installation on handheld devices.

That Puppet is "easier to use" is just a myth created by the Puppet people, go ahead and try Cfengine (also have a look at the open promise body library).


Note that I have only used cfengine (v2) and not puppet/chef etc. All of these have pretty hefty learning curves to get your head fully wrapped around how to do things. Though these days there are many more examples on the net to look at.

That said, there has been at least one paper that claims that cfengine is more lightweight. This facebook page from cfengine refers to the paper that is actually in the usenix ;Login: magazine: http://www.facebook.com/note.php?note_id=319929967052 (I am not sure if non-usenix members can read that specific article in ;Login: yet)

Assuming your tablets and such have a reasonable amount of resources, I would think the resource impact would mainly come down to how often it gets run on the client/tablet. Once a day is quite a bit different than every 10 minutes!