Server Automation Platform Cheatsheet


Introduction

"Cheatsheet" may not be the correct term for this, as this won't be a list of commands used in the mentioned server automation platforms, but rather a list of characteristics for each of them. This will be updated as I find more/new information.

Ansible

  • Built with Python
  • Instruction constructs are called "Playbooks"
  • Controls nodes through SSH
  • No agent mechanism

Chef

  • Built with Ruby and Erlang
  • Instruction constructs are called "Recipes"
  • Aggregated instruction constructs are called "Cookbooks"
  • Agent mechanism (but not a push model)
  • Impossible to do immediate deployment due to pull model

Puppet

  • Built with Ruby
  • Instruction constructs are called "Manifests"
  • Push model
  • Agent mechanism
  • Most prevalent server automation platform

Salt

  • Built with Ruby
  • Instruction constructs are called "States", which are YAML files
  • Push model
  • Agent mechanism (called "Minions", but can use SSH to control minions as well)
  • Most scalable due to masters being able to control masters