apologies for the late reply, i was strictly AFK over the weekend :)
I don't view the procedural-vs-declarative style as much of an issue.
After all, you can be very procedural in puppet with a little extra
effort, by distributing shell scripts and using the exec resource. Chef
perhaps has a bit less of a 'safety-guard', but once you start going
down that road, it just boils down to ruby scripting instead of
bash/python/whatever. Furthermore, i'll argue that at some point, every
non-trivial (read: useful) deployment is going to grow complicated
enough to drive you to script configuration in a procedural way.
The difference which i found to be important was chef's more data-driven
approach to configuration. Chef has a nice hierarchical abstraction of
a network, with environments, roles, and nodes, and you can insert data
into these abstractions which chef's recipes can access. This is more
powerful than puppet's flat space of classes, and also enforces a
separation of data and code which makes your recipes cleaner and more
generic.
regarding managing more complicated abstractions (i'm guessing you are
thinking programmatic interfaces such as AWS, or perhaps special-purpose
devices such as load-balancers, firewalls, pdus, etc.), i have generally
not ventured too deep in this area, but my gut says i would be slightly
more comfortable using puppet's declarative approach. that is my gut
talking tho, and it has similar feelings about coke over pepsi, and red
vines over twizzlers :)
-Michael
On 8/3/12 5:42 PM, Nimret Sandhu wrote:
Hi Michael,
I'd be curious about your opinions with regards to the procedural vs
imperative aspects of chef vs puppet and especially as to how it
applies to managing abstractions or resources beyond the
package-file-service abstractions that puppet provides ( I haven't
used chef yet so I am more familiar with puppet). Others who have used
both - please feel free to chime in.
cheers,
--
Nimret Sandhu
http://www.nimret.org <http://www.nimret.org/>
On Fri, Aug 3, 2012 at 3:47 PM, Michael Frank
<[email protected] <mailto:[email protected]>> wrote:
If you guys can meet after work hours (and would find it useful),
i can give you some suggestions and anecdotes about my experiences
with puppet and chef. i've deployed chef on ~10 nodes in AWS, and
architected a 100 node roll-out of puppet on dedicated
infrastructure. in my current job i'm part of a team deploying
puppet to thousands of dedicated servers across multiple datacenters.
-Michael