/terraform

Studying Terraform

Primary LanguageHCL

Terraform

terraform logo

Note

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently through code.

Tip

It leverages Infrastructure as Code (IaC), enabling versioning, idempotence, and reusable high-level syntax.

Important

Terraform facilitates execution plans for secure and predictable infrastructure changes, separating planning from application.

Warning

It's crucial to note that Terraform is vendor-agnostic, allowing deployment to multiple providers simultaneously.

Caution

While Terraform offers numerous advantages, it's essential to understand its differences from other configuration management tools like Ansible, Puppet, and Chef, as well as cloud-specific IaC tools like CloudFormation.

What is Terraform?

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently through code.

Key Features

  • Infrastructure as Code (IaC)
    • Open-source and declarative
    • Supports versioning, idempotence, and reusable syntax
    • Parity across environments
  • Execution Plans
    • Secure and predictable infrastructure changes
    • Separation of planning and application
  • Hybrid and Agnostic
    • Supports deployment to multiple providers simultaneously

Use Cases

  • Provisioning new infrastructure
  • Managing existing infrastructure
  • Replicating infrastructure

How Does Terraform Work?

  • Terraform Core utilizes two sources of input:
    • Your configuration files (desired state)
    • The current state managed by Terraform
  • Providers expose resources, enabling infrastructure creation across various platforms:
    • IaaS: AWS, GCP, Azure
    • PaaS: Kubernetes, Heroku, Digital Ocean
    • SaaS: New Relic, Datadog

Terraform vs. Other Software

Terraform serves as a high-level infrastructure orchestration tool, differing from other configuration management tools like Ansible, Puppet, and Chef, as well as cloud-specific IaC tools like CloudFormation.

Exemplo imagem

Terraform logo imagem

Getting Started & Documentation

Documentation is available on the Terraform website:

If you're new to Terraform, check out the Getting Started guides on HashiCorp's learning platform. There are also additional guides to continue your learning.

Show off your Terraform knowledge by passing a certification exam. Visit the certification page for information about exams and find study materials on HashiCorp's learning platform.