Terraform (software)

Last updated

Terraform
Original author(s) Mitchell Hashimoto et al.
Developer(s) HashiCorp
Initial release28 July 2014;11 years ago (2014-07-28)
Stable release
v1.12.1 / 21 May 2025;3 months ago (2025-05-21) [1]
Repository
Written in Go
Operating system Linux, FreeBSD, macOS, OpenBSD, Solaris, and Microsoft Windows
Available inEnglish
Type Infrastructure as code
License Business Source License v1.1 [2] (source-available)
Website www.terraform.io   OOjs UI icon edit-ltr-progressive.svg

Terraform is an 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]

Contents

History

Terraform was launched by HashiCorp in 2014. [4] HashiCorp launched the Terraform Module Registry in 2017. [5] In 2019, the paid version Terraform Enterprise was introduced. [6]

In September 2021, HashiCorp announced it would be temporarily pausing its review of community-submitted pull requests for Terraform, citing low staffing in its Terraform Core team. [7]

On August 10, 2023, HashiCorp announced that all products produced by the company would be relicensed under the Business Source License (BUSL), with HashiCorp prohibiting commercial use of the community edition by those who offer "competitive services". Terraform was previously free software available under version 2.0 of the Mozilla Public License (MPL). [8] [9] Joe Duffy, founder and CEO of Pulumi, criticized the announcement as "disingenuous" and said, "We tried many times to contribute upstream fixes to Terraform providers, but HashiCorp would never accept them. So we've had to maintain forks." [8]

In August 2023, OpenTF was created as a fork resulting from the HashiCorp changing the Terraform license to a BSL. OpenTF was later renamed to OpenTofu. [10]

Features

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. [11] Users can interact with Terraform providers by declaring resources [12] or by calling data sources. [13] 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. [14] [11] The infrastructure as code can be written as modules, promoting reusability and maintainability. [15]

Terraform supports a number of cloud infrastructure providers such as Amazon Web Services, Cloudflare, [16] Microsoft Azure, IBM Cloud, Serverspace, Selectel [17] Google Cloud Platform, [18] DigitalOcean, [19] Oracle Cloud Infrastructure, Yandex.Cloud, [20] VMware vSphere, and OpenStack. [21] [22] [23] [24] It can be configured to make use of multiple cloud platforms. [4]

Usage

As of 2019, Terraform is used by companies such as Barclays, Capital One, and GM Cruise. [4]

References

  1. "Releases - hashicorp/terraform" . Retrieved 21 May 2025 via GitHub.
  2. "License" via GitHub.
  3. "Syntax - Configuration Language". Terraform.
  4. 1 2 3 Finley, Klint (17 February 2019). "This Company Takes the Grunt Work Out of Using the Cloud". Wired . ISSN   1059-1028. Archived from the original on 24 August 2023. Retrieved 22 August 2025.
  5. Atkins, Martin (16 November 2017). "HashiCorp Terraform 0.11". HashiCorp Blog. Retrieved 17 December 2020.
  6. HashiCorp. "HashiCorp Terraform - Provision & Manage any Infrastructure". HashiCorp: Infrastructure enables innovation. Retrieved 15 April 2020.
  7. Speed, Richard (7 September 2021). "HashiCorp runs low on staff, calls a halt to Terraform pull requests". The Register .
  8. 1 2 Proven, Liam (11 August 2023). "HashiCorp's new license is still open source-ish, just with less free lunch". The Register .
  9. Bryant, Daniel (15 August 2023). "HashiCorp Adopts Business Source License for All Products". InfoQ. Retrieved 20 October 2023.
  10. Claburn, Thomas (20 September 2023). "Terraform fork OpenTF renamed and relocated as OpenTofu". The Register .
  11. 1 2 Pott, Trevor; Thomson, Iain (6 December 2017). "What on Earth is Terraform: Life support for explorers of terrifying alien worlds". The Register .
  12. "Resources". Terraform.
  13. "Data Sources". Terraform.
  14. "Configuration". Terraform.
  15. "Modules". Terraform.
  16. "Cloudflare Provider". Terraform. Retrieved 23 November 2022.
  17. "Selectel Provider". Terraform. 12 April 2023.
  18. "Google Cloud Platform Provider for Terraform". Terraform. Retrieved 5 February 2017.
  19. Starr-Bochicchio, Andrew (22 October 2018). "Introducing the DigitalOcean Terraform Provider". DigitalOcean Blog. Retrieved 17 December 2020.
  20. "Yandex Cloud Provider". 31 May 2021. Archived from the original on 2 June 2021. Retrieved 31 May 2021.
  21. "Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp". Terraform. Retrieved 14 March 2018.
  22. Bryant, Daniel (26 March 2017). "HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners". InfoQ. Retrieved 23 May 2017.
  23. Yevgeniy., Brikman (2017). Terraform Writing Infrastructure as Configuration. O'Reilly Media. ISBN   9781491977057. OCLC   978667796.
  24. Turnbull, James (2016). The Terraform Book. James Turnbull. ISBN   9780988820258.