Puppet is a system for automating system administration tasks. You can find a brief introduction here.
Although it is difficult to get your head around Puppet, once you understand the architecture and get acquainted with the language you wish you learnt it earlier. Here are some material that will help you get up to speed with Puppet:
Books
Source Code
Documentation