Infrastructure as code, or programmable infrastructure, means writing code (which can be done using a high level language or any descriptive language) to manage configurations and automate provisioning of infrastructure in addition to deployments. This is not simply writing scripts, but involves using tested and proven software development practices that are already being used in application development. For example: version control, testing, small deployments, use of design patterns etc. In short, this means you write code to provision and manage your server, in addition to automating processes.1
"Infrastructure as code is an approach to managing IT infrastructure for the age of cloud, microservices and continuous delivery, says Kief Morris, head of continuous delivery for ThoughtWorks Europe. "The basic idea is that you treat your IT infrastructure as software. This helps you to make changes to it rapidly and easily, at the same time safely and reliably."2
Infrastructure as code is the prerequisite for common DevOps practices such as version control, code review, continuous integration and automated testing. These practices get you to continuous delivery of quality software that pleases your customers.3
- 15 Infrastructure as Code tools you can use to automate your deployments
- Infrastructure as Code: A Reason to Smile - Infrastructure as code, or programmable infrastructure, means writing code (which can be done using a high level language or any descriptive language) to manage configurations and automate provisioning of infrastructure in addition to deployments.
- AWS - Infrastructure as Code has emerged as a best practice for automating the provisioning of infrastructure services. This paper describes the benefits of Infrastructure as Code, and how to leverage the capabilities of Amazon Web Services in this realm to support DevOps initiatives.