use cases
can manage a group of machines from a single machine
- configuration management(chef, puppet): provision and manage servers, cloud, virtual and physical, ensure the listed packages are installed
- run automated backups
- deploy applications(capistrano): compile, deploy, restart servers
- orchestration: multiple servers have different functions and start order
working over SSH uses YAML