Skip to content

Tagsystem design

Introduction to Terraform


  1. Terraform declares and defines infrastructure pieces of a system.
  2. It is a workflow manager.
  3. The pieces range from IAAS (Azure EC2 instances) to PAAS (Heroku, Kubernetes services) to SAAS (LB, DNS).
  4. It uses providers for each type of component. A provider defines a set of APIs that Terraform calls to create infrastructure.
  5. Since infrastructure is defined in a text file (JSON or HCL format), it is easy to version control.
  6. A TF file is essentially a DAG, that creates components in order.
  7. TF tries to maintain a desired state of the system.
  8. Terraform uses a version control solution such as CVS, SVN, or Git.
  9. Hence it is easy to track changes and manage simultaneous multiple changes.
  10. Terraform is mostly used for creating infrastructure, not configuring it.
  11. There are four basic commands in TF:
    • Refresh
    • Plan
    • Apply
    • Delete
  12. Terraform is coded primarily in Golang.


%d bloggers like this: