---
description: Infrastructure as Code
---

# IaC

### Definition

Nowadays, managing web applications is quite complicated, for example you have to manage load balancers, several web servers, database servers, etc. You can spend hours provisioning and managing these systems... Infrastructure as Code can be understood as you can set up / manage the previous stacks of the system by defining them in a script file, for example, instead of spending time and effort manually setting up each thing (eg: ssh) and then installing packages, services, libs and other).

### Benefits

* No more clicks: Write down what you want to deploy (VM, disk, app, etc ...)
* Enable DevOps: Codification of deployment means it can tracked in version control enabling better visibility and collaboration across teams
* Declare your infrastructure: Infrastructure is, for the majority of cases, written declaratively via code but can be procedural (imperative) too
* Speed, Cost and Reduced Risks: Less human intervention during development means fewer changes of security flaws, superfluous resources and more time to be saved
