

We will use this to install the Terraform command-line interface (CLI) where we will execute different Terraform commands. Terraform Setupįor running our examples, let us download a binary distribution for our specific operating system for local installation. The Terraform AWS provider is a plugin for Terraform that allows for the full lifecycle management of AWS resources. Terraform Core communicates with plugins using remote procedure calls (RPC) and does resource state management and constructs the resource tree.

Terraform Core is a binary written in Go and provides the Terraform command-line interface(CLI).Ī Terraform plugin is an executable binary also written in Go and exposes an implementation for a specific service, like AWS or Azure, or a provisioner, like bash.Īll providers and provisioners used in Terraform configurations are plugins.

Terraform is logically split into two main parts: “Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services.”įor defining resources with Terraform, we specify the provider in a configuration file and add configurations for the resources in one or more files.
Terraform version constraint manual#
Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of a manual process. This article is accompanied by a working code example on GitHub. In this post, we will look at the capabilities of Terraform with examples of creating resources in the AWS cloud. Terraform provides a common language for creating infrastructure for multiple cloud providers thereby becoming a key enabler for multi-cloud computing. Infrastructure has now moved away from physical hardware in data centers to software-defined infrastructure using virtualization technology and cloud computing.Īll the cloud providers provide services for the creation and modification of infrastructure resources through code like AWS Cloudformation and Azure Resource Manager. Provisioning infrastructure resources has always been a time-consuming manual process.
