Header Background Image

Infrastructure as code

CodiLime Glossary

Some common networking terms clearly explained

Glossary /I /

Infrastructure as code

Infrastructure as code (IaC) is a process of managing IT infrastructure through code instead of configuring physical hardware manually. Developers do not need to manually provision servers, operating systems, databases, or storage when they need them in development, testing, or deployment processes.

Infrastructure as code streamlines the work of DevOps teams as automated IT infrastructure provisioning ensures consistency across development, testing, and deployment environments and speeds up every phase of the software development process.

The declarative and imperative approach to IaC

The declarative approach focuses on achieving a determined system state. The IaC tool will configure every needed property and resource to achieve it. In case of any changes to the determined state, a declarative IaC tool will adjust to them. On the other hand, in the imperative approach, the needed commands are declared to achieve the determined system state mentioned before.

However, most IaC tools work well in both approaches. 

Benefits of Infrastructure as Code 

IaC allows for moving infrastructure planning to container orchestration (e.g., Kubernetes) and is cloud-native instead of sacrificing time to planning this on hardware. This solution is also better oriented to current problems connected with modern infrastructure needing to be easily scalable—without IaC, it is more challenging to manage. 

Other IaC advantages: 

  • cost reduction,
  • shorten time-to-market of new software,
  • errors limitation, 
  • better infrastructure maintainability, 
  • more often and regular deployments. 

IaC is strongly connected with DevOps and CI/CD. With IaC, provisioning work and manual processes are reduced or even eliminated. Instead of manual infrastructure planning, developers can focus on code execution and application deployments. It is also true when we are talking about maintaining specific deployment environments—IaC builds environments that do not require unique configurations.

Read more:

Thumbnail of an article about Business benefits of CI/CD
Business benefits of CI/CD
Time to read

9 minutes reading

Publish date

24 Mar 2020

Jarosław Ganczarenko

Automation

Read more
Thumbnail of an article about Continuous monitoring and observability in CI/CD
Continuous monitoring and observability in CI/CD
Time to read

15 minutes reading

Publish date

18 Mar 2020

Damian Fedeczko

Automation

Read more
Thumbnail of an article about Day 0/Day 1/Day 2 - the software lifecycle in the cloud age
Day 0/Day 1/Day 2 - the software lifecycle in the cloud age
Time to read

16 minutes reading

Publish date

23 Nov 2021

Multiple authors

Software Development

Read more
Thumbnail of an article about How to set up and optimize a CI/CD pipeline
How to set up and optimize a CI/CD pipeline
Time to read

22 minutes reading

Publish date

27 Jan 2020

Andrzej Gębski

Automation

Read more
Thumbnail of an article about CI/CD process—how to handle it in 2021
CI/CD process—how to handle it in 2021
Time to read

17 minutes reading

Publish date

24 Feb 2020

Multiple authors

Automation

Read more
Thumbnail of an article about Best CI/CD pipeline tools you should know
Best CI/CD pipeline tools you should know
Time to read

19 minutes reading

Publish date

24 Aug 2021

Multiple authors

Automation

Read more
Thumbnail of an article about CI/CD pipeline: why it makes sense for your startup
CI/CD pipeline: why it makes sense for your startup
Time to read

16 minutes reading

Publish date

8 Sep 2021

Tomasz Mika

Automation

Read more