Infrastructure as Code is the process of provisioning and managing infrastructure defined through code, instead of doing so with a manual process. IaC takes away the majority of provisioning work from developers, who can execute a script to have their infrastructure ready to go. That way, application deployments aren’t held up waiting for the infrastructure, and sysadmins aren’t managing time-consuming manual processes.
Here is a step-by-step explanation of how creating an IaC environment works:
A developer defines the configuration parameters in a domain-specific language (DSL).
The instruction files are sent to a master server, a management API, or a code repository.
The IaC platform follows the developer’s instructions to create and configure the infrastructure.
With Infrastructure as Code, users don’t need to configure an environment every time they want to develop, test, or deploy software. All infrastructure parameters are saved in the form of files called manifests.
As with all code files, manifests are easy to reuse, edit, copy, and share. Manifests make building, testing, staging, and deploying infrastructure quicker and more consistent.
Developers codify the configuration files and store them in version control. If someone edits a file, pull requests and code review workflows can check the correctness of the changes.
https://blog.gitguardian.com/infrastructure-as-code-everything-you-need-to-know/