Terraform is an
infrastructure-as-code software tool created by
HashiCorp
HashiCorp, Inc. is an American software company with a freemium business model based in San Francisco, California. HashiCorp provides tools and products that enable developers, operators and security professionals to provision, secure, run and co ...
. Users define and provide data center infrastructure using a declarative configuration language known as HashiCorp Configuration Language (HCL), or optionally
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
.
Characteristics
Terraform manages external resources (such as public cloud infrastructure, private cloud infrastructure, network appliances,
software as a service
Software as a service (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike o ...
, and
platform as a service
Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a cloud computing service model where users provision, instantiate, run and manage a modular bundle of a computing platform and applications, w ...
) with "providers". HashiCorp maintains an extensive list of official providers, and can also integrate with community-developed providers. Users can interact with Terraform providers by declaring resources or by calling data sources. 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
In computer programming, create, read, update, and delete (CRUD) are the four basic operations (actions) of persistent storage. CRUD is also sometimes used to describe user interface conventions that facilitate viewing, searching, and changing info ...
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 supports a number of cloud infrastructure providers such as
Amazon Web Services
Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon.com, Amazon that provides Software as a service, on-demand cloud computing computing platform, platforms and Application programming interface, APIs to individuals, companies, and gover ...
,
Cloudflare
Cloudflare, Inc., is an American company that provides content delivery network services, cybersecurity, DDoS mitigation, wide area network services, reverse proxies, Domain Name Service, ICANN-accredited domain registration, and other se ...
,
Microsoft Azure
Microsoft Azure, or just Azure ( /ˈæʒər, ˈeɪʒər/ ''AZH-ər, AY-zhər'', UK also /ˈæzjʊər, ˈeɪzjʊər/ ''AZ-ure, AY-zure''), is the cloud computing platform developed by Microsoft. It has management, access and development of ...
,
IBM Cloud
IBM Cloud (formerly known as Bluemix) is a set of cloud computing services for business offered by the information technology company IBM.
Services
As of 2021, IBM Cloud contains more than 170 services including compute, storage, networkin ...
, Serverspace,
Selectel Google Cloud Platform
Google Cloud Platform (GCP) is a suite of cloud computing services offered by Google that provides a series of modular cloud services including computing, Computer data storage, data storage, Data analysis, data analytics, and machine learnin ...
,
DigitalOcean
DigitalOcean Holdings, Inc. is an American multinational technology company and cloud service provider. The company is headquartered in New York City, New York, US, with 15 globally distributed data centers. DigitalOcean provides developers, ...
,
Oracle Cloud Infrastructure,
Yandex.Cloud,
VMware vSphere
VMware vSphere (formerly VMware Infrastructure 4) is VMware's cloud computing virtualization platform.
It includes vCenter Configuration Manager, as well as vCenter Application Discovery Manager, and the ability of vMotion to move more than o ...
, and
OpenStack
OpenStack is a free, open standard cloud computing platform. It is mostly deployed as infrastructure-as-a-service (IaaS) in both public and private clouds where virtual servers and other resources are made available to users. The software pla ...
.
History
HashiCorp launched the Terraform Module Registry in 2017. In 2019, the paid version Terraform Enterprise was introduced.
Terraform was previously
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
available under version 2.0 of the
Mozilla Public License
The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird. The MPL is developed and maintained by Mozilla, which seeks to balance the concerns of bo ...
(MPL). 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".
OpenTofu was created as a fork resulting from the HashiCorp changing the Terraform license to a
BSL.
References
External links
*
* {{github, hashicorp/terraform, Terraform
Cross-platform software
Cloud infrastructure
Systems engineering
Orchestration software
Software using the Business Source License