# Infrastructure as Code Sometimes referred to as IaC, this section refers to the techniques and tools used to define infrastructure, typically in a markup language like YAML or JSON. Infrastructure as code allows DevOps Engineers to use the same workflows used by software developers to version, roll back, and otherwise manage changes. The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations. Visit the following resources to learn more: - [What is Infrastructure as Code?](https://www.youtube.com/watch?v=zWw2wuiKd5o) - [What is Infrastructure as Code? Difference of Infrastructure as Code Tools](https://www.youtube.com/watch?v=POPP2WTJ8es) - [Video introduction to infrastructure as code](https://www.youtube.com/watch?v=zWw2wuiKd5o) - [GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code](https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/) - [What is infrastructure as code](https://www.redhat.com/en/topics/automation/what-is-infrastructure-as-code-iac)