Terraform is an Infrastructure as Code (IaC) tool developed by HashiCorp that enables users to define and provision infrastructure resources using declarative configuration files. It allows organizations to manage their infrastructure across multiple cloud providers and services through a consistent workflow. With Terraform, infrastructure is defined using HashiCorp Configuration Language (HCL) or JSON, making it possible to version, share, and reuse infrastructure code. The tool follows an immutable infrastructure approach, maintaining a state file to track resource changes and ensure infrastructure deployments are predictable and repeatable.
Key features include its ability to handle resource dependencies automatically, plan execution visibility through detailed previews, and support for a wide range of providers and services. Terraform has become an industry standard for infrastructure automation, particularly in cloud-native environments and DevOps practices.
- Introduction
- Terraform
- HCL Blocks
- Expressions
- Functions
- Provisioners
- Providers Modules
- Lifecycle Management
- Backends
- Stacks
- Workspaces
- Workflows
- The .tfignore File
- Versioning
- Troubleshooting
- Exam Preparation
- Best Practices
- Miscellaneous
For hands-on practice on different workflows, you can refer to the following repositories: