When comparing SaltStack vs CFEngine, the Slant community recommends SaltStack for most people. In the question“What are the best configuration management tools?” SaltStack is ranked 4th while CFEngine is ranked 10th. The most important reason people chose SaltStack is:
Salt has an impressive welcoming and active community of users. There are user groups all over the world (Stockhom, Silicon Valley, Paris, and lots more), and an active [live chat.](http://saltstack.com/community/)
Ranked in these QuestionsQuestion Ranking
Pro Friendly and open community
Salt has an impressive welcoming and active community of users. There are user groups all over the world (Stockhom, Silicon Valley, Paris, and lots more), and an active live chat.
Pro Easy to read output
Salt's configuration files and setups are organized into YAML files. This makes them very easy to read and understand since YAML is considered very readable.
Pro Agentless via SSH is an option
Salt can run agentless just like ansible, allowing it to manage devices that you can't run an agent on (routers/switches, etc).
Pro Communicates through SSH or agents
Salt can communicate with clients through agents called minions, or through SSH.
With Salt you can have multiple layers of masters which result in an arrangement which distributes load and increases redundancy. Upstream masters can then control downstream masters and their minions.
Salt has support for Windows, Linux and Unix. Though it's fair to say that it's easier to use and it's more useful in Unix and Linux systems.
Pro Fast execution of commands
Salt works around a Salt master which has multiple agents (Salt minions) that have a persistent connection to the master. Because of this persistent connection, commands to the master are fast to reach the minions. Furthermore, the minions also save various data to the cache in order to make execution faster.
When compared against other tools to run the same actions, Salt almost always completes the actions in significantly less time.
The cfengine agent is written in C and has some of the fastest execution times around.
The decentralized architecture and innate speed allow cfengine to easily scale to thousands of nodes.
Very good security track record
Pro Helpful community
Although the community is not as big as puppets its very friendly and helpful to get thing's fixed or to point you in the right direction.
Pro Works great on low power devices and appliances
Because CFEngine is written in C it's not only ver fast and scaleable but it only uses a few MB of memory and it's easy on the CPU
Con Lacking ready to use modules like puppet
Because there is no ECOsystem like the puppetforge to share code you have to figure things out for yourself, which is good if you want to learn things but bad when you need to get things done.
Con Steep learning curve
It takes time and lots of practice to learn. Documentation is a bit lacking and if there are no examples to look to, it's that much more difficult to work with.