-
What is Terraform?
- Terraform is an open source tool that allows you to define infrastructure for a variety of providers (e.g. AWS, Azure, Google Cloud, DigitalOcean, DataDog, VMWare, GitHub, etc) using a simple, declarative programming language and to deploy and manage that infrastructure using a few CLI commands.
-
Terraform Workflow
- Scope - Confirm what resources need to be created for a given project.
- Author - Create the configuration file in Terraform template files based on the scoped parameters
- Initialize - Run
terraform init
in the project directory with the configuration files. This will download the correct provider plug-ins for the project. - Plan & Apply - Run
terraform plan
to verify creation process and thenterraform apply
to create real resources as well as state file that compares future changes in your configuration files to what actually exists in your deployment environment.