DevOps
From Wiki
Infrastructure as Code Paradigm
Automate Everything
1. Redesign or reconfigure things so the task isn't necessary at all.
2. Implement automation that handles the task transparently, without anyone needing to pay attention.
3. Implement a self-service tool so that the task can be done quickly, by someone who doesn't need to know the details, preferably the user or person who needs it done.
4. Write documentation so that users can easily carry out the task on their own.
Free resource to learn the basics:
https://assets.thoughtworks.com/assets/infrastructure-as-code/Infrastructure_as_Code_ThoughtWorks_Preview_Edition.pdf
An excellent tutorial on the topic:
https://github.com/Artemmkin/infrastructure-as-code-tutorial