What is Infrastructure as Code?

Infrastructure as Code is the practice of treating infrastructure configuration as code, using an infrastructure framework tool to manage this configuration as one would code. The code supporting the provision of infrastructure is treated as application code, stored in an SCM. Popular tools include Puppet, Chef, Ansible, Terraform, CloudFormation.

edit