Search⌘ K
AI Features

Plugin-based Architecture

Explore Terraform's plugin-based architecture to understand how core components and providers operate separately. Learn to manage multiple different providers or instances of the same provider using aliases, enabling effective deployment of infrastructure across regions and cloud platforms.

Terraform architecture

Terraform is written in the Go programming language (Golang) and provided as a single binary that includes core components required to parse and deploy Terraform configurations. It doesn’t include the code necessary to interact with various providers and provisioners. That code is supplied via plugins. Each plugin is executed as a separate process communicating with the core Terraform binary using an RPC interface.

Note: Many providers’ codes used to be bundled into the Terraform binary. This caused the binary to bloat as more providers were added and forced a new version of Terraform each time a provider wanted to add or update a feature. HashiCorp shifted to a plugin architecture to lean out the Terraform ...