Marionette Collective (MCollective) is an orchestration framework closely related to Puppet. Puppet excels at managing the state of your systems; however, the default 30-minute run interval of the Puppet agent makes it unsuitable for real-time command and control. MCollective addresses the need to execute commands in real time on a large number of systems in a novel and unique manner. MCollective takes advantage of message-passing technologies to handle communication between the nodes collectively. With MCollective, nodes are easily divided into collections based on information about the node itself rather than hostnames. The use of metadata means you don’t need to maintain long lists of hostnames or IP addresses. All systems in the collection can report information about themselves in real time on demand. Armed with this information, the overall population of machines can be divided into collectives. Procedures are carried out remotely against a collective rather than against a single machine.