Thursday, March 24, 2022

Terraform (software)

 Terraform is an open-source infrastructure as code software tool created by HashiCorp. Users define and provide data center infrastructure using a declarative configuration language known as HashiCorp Configuration Language (HCL), or optionally JSON.[3]

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.[4] Users can interact with Terraform providers by declaring resources[5] or by calling data sources.[6] Rather than using imperative commands to provision resources, 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.[7] The infrastructure as code can be written as modules, promoting reusability and maintainability.[8]

Terraform supports a number of cloud infrastructure providers such as Amazon Web ServicesMicrosoft AzureIBM CloudServerspaceGoogle Cloud Platform,[9] DigitalOcean,[10] Oracle Cloud InfrastructureYandex.Cloud,[11] VMware vSphere, and OpenStack.[12][13][14][15][16]

HashiCorp also supports a Terraform Module Registry, launched in 2017.[17] In 2019, Terraform introduced the paid version called Terraform Enterprise for larger organizations.[18]

Terraform has four major commands:

$ terraform init
$ terraform plan
$ terraform apply
$ terraform destroy

No comments:

Post a Comment