Terraform (software)

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

Terraform
Original author(s)Mitchell Hashimoto et al.
Developer(s)HashiCorp
Initial releaseJuly 28, 2014 (2014-07-28)
Stable release
0.14.6 / February 4, 2021 (2021-02-04)[1]
Repository
Written inGo
Operating systemLinux, FreeBSD, macOS, OpenBSD, Solaris, and Microsoft Windows
Available inEnglish
TypeInfrastructure as code
LicenseMozilla Public License v2.0[2]
Websitewww.terraform.io 

Design

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 Services, Microsoft Azure, IBM Cloud, Google Cloud Platform,[9] DigitalOcean,[10] Oracle Cloud Infrastructure, VMware vSphere, and OpenStack.[11][12][13][14][15]

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

Terraform has four major commands:

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

See also

References

  1. "Releases - hashicorp/terraform". Retrieved 5 February 2021 via GitHub.
  2. Terraform's LICENSE
  3. "Syntax - Configuration Language".
  4. "Providers".
  5. "Resources".
  6. "Data Sources".
  7. "Configuration".
  8. "Modules".
  9. "Google Cloud Platform Provider for Terraform". Retrieved 2017-02-05.
  10. Starr-Bochicchio, Andrew (2018-10-22). "Introducing the DigitalOcean Terraform Provider". DigitalOcean Blog. Retrieved 2020-12-17.
  11. "Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp". Terraform by HashiCorp. Retrieved 2018-03-14.
  12. Bryant, Daniel (2017-03-26). "HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners". InfoQ. Retrieved 2017-05-23.
  13. Yevgeniy., Brikman (2017). Terraform Writing Infrastructure as Code. O'Reilly Media. ISBN 9781491977057. OCLC 978667796.
  14. Somwanshi, Sneha (2015-03-01). "Choosing the Right Tool to Provision AWS Infrastructure". ThoughtWorks Blog.
  15. Turnbull, James (2016). The Terraform Book. ISBN 9780988820258.
  16. Atkins, Martin (2017-11-16). "HashiCorp Terraform 0.11". HashiCorp Blog. Retrieved 2020-12-17.
  17. HashiCorp. "HashiCorp Terraform - Provision & Manage any Infrastructure". HashiCorp: Infrastructure enables innovation. Retrieved 2020-04-15.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.