Terraform (software)
Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision data center infrastructure using a declarative configuration language known as HashiCorp Configuration Language (HCL), or optionally JSON.[3]
![]() | |
Original author(s) | Mitchell Hashimoto et al. |
---|---|
Developer(s) | HashiCorp |
Initial release | July 28, 2014 |
Stable release | 0.13.0
/ August 10, 2020[1] |
Repository | ![]() |
Written in | Go |
Operating system | Linux, FreeBSD, macOS, OpenBSD, Solaris, and Microsoft Windows |
Available in | English |
Type | Infrastructure as Code |
License | Mozilla Public License v2.0[2] |
Website | www![]() |
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 state 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
- Comparison of open-source configuration management software
- Infrastructure as Code
- Infrastructure as Code Tools
References
- "Releases - hashicorp/terraform". Retrieved 10 August 2020 – via GitHub.
- Terraform's LICENSE
- "Syntax - Configuration Language".
- "Providers".
- "Resources".
- "Data Sources".
- "Configuration".
- "Modules".
- "Google Cloud Platform Provider for Terraform". Retrieved 2017-02-05.
- "Introducing the DigitalOcean Terraform Provider".
- "Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp". Terraform by HashiCorp. Retrieved 2018-03-14.
- "HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners". InfoQ. Retrieved 2017-05-23.
- Yevgeniy., Brikman (2017). Terraform Writing Infrastructure as Code. O'Reilly Media. ISBN 9781491977057. OCLC 978667796.
- Somwanshi, Sneha. "Choosing the Right Tool to Provision AWS Infrastructure". ThoughtWorks.
- Turnbull, James (2016). The Terraform Book. ISBN 9780988820258.
- "HashiCorp Terraform 0.11".
- HashiCorp. "HashiCorp Terraform - Provision & Manage any Infrastructure". HashiCorp: Infrastructure enables innovation. Retrieved 2020-04-15.