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 Services, Microsoft Azure, IBM Cloud, Serverspace, Google Cloud Platform,[9] DigitalOcean,[10] Oracle Cloud Infrastructure, Yandex.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:
No comments:
Post a Comment