Infrastructure as Code (IaC)
Learn about infrastructure as code and its benefits.
What is Infrastructure as Code (IaC)?
Infrastructure as Code (IaC) is a process that applies DevOps principles and best practices to managing infrastructure resources. In this process, we treat infrastructure similarly to how we treat application code.
In IaC, we define infrastructure in the form of configurations. These configurations specify the desired state of the resources we want to achieve. Configurations are often defined in the JSON or YAML format, but there is no defined standard. We keep these configurations in a source control system such as Git and use CI/CD pipelines to provide infrastructure resources. The resources can be virtual machines, networking resources, storage and database resources, etc.
When we talk about infrastructure resources, it's not only creating, updating, or deleting those resources, but applying the configurations as well. For example, after creating a virtual machine, we can associate a public IP address with it to access it from the Internet. We can apply restrictions so that only certain IP addresses can access the virtual machines. We’re calling this the desired ...