Differences
This shows you the differences between two versions of the page.
| dido:99_annexes:annex-b-terms-and-definitions:i:iac [2026/07/13 12:15] – created nick_dido | dido:99_annexes:annex-b-terms-and-definitions:i:iac [2026/07/24 00:12] (current) – nick_dido | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Infrastructure as Code (IaC) ====== | ====== Infrastructure as Code (IaC) ====== | ||
| - | [[dido: | + | [[dido: |
| ===== Discussion ===== | ===== Discussion ===== | ||
| - | Infrastructure as Code (IaC) represents infrastructure through machine-processable | + | Infrastructure as Code (IaC) applies software-engineering and [[dido: |
| - | IaC applies software-engineering and [[dido: | + | IaC represents an [[dido: |
| - | An IaC definition may describe | + | Infrastructure as Code can describe: |
| - | Within Crucible, an [[dido: | + | * [[dido: |
| + | * Configuration values | ||
| + | * Relationships among Infrastructure Resources | ||
| + | * Required inputs and parameters | ||
| + | * Constraints | ||
| + | * Dependencies | ||
| + | * [[dido: | ||
| + | * 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 [[dido: | ||
| + | |||
| + | 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 [[dido: | ||
| + | |||
| + | * 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: | ||
| + | |||
| + | * [[dido: | ||
| + | * 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 ===== | ===== Definition ===== | ||
| - | //representation | + | //practice |
| ===== Source ===== | ===== Source ===== | ||
| - | Generalized from infrastructure automation, software configuration management, cloud computing, and DevOps usage and specialized for the Crucible architecture and operational model. | + | * Dido Solutions, Inc. and Jackrabbit Consulting, Inc. |
| + | * Generalized from infrastructure automation, software configuration management, cloud computing, and DevOps usage | ||
| ===== Note ===== | ===== Note ===== | ||
| - | IaC identifies an engineering approach rather than a particular language, tool, provider, or file format. | + | Infrastructure as Code identifies an engineering approach rather than a particular language, tool, provider, or file format. |
| - | Machine-processable infrastructure definitions do not become controlled IaC solely because they exist as files. Effective IaC also depends on version | + | Infrastructure |
| + | |||
| + | * Configuration approval | ||
| + | * Deployment authorization | ||
| + | * Configuration validity | ||
| + | * Revision retention | ||
| + | * Infrastructure compliance | ||
| + | * Successful deployment | ||
| + | * Repeatable execution | ||
| + | * Change governance | ||
| + | |||
| + | Separate requirements and processes govern those characteristics. | ||
| + | |||
| + | Version | ||
| + | |||
| + | Within Crucible, an [[dido: | ||
| + | |||
| + | The term does not prescribe a configuration language, schema, file format, [[dido: | ||
| ===== Example ===== | ===== Example ===== | ||
| - | An IaC definition | + | An IaC Artifact |
| + | |||
| + | An automated deployment | ||
| ---- | ---- | ||