Skip to main content

Key concepts

Infrastructure as Code (IaC) is the ability to define cloud resources as code definitions. It allows for repeatable infrastructure configuration. Examples of IaC tools are HashiCorp Terraform and Amazon CloudFormation.

Cloud provider

A company offering the ability to run cloud resources on your behalf, for example AWS, Azure, GCP, and others.

For information about how to connect to a cloud provider, go to Connect to a cloud provider.

Cloud resource

Any running instance of cloud infrastructure, for example an EC2 instance or an S3 bucket.

Workspace

A group of infrastructure resources. A workspace brings together IaC code, IaC variables, cloud provider connection, state and workflows. For Terraform, every workspace has its own state file.

Variables

Typically, IaC code is extended by inserting variables. Environment and Terraform variables are available.

Provision

The process of taking the infrastructure configuration and applying it against a cloud provider to create cloud resources. For example, running terraform apply using a main.tf file.

Destroy

The process of removing all resources that are provisioned under the IaC code. This is also called Destroy.

Drift

When the state and the actual running infrastructure are misaligned. For example, if someone manually edits AWS resources from the console or API without going through the IaC tool managing its infrastructure.

Drift detection

Functionality to determine if the cloud resources defined in the IaC code are provisioned as defined by comparing the statefile with the running infrastructure.

Harness state tracking

Functionality to monitor the current state and to track changes to a stack over its lifecycle.

Terraform state backend

A service that manages access and changes to a shared Terraform statefile.