back

by stevekemp·13y ago·view on hn ↗
> needs to learn to debug and battle something like chef when the imperative scripting approach is simpler and more direct

The biggest difference is, as the previous replies hinted at, Chef/Puppet/CFengine will each run "constantly" checking the state of the system against their rules.

With your fabric-approach you can only cause changes to happen when you're in front of the computer are you run "fab apply", "fab apt-get-upgrade", etc.

FWIW I also use a simpler alternative, recently documented, introduced, and explored here:

http://www.steve.org.uk/Software/slaughter/guide/

My system also relies on manual re-runs of the "slaughter" tool, but I schedule that with cron.

1 comments
Additionally these tools can take a host in an unknown state and turn it into what you want.
With the obvious caveat that you must have written the rules/policies/recipes for that to happen.

(I've seen some cfengine repositories, for example, that assume Apache is present and just start tweaking the configuration files. If you're doing it properly you'd want to define a rule initially "install apache". That's why it is often instructive to test out your rules on a pristine/virgin installation of your preferred distribution to see that it works from start to finish.)