Infrastructure as Code (IaC)

Go to Terms and Definitions

Discussion

Infrastructure as Code (IaC) applies software-engineering and Configuration Management practices to the representation and control of Infrastructure.

IaC represents an Infrastructure Configuration as one or more machine-processable Artifacts that automated tools or workflows process without manual transcription.

Infrastructure as Code can describe:

Configuration valuesRelationships among Infrastructure ResourcesRequired inputs and parametersConstraintsDependenciesBaseline referencesProvider configurationSecurity configurationMonitoring configurationLifecycle behaviorRequired or observed infrastructure stateAutomated tools use IaC Artifacts to perform or support activities such as:

Provisioning Infrastructure ResourcesConfiguring Infrastructure ResourcesModifying Infrastructure ResourcesVerifying Infrastructure ConfigurationRemoving Infrastructure ResourcesComparing required and observed infrastructure stateInfrastructure as Code commonly uses Version Control to identify, retrieve, compare, and manage revisions of IaC Artifacts.

Infrastructure as Code differs from a manually executed infrastructure procedure:

Infrastructure as Code provides a machine-processable representation of Infrastructure ConfigurationA manually executed procedure depends on a person to interpret and perform procedural instructionsInfrastructure as Code also differs from an Infrastructure Environment:

Infrastructure as Code represents Infrastructure ConfigurationAn Infrastructure Environment is the operational or development context described, created, modified, or managed through that configurationInfrastructure as Code can use:

Procedural configurationA combination of declarative and procedural configurationA Declarative Configuration specifies a required result without prescribing the sequence of procedural steps used to produce that result.

Definition

practice of representing and controlling Infrastructure Configuration as machine-processable Artifacts that automated tools or workflows process

Source

Dido Solutions, Inc. and Jackrabbit Consulting, Inc.Generalized from infrastructure automation, software configuration management, cloud computing, and DevOps usage

Note

Infrastructure as Code identifies an engineering approach rather than a particular language, tool, provider, or file format.

Infrastructure as Code does not by itself establish:

Configuration approvalDeployment authorizationConfiguration validityRevision retentionInfrastructure complianceSuccessful deploymentRepeatable executionChange governanceSeparate requirements and processes govern those characteristics.

Version control, review, validation, testing, Traceability, repeatable execution, and controlled change strengthen the governance and reliability of Infrastructure as Code but do not define whether a machine-processable Infrastructure Configuration is IaC.

Within Crucible, an Infrastructure Baseline can contain IaC Artifacts that a deployment process realizes through a selected Provider Plugin and Deployment Platform.

The term does not prescribe a configuration language, schema, file format, Version Control System, provisioning tool, cloud provider, virtualization platform, container platform, or operating system.

Example

An IaC Artifact specifies the compute nodes, virtual networks, storage resources, security rules, and load balancer required for an Infrastructure Environment.

An automated deployment workflow processes the Artifact and realizes the specified Infrastructure Resources on the selected Deployment Target.

© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.