Infrastructure-as-Code (IaC)
Infrastructure-as-Code (IaC) is the practice of setting up and managing computing infrastructure using code instead of manual processes and hands-on configuration. Rather than clicking through settings by hand, teams write definition files that describe the infrastructure they want, and automated tools create and maintain it. This approach makes infrastructure setup more consistent and repeatable.
Infrastructure-as-Code (IaC) is the process of provisioning and managing computing infrastructure through machine-readable definition files rather than manual configuration. It typically applies a DevOps methodology, using a descriptive model and version control to define, deploy, and manage infrastructure resources such as compute, networking, and storage. IaC often relies on configuration files or declarative descriptions to automate provisioning and ongoing management, which can improve consistency and repeatability across environments. The specific tooling, syntax, and workflow may vary by provider and platform.
Why it matters
Infrastructure-as-Code matters because it shifts infrastructure provisioning from manual, error-prone processes toward consistent, repeatable, and version-controlled definitions. When infrastructure is expressed as code, teams can reproduce environments reliably, track changes over time, and reduce the configuration drift that often occurs when settings are adjusted by hand. This consistency has direct implications for security governance, since the same code that provisions resources can also encode security-relevant configurations and controls before workloads reach production.
From a risk and governance perspective, IaC introduces both opportunities and new responsibilities. Because infrastructure definitions live in code and version control, they become auditable artifacts that show what was deployed, when, and by whom. At the same time, an error or insecure default embedded in an IaC template can be replicated rapidly across many environments, meaning mistakes scale as quickly as intended configurations. Security leaders should treat IaC definition files as sensitive assets that warrant review, access control, and change management comparable to application source code.
It is important to be clear about what IaC does and does not provide. IaC is a practice for provisioning and managing infrastructure; it is not by itself a security control, a compliance guarantee, or a substitute for governance. The value it delivers depends heavily on how disciplined an organization is in reviewing templates, managing secrets, and integrating IaC into a broader security and operational program. Its benefits also vary by provider, platform, and tooling, as the specific syntax and workflow differ across environments.
Who it's relevant to
Inside IaC
Common questions
Answers to the questions practitioners most commonly ask about IaC.