Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:99_annexes:annex-b-terms-and-definitions:i:iac [2026/09/12 17:42] – removed - external edit (Unknown date) 127.0.0.1public:99_annexes:annex-b-terms-and-definitions:i:iac [2026/09/12 17:43] (current) – ↷ Links adapted because of a move operation nick_dido
Line 1: Line 1:
 +====== Infrastructure as Code (IaC) ======
  
 +[[public:99_annexes:annex-b-terms-and-definitions:start|Go to Terms and Definitions]]
 +
 +===== Discussion =====
 +
 +Infrastructure as Code (IaC) applies software-engineering and [[public:99_annexes:annex-b-terms-and-definitions:c:configuration_management|Configuration Management]] practices to the representation and control of [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure|Infrastructure]].
 +
 +IaC represents an [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as one or more machine-processable [[public:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] that automated tools or workflows process without manual transcription.
 +
 +Infrastructure as Code can describe:
 +
 +  * [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure_resource|Infrastructure Resources]]
 +  * Configuration values
 +  * Relationships among Infrastructure Resources
 +  * Required inputs and parameters
 +  * Constraints
 +  * Dependencies
 +  * [[public:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] references
 +  * Provider configuration
 +  * Security configuration
 +  * Monitoring configuration
 +  * Lifecycle behavior
 +  * Required or observed infrastructure state
 +
 +Automated tools use IaC Artifacts to perform or support activities such as:
 +
 +  * Provisioning Infrastructure Resources
 +  * Configuring Infrastructure Resources
 +  * Modifying Infrastructure Resources
 +  * Verifying Infrastructure Configuration
 +  * Removing Infrastructure Resources
 +  * Comparing required and observed infrastructure state
 +
 +Infrastructure as Code commonly uses [[public:99_annexes:annex-b-terms-and-definitions:v:version_control|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 Configuration
 +  * A manually executed procedure depends on a person to interpret and perform procedural instructions
 +
 +Infrastructure as Code also differs from an [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environment]]:
 +
 +  * Infrastructure as Code represents Infrastructure Configuration
 +  * An Infrastructure Environment is the operational or development context described, created, modified, or managed through that configuration
 +
 +Infrastructure as Code can use:
 +
 +  * [[public:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]
 +  * Procedural configuration
 +  * A combination of declarative and procedural configuration
 +
 +A Declarative Configuration specifies a required result without prescribing the sequence of procedural steps used to produce that result.
 +
 +===== Definition =====
 +
 +//practice of representing and controlling [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as machine-processable [[public:99_annexes:annex-b-terms-and-definitions:a:artifact|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 approval
 +  * Deployment authorization
 +  * Configuration validity
 +  * Revision retention
 +  * Infrastructure compliance
 +  * Successful deployment
 +  * Repeatable execution
 +  * Change governance
 +
 +Separate requirements and processes govern those characteristics.
 +
 +Version control, review, validation, testing, [[public:99_annexes:annex-b-terms-and-definitions:t:traceability|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 [[public:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baseline]] can contain IaC Artifacts that a deployment process realizes through a selected Provider Plugin and [[public:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]].
 +
 +The term does not prescribe a configuration language, schema, file format, [[public:99_annexes:annex-b-terms-and-definitions:v:version_control_system|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 [[public:99_annexes:annex-b-terms-and-definitions:d:deployment_target|Deployment Target]].
 +
 +----
 +
 +<WRAP centeralign>
 +© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
 +</WRAP>