Build Azure VMs with Terraform using my example code
Terraform state is a database kept by Terraform to help it reconcile Terraform resource dependencies, and reconcile between Terraform code and the actual state on the target infrastructure. For example, in the state, Terraform expects to find an entry that matches your AWS resource defining a Route53 record and in your Terraform code. Whether or not the entry exits determines if Terraform will make a change or not.
Here's what I've learned so far using Terraform and its modules. I've just scratched the surface so test and research on your own.
Terraform allows you to manage your AWS, and other cloud infrastructure, the same way you would manage servers using configuration management products like CFEngine or Puppet. Terraform is idempotent and convergent so only required changes are applied.
I saw a great Terraform presentation last week at a Devops meetup. Terraform is a configuration management tool for virtual infrastructure. You can define your AWS or similar environment using a descriptive language.