Terraform is an open-source infrastructure-as-code (IaC) platform that allows users to declaratively define, provide, and manage infrastructure resources.
There are several layers to examine when it comes to Terraform's architecture:
Configuration Layer: This is where the Terraform code is written. It defines the infrastructure resources that need to be created, updated, or deleted.
State Layer: This layer is responsible for storing the current state of the infrastructure. It tracks the resources that have been created, updated, or deleted, and stores this information in a state file.
Provider Layer: Providers are plugins that Terraform uses to interact with infrastructure resources. Each provider is responsible for a specific set of resources (e.g. AWS, Google Cloud, Azure, etc.).
Execution Layer: This layer is responsible for executing the Terraform code. It reads the configuration files, interacts with the providers to create/update/delete resources, and updates the state file
Terraform's architecture is modular and adaptable in general, allowing users to specify and manage infrastructure resources across numerous cloud providers and on-premises infrastructure.
Top comments (0)