terraform/website/intro/index.mdx

39 lines
2.1 KiB
Plaintext

---
page_title: Introduction
description: >-
Learn what Terraform is, what problems it can solve, and how it compares to
existing software.
---
# Introduction to Terraform
Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.
Below, HashiCorp co-founder and CTO Armon Dadgar describes how Terraform can help solve common infrastructure challenges.
<iframe src="https://www.youtube.com/embed/h970ZBgKINg" frameBorder={0} allowFullScreen width={560} height={315} />
## Key Features
### Infrastructure as Code
You describe your infrastructure using Terraform's high-level [configuration language](/language/) in human-readable, declarative configuration files. This allows you to create a blueprint that you can version, share, and reuse.
### Execution Plans
Terraform generates an _execution plan_ describing what it will do and asks for your approval before making any infrastructure changes. This allows you to review changes before Terraform creates, updates, or destroys infrastructure.
### Resource Graph
Terraform builds a resource graph and creates or modifies non-dependent resources in parallel. This allows Terraform to build resources as efficiently as possible and gives you greater insight into your infrastructure.
### Change Automation
Terraform can apply complex changesets to your infrastructure with minimal human interaction. When you update configuration files, Terraform determines what changed and creates incremental execution plans that respect dependencies.
## Next Steps
- Learn about common [Terraform use cases](/intro/use-cases).
- Learn [how Terraform compares to and complements other tools](/intro/vs/).
- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn.