hello,

----- "Michael DeHaan" <mich...@puppetlabs.com> wrote:


> > I actually tried Capistrano sometimes ago, didn't quite like it due 
> > to extensive Ruby use (which admittedly I don't have much expired
> > with). MCollective looks interesting, any how it compares to Func/Puppet?
> 
> It introduces a message bus and does groups a little differently.
> Volcane would be the best person to ask.

MCollective enables you to write agents on all your nodes and talk to 
them in an RPC fashion. It has more dependencies than some of the other 
tools but provides tight integration with puppet and other such tools 
meaning instead of host lists etc you can pick and choose
which machines to target your actions based on facts, classes, 
hostnames and regexes of all of those.

I'd say if you were looking for something to run just random cli commands 
with on all your machines then its the wrong choice but if you had to write 
code that interacts with your infrastructure and orchastrate cross machine 
states then its the right tool.

It's more programming heavy than some of the other tools though the RPC 
framework
is a bit like Rails in that it makes a lot of assumptions about how you build 
agents
and if you work within those assumption boundaries you can pull off some nice 
stuff
quite quickly.

It comes with agents package, service, puppet, iptables, exim and a few others.
Provides centralized auditing of all actions and in the next release very fine
grained authorization of all actions.  The auditing, authorization, security
encryption and even what serialization you use is all pluggable and replacable.

It really shines on larger infrastructures where you would want high 
concurrency.
And the payoff in its extra dependencies becomes really apparent in those larger
platforms though.

To see the kind of thing it enables you to write, the code in 
http://pastie.org/924350 
asks all machines their puppet status and keeps a count of which ones are 
currently
doing manifest runs.  Also note how that code supports selection of machines as 
in the
last part of the pastie where it only runs against machines with puppet class 
/dev_server/
and facter fact country=de.  Also see http://srt.ly/1b and http://srt.ly/p

I don't really want to do a point for point comparison between tools but any 
tool in this
space that is based on threads of parallel ssh will run into resourcing issues 
fairly soon. 
Similarly tools that are based on static hosts lists rather than the reality of 
what
is there now will also have issues.  MCollective doesn't use any of these modes 
of operation.

I specifically designed MCollective to allow quick discovery of resources, like 
here I have 
a report of a specific fact, the data is based on right now, not based on some 
DB or something:

$ mc-facts country
Report for fact: country                            

        de                                      found 23 times
        uk                                      found 9 times
        us                                      found 6 times
        za                                      found 2 times

Finished processing 40 hosts in 1002.30 ms

Building up queries of machines is easy:

$ mc-find-hosts -W /dev_server/ country=de
dev1.my.net
dev2.my.net
dev3.my.net

And these queries can be used to target requests.  It isn't a Puppet extension 
though the same
basic stuff will work with Chef/Ohai and with whatever else you can code really 
since the 
core provides extensive plugin abilities.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to