Overview
Terraform is a declarative tool that focuses on the 'provisioning' aspect of IaC. It is particularly strong in cloud environments but also supports physical networking through providers.
Key Concepts
- Providers: Plugins that allow Terraform to interact with specific platforms (e.g., AWS, Azure, Cisco ACI, Palo Alto Networks).
- Resources: The individual components being managed (e.g., a VPC, a subnet, a firewall rule).
- State File: A file that tracks the current state of the infrastructure managed by Terraform.
Use Cases
- Provisioning VPCs and subnets in the cloud.
- Managing complex firewall policies.
- Orchestrating network resources across multiple cloud providers.