Puppet vs Chef


#1

It may be taking my life in my hands, especially as I’m known to
favour Puppet, but I thought I’d share this blog post with you:

http://bitfieldconsulting.com/puppet-vs-chef

The subtitle is ‘10 reasons why Puppet wins’, but I should really add
’…for now’. The 10 areas that I’ve mentioned are things which I
really think Chef could make progress in, and make it a more
compelling choice for devs and sysadmins looking at introducing
configuration management. I’m a pragmatist, not a dogmatist, and while
I think Puppet is still on top, I’m happy to see alternatives
springing up and innovation happening. Monopolies are generally bad,
at least for their customers.

I’d be very interested to get your comments, especially if you are an
enthusiastic Chef fan and want to say why.

Regards,
John


Bitfield Consulting: we make software that makes things work
http://bitfieldconsulting.com/


#2

On Wed, Jan 13, 2010 at 6:32 AM, John Arundel
john@bitfieldconsulting.com wrote:

It may be taking my life in my hands, especially as I’m known to
favour Puppet, but I thought I’d share this blog post with you:

http://bitfieldconsulting.com/puppet-vs-chef

The subtitle is ‘10 reasons why Puppet wins’, but I should really add
’…for now’. The 10 areas that I’ve mentioned are things which I
really think Chef could make progress in, and make it a more
compelling choice for devs and sysadmins looking at introducing
configuration management. I’m a pragmatist, not a dogmatist, and while
I think Puppet is still on top, I’m happy to see alternatives
springing up and innovation happening. Monopolies are generally bad,
at least for their customers.

I’d be very interested to get your comments, especially if you are an
enthusiastic Chef fan and want to say why.

John, thanks for being such a stalwart member of the bourgeoning
configuration management community we all share. I hope you stick
around and meet some of the folks who work with, and use, Chef every
day.

I posted some comments on your blog, which I hope you’ll find useful.

If there is anything I, or the chef community, can do to help you
understand how Chef works, let me know.

Best,
Adam


Opscode, Inc.
Adam Jacob, CTO
T: (206) 508-7449 E: adam@opscode.com


#3

On Wed, Jan 13, 2010 at 5:18 PM, Adam Jacob adam@opscode.com wrote:

On Wed, Jan 13, 2010 at 6:32 AM, John Arundel
john@bitfieldconsulting.com wrote:

It may be taking my life in my hands, especially as I’m known to
favour Puppet, but I thought I’d share this blog post with you:

http://bitfieldconsulting.com/puppet-vs-chef

The subtitle is ‘10 reasons why Puppet wins’, but I should really add
’…for now’. The 10 areas that I’ve mentioned are things which I
really think Chef could make progress in, and make it a more
compelling choice for devs and sysadmins looking at introducing
configuration management. I’m a pragmatist, not a dogmatist, and while
I think Puppet is still on top, I’m happy to see alternatives
springing up and innovation happening. Monopolies are generally bad,
at least for their customers.

I’d be very interested to get your comments, especially if you are an
enthusiastic Chef fan and want to say why.

John, thanks for being such a stalwart member of the bourgeoning
configuration management community we all share. I hope you stick
around and meet some of the folks who work with, and use, Chef every
day.

I posted some comments on your blog, which I hope you’ll find useful.

If there is anything I, or the chef community, can do to help you
understand how Chef works, let me know.

Nice post, good points made there Adam.

I’m a relative Chef newbie, but I came across Puppet and Chef at the same
time.

I have got to honestly say that the internal DSL of Puppet turned me off
(just in the same way cfengine did) and that’s one of the main reasons we
decided to stick with Chef.

I can’t say anything about scaling or developer base etc… but I will say
that the community has been first rate when it’s come to resolving issues
I’ve had. One of the best open-source communities I’ve come across actually.

Docs are nice though :wink:

Joel


$ echo “kpfmAdpoofdufevq/dp/vl” | perl -pe ‘s/(.)/chr(ord($1)-1)/ge’


#4

On Wed, Jan 13, 2010 at 5:18 PM, Adam Jacob adam@opscode.com wrote:

John, thanks for being such a stalwart member of the bourgeoning
configuration management community we all share. I hope you stick
around and meet some of the folks who work with, and use, Chef every
day.

I posted some comments on your blog, which I hope you’ll find useful.

Thanks for the comments - and to everyone else who’s contributed, it’s
been really useful. I can see that my take on Chef is a little out of
date, and I’ll happily change any inaccuracies in the article.

By the way, it was always my intention to write a follow-up piece
called something like ‘10 Great Things About Chef’ - presenting the
flipside of some of the arguments I’ve made here (some people prefer
Ruby to a weird DSL that Luke made up, for example). Also, things Chef
can do that Puppet can’t. If anyone wants to email me with points for
this article, I’ll be very pleased to hear from you :slight_smile:

Regards,
J

Bitfield Consulting: we make software that makes things work
http://bitfieldconsulting.com/


#5

By the way, it was always my intention to write a follow-up piece
called something like ‘10 Great Things About Chef’ - presenting the
flipside of some of the arguments I’ve made here (some people prefer
Ruby to a weird DSL that Luke made up, for example). Also, things Chef
can do that Puppet can’t. If anyone wants to email me with points for
this article, I’ll be very pleased to hear from you :slight_smile:

You may also want to write an article about automateit. It’s pretty
different than puppet and is sort of like chef solo but like chef it’s
"just ruby". Unlike chef it imposes no structure on you, it’s super
lightweight, it has no server (you have to figure out how you are
going to get your code to the machine yourself).

I quite like it. Even if you don’t want to use it for full blown
systems management it’s an excellent “sanity check” tool to make sure
your application is properly setup and the dependencies are fully met.


#6

On Wed, Jan 13, 2010 at 12:03 PM, Tim Uckun timuckun@gmail.com wrote:

You may also want to write an article about automateit. It’s pretty
different than puppet and is sort of like chef solo but like chef it’s
"just ruby". Unlike chef it imposes no structure on you, it’s super
lightweight, it has no server (you have to figure out how you are
going to get your code to the machine yourself).

I quite like it. Even if you don’t want to use it for full blown
systems management it’s an excellent “sanity check” tool to make sure
your application is properly setup and the dependencies are fully met.

I recently added Ohai and Chef support to AutomateIT as well, so you
can use Chef resources and Ohai facts in your AutomateIT recipes if
you want. (Not sure what the status of merging that stuff is, I should
ping Igal)

It’s cool sauce.

Adam


Opscode, Inc.
Adam Jacob, CTO
T: (206) 508-7449 E: adam@opscode.com


#7

I recently added Ohai and Chef support to AutomateIT as well, so you
can use Chef resources and Ohai facts in your AutomateIT recipes if
you want. (Not sure what the status of merging that stuff is, I should
ping Igal)

Interesting because I did the same thing with facter and automateit.
It was pretty trivial of course.

My automateit setup ended up being very different than the "default"
setup but that’s one of the great things about automateit being “just
ruby”. You can use all the ruby goodness.

One thing you might want to do (if the licenses allow it) is to add
some of the text editing power of automateit to chef (or puppet) and
or to add some of the “bundles” or “packages” concepts to automateit.
IMHO that would be a pretty nice system. I think that’s my next step
in playing with automateit. It would be nice to be able to share a
directory with somebody knowing it’s fully self contained.

I read some of the comments on the blog entry and I think the
comparison between sysadmins and programmers are pretty valid. If you
are a ruby programmer you will probably find it frustrating to deal
with the puppet DSL eventually.