Terraform - Highlights

Terraform is an open-source, infrastructure as code, software tool created by HashiCorp. 

It lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage all of your infrastructure throughout its lifecycle.

Terraform uses declarative configuration to describe the desired final state. 

Once a user invokes Terraform on a given resource, Terraform will perform CRUD actions on the user's behalf to accomplish the desired state

The infrastructure as code can be written as modules, promoting reusability and maintainability.

Terraform manages external resources (such as public cloud infrastructure, private cloud infrastructure, network appliances, software as a service, and platform as a service) with "providers". 

HashiCorp maintains an extensive list of official providers and can also integrate with community-developed providers.

Publish a provider or module to the Terraform Registry to make it publicly available.

HashiCorp Configuration Language (HCL) is the structured configuration syntax that serves as the basis for Terraform's configuration language, as well as the configuration layer for several other HashiCorp products.

Terraform v1.3 is the current minor release in the stable Terraform v1.0 series.

Terraform lets you use the same workflow to manage multiple providers and handle cross-cloud dependencies. This simplifies management and orchestration for large-scale, multi-cloud infrastructures.

Terraform allows you to manage the resources in each tier together, and automatically handles dependencies between tiers of a multi-tier application. For example, Terraform will deploy a database tier before provisioning the web servers that depend on it.

Terraform is not mutually exclusive with other systems

It can be used to manage a single application, or the entire datacenter.

Terraform Cloud provides infrastructure automation as a service, is free to get started, and has in-place upgrade to paid option.

Terraform Enterprise is a self-hosted instance of Terraform Cloud.

Configuration management tools install and manage software on a machine that already exists. Terraform is not a configuration management tool, and it allows existing tooling like Chef, Puppet to focus on their strengths: bootstrapping and initializing resources.

Terraform like AWS CloudFormation uses configuration files to detail the infrastructure setup, but it goes further by being both cloud-agnostic and enabling multiple providers and services to be combined and composed.

Comments