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




Reply via email to