00 - Terraform Introduction

Introduction

Terraform is the infrastructure as code offering from HashiCorp. It is a tool for building, changing, and managing infrastructure in a safe, repeatable way.

Using HCL as High Level Language, Terraform support Infrastrucre as Code by automating creation of those resources. Terraform provides support for desired resources on almost any provider (AWS, GCP, GitHub, Docker etc)

Feature of Terraform

Infrastructue as Code

  • Idempotent
  • Uses High Level Language (HCL)
  • Code Reusability using Modules

Execution Plan

  • Show the intent of the deploy
  • Can help ensure everything in the development is intentional

Resource Graph

  • Illustrates all changes and dependencies

Use Cases for Terraform

  • Hybrid Cloud
  • Multi-tier Architecture
  • Software Defined Networking