Introduction to Terraform & it's basics

History of Terraform? Why Terraform? Declarative vs Imperative

Learning Outcome

5

Justify why Terraform uses a Declarative model

4

Differentiate Declarative vs Imperative approaches

3

Define Terraform in technical and practical terms

2

Describe why Infrastructure as Code became necessary

1

Explain the historical problem Terraform was created to solve

6

Relate Terraform's design to modern DevOps practices

Hook/Story/Analogy(Slide 4)

Imagine a company managing 500 servers across AWS, Azure and on-prem

On-Premises

Hook/Story/Analogy(Slide 4)

Earlier method:

Engineers log into cloud console

Click to create servers

Manually configure networking

Manually attach storage

Document changes in Excel

No version control

No rollback

No consistency guarantee

Hook/Story/Analogy(Slide 4)

Now imagine:

Same infrastructure needed in 3 environments (dev, staging, prod) & Manual process repeated every time

Hook/Story/Analogy(Slide 4)

Now imagine:

Small mistake = Production outage

This was real industry problem

Hook/Story/Analogy(Slide 4)

Infrastructure complexity increased faster than human capacity to manage it manually

Just like software moved from manual coding to version-controlled pipelines, infrastructure also needed the same rigor

This need gave birth to Infrastructure as Code tools and Terraform became one of the most powerful among them

Transition from Analogy to Technical Concept(Slide 5)

Automation

Version control

Repeatability

Multi-cloud flexibility

Safe change preview

Scalable provisioning

To solve manual infrastructure chaos, the industry needed:

Transition from Analogy to Technical Concept(Slide 5)

HashiCorp introduced Terraform in 2014 as an Infrastructure as Code tool to address these exact needs

Now let us understand the journey

History of Terraform

Pre-IaC Era (Manual Infrastructure)

  • Shell scripts
  • Manual configuration
  • Click-based provisioning
  • No infrastructure version control
  • Error-prone changes

History of Terraform

Pre-IaC Era (Manual Infrastructure)

Problems:

  • High risk in production
  • No consistent audit trail
  • Hard to replicate environments

Rise of Cloud & DevOps

As cloud adoption increased:

Faster release cycles

Microservices architecture

Multi-region deployments

Auto-scaling systems

Core Concepts (.....Slide N-3)

Manual provisioning became impossible to scale

Infrastructure needed to behave like software

 Birth of Terraform

Terraform was created by HashiCorp

Key design goals:

  • Reusable modular design

  • Declarative Infrastructure

  • Cloud-agnostic approach

  • API-driven provisioning

  • State-based tracking

 Birth of Terraform

Unlike cloud-specific tools (e.g. AWS-only tools), Terraform was built to support multiple providers

This was a major architectural advantage

Growth & Ecosystem Expansion

Terraform gained adoption because:

  • Community modules

  • Huge provider ecosystem

  • Support for SaaS tools

  • Remote backends

  • State locking

Summary

5

Terraform brings software engineering discipline to infrastructure

4

Execution plan ensures safe changes

3

Terraform is declarative and state-driven

2

Terraform was introduced in 2014 to solve multi-cloud provisioning

1

Infrastructure complexity created need for IaC

Quiz

Declarative model focuses on

A. Writing loops

B. Step-by-step commands

C. Desired end state

D. Shell scripting

Quiz

Declarative model focuses on

A. Writing loops

B. Step-by-step commands

C. Desired end state

D. Shell scripting