Puppet knows how each operating system works
Puppet is capable of various administrative tasks (eg. create users, modify configuration files or install software) on different servers even if these servers run on different operating systems. By using a ‘provider’, generic tasks (e.g. MySQL pack installation) are translated into the real commands of the corresponding operating system (e.g. apt-get install mysql-server)
Internally, puppet uses its own declarative language to describe the configuration of a target system. Thus it easily rolls out configurations onto other systems, without needing to alter a single line in the Puppet metaconfiguration. Errors or problems can also be easier to understand later.
Administration of 5 or 10,000 servers
Whether in a small and heterogeneous network of workstations or in a large homogenous cluster environment, Puppet can perfectly perform the routine, time consuming administration tasks for you- so you can get on with the real projects.
Data collection included
Puppet uses Facter, a verification tool which automatically creates a profile of all the hosts managed by Puppet. The collected data is then used by Puppet scripts as available variables. This allows the system to be automatically classified (e.g. network, host, operating system or hardware) without needing to manually maintain this information.