Ansible is a rather helpful tool for configuration management. It works over ssh, so you don't need to preinstall anything to the node itself. Very convenient.

When used in conjunction with tools such as Vagrant it really unveils its full potential. You can use the "Infrastructure as Code" paradigm. Written once - always works.

Ansible organizes it's playbooks into roles. Roles are later applied to an inventory. Inventory holds the servers that roles are applied to.