terraform
Infrastructure as Code
Ad hoc scripts
general purpose programming language
No particular structure enforced
Can become messy and unmaintainable when growing
Configuration management tools
Chef, Puppet, Ansible, SaltStack
Coding Conventions
Idempotence means code can be run multiple times
Server templating tools
Docker, Packer, Vagrant
used to create an Image of a Virtual Machine or Container
Key to the shift to immutable infrastructure
Server provisioning tools
Terraform, CloudFormation, OpenStack Heat are creating servers, databases, load balancers, etc.