Plugin-based Architecture

Learn about the plugin-based architecture of Terraform.

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 ...