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
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)
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)
History of Terraform
Pre-IaC Era (Manual Infrastructure)
Problems:
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
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