====== Infrastructure as code / DevOps ====== ===== Paradigms ===== ==== Infrastructure as Code ==== Every change to a system should be done programmatically and saved in a code repository, so you can replay it when needed. You then also know what happened on your servers because there are no manual tasks done to them. ==== Pets vs. Cattle ==== There should be an automated deployment where you can quickly recover from disasters with backups and infrastructure as code, and doing lots of time intensive manual tasks on individual systems should be replaced by automated recovery.[(see also: [[http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/|The History of Pets vs Cattle and How to Use the Analogy Properly (Randy Bias, 2016)]])] ===== tools ===== * Puppet * [[bolt|Bolt]] – agentless puppet * [[https://www.ansible.com/|Ansible]] – Written in Python, by Red Hat * [[https://www.chef.io/products/chef-infra|Chef Infra]] – written in Ruby * Saltstack