Terraform

Terraform是建立、改变和安全高效地组合基础设施的工具。(Terraform is a tool for building, changing, and combining infrastructure safely and efficiently. )

Github stars Tracking Chart

Terraform是安全有效地构建,更改和版本化基础设施的工具。 Terraform可以管理现有和受欢迎的服务提供商以及定制的内部解决方案。\r\n

配置文件描述为运行单个应用程序或整个数据中心所需的组件。 Terraform生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础架构。 随着配置的变化,Terraform能够确定哪些更改已经被创建,并且可以创建可应用的增量执行计划。

Terraform可以管理的基础设施包括计算实例,存储和网络等低级组件,以及DNS条目,SaaS功能等高级组件。

示例最能展示Terraform。 请看用例

Terraform的主要特性是:

    \r\n\t
  • Infrastructure as Code(基础设施作为代码):使用高级配置语法描述基础架构。这样可以让数据中心的蓝图进行版本控制,并像其他代码一样对待。此外,基础设施可以共享和重新使用。
  • \r\n\t
  • Execution Plans(执行计划):Terraform有一个“计划”步骤,它生成一个执行计划。执行计划显示了当您打电话申请时Terraform会做什么。当Terraform操纵基础设施时,这样可以避免任何惊喜。
  • \r\n\t
  • Resource Graph(资源图):Terraform构建所有资源的图形,并且并行化任何非依赖资源的创建和修改。因此,Terraform尽可能高效地构建基础架构,运营商可以深入了解其基础架构中的依赖关系。
  • \r\n\t
  • Change Automation(变更自动化):复杂的变更集可以通过最少的人际交互应用于您的基础架构。通过前面提到的执行计划和资源图,您将明确了解Terraform将如何改变,以什么顺序,避免许多可能的人为错误。
  • \r\n

Overview

Name With Ownertwitter/finagle
Primary LanguageScala
Program languageMakefile (Language Count: 9)
Platform
License:Apache License 2.0
Release Count131
Last Release Namefinagle-23.11.0 (Posted on )
First Release Nameversion-1.0.9 (Posted on 2010-12-22 10:52:11)
Created At2010-10-19 22:10:09
Pushed At2024-04-24 21:11:57
Last Commit At
Stargazers Count8.8k
Watchers Count557
Fork Count1.4k
Commits Count8.2k
Has Issues Enabled
Issues Count412
Issue Open Count55
Pull Requests Count33
Pull Requests Open Count3
Pull Requests Close Count512
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Terraform

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

The key features of Terraform are:

  • Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.

  • Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.

  • Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.

  • Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors.

For more information, see the introduction section of the Terraform website.

Getting Started & Documentation

If you're new to Terraform and want to get started creating infrastructure, please checkout our Getting Started guide, available on the Terraform website.

All documentation is available on the Terraform website:

Developing Terraform

This repository contains only Terraform core, which includes the command line interface and the main graph engine. Providers are implemented as plugins that each have their own repository in the terraform-providers organization on GitHub. Instructions for developing each provider are in the associated README file. For more information, see the provider development overview.

To learn more about compiling Terraform and contributing suggested changes, please refer to the contributing guide.

License

Mozilla Public License v2.0

To the top