40

I am looking at rolling out a new configuration management tool to replace our home-grown solution. The defacto standards are Chef and Puppet, both of which are Ruby-centric (though can be used to deploy non-Ruby environment, obviously). The vast majority of our development is done in Python and our in-house deployment tools make heavy use of Fabric. Therefore I am learning towards Salt since it too is Python, even though it is not as mature as Chef or Puppet. But since I'm not familiar enough with the options, I'm finding it difficult to compare apples-to-apples.

Other than the smaller community, would I be giving up anything signifcant by using Salt rather than Puppet/Chef?

Update

It's been six months since I posted this question. And despite it being closed, it's been viewed over 1,000 times so I thought I'd comment on my experiences.

I eventually decided on Puppet since it had a bigger community. However, it was an immensely frustrating experience, mainly due to the convoluted Puppet configuration syntax. Since I now had a frame of reference to compare the two, I recently took another look at Salt--I'm not going back. It is very, very cool. The things I like best:

  • Seamless integration of both push and pull configuration models. Puppet uses a pull model (node periodically polls server for updates) and has a sister component called Marionette for pushing changes. Both are important to me and I prefer how Salt works. Salt also executes much faster when you have a lot of nodes.

  • Configuration syntax uses YAML, which is just a simple text format that uses indentation and bullet points. You can also choose to use other configuration formats via template. This makes Salt about 10x easier to learn and maintain, in my experience.

  • Python-based. This was the biggest reason I started looking at Salt in the first place. It ended up being one of the more minor reasons I stayed. But if you're a Python shop like us, it makes it easier to develop Salt plugins.

jamieb
  • 3,387
  • 4
  • 24
  • 36
  • 2
    I think the main advantage is summed up for me at least, by the fact after reading your question title my first thought was "what's salt?". – Sirex Aug 08 '12 at 22:29
  • 4
    @Sirex: If you're not familiar with Salt then how could you expect to contribute to this discussion? – jamieb Aug 08 '12 at 22:31
  • 2
    I think Sirex was making more of a statement about the relative sizes of the communities. – cjc Aug 08 '12 at 22:33
  • 1
    You have seen http://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software? – Zoredache Aug 08 '12 at 22:42
  • 18
    thanks for updating the question. Personally, I find these types of questions constructive and I wish StackExchange allowed them. – MountainX Jun 25 '13 at 01:59
  • Why is this question closed. Other people could contributed and made this QA even better. – William Fleming Oct 29 '13 at 11:57

0 Answers0