vitaliy@leanconvert.com


Vitaliy Sobur
Ukrainian
Technical Director


- Challenges before Terraform
- What is Terraform
- How Terraform works
- Get Started with Terraform
- Examples
IN THIS TALK

Small SaaS Piece
- Managing similar AWS infrastructures for multiple clients
- Quick setup
- Custom configurations
- Dev / Prod environments
- Quick destroy
- Versioning / Transparency of the changes made
- Maintenance by multiple developers
CHALLENGES
WHAT IS TERRAFORM

https://www.terraform.io/
write
INFUSTRUCTURE AS A CODE
- Write infrastructure config in HCL
- Store in Version Control
- Share
- Collaborate
resource "aws_instance" "web" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
tags {
Name = "HelloWorld"
}
}ONE SAFE WORKFLOW
- One workflow across multiple infrastructure providers (AWS, GCP, Azure, OpenStack, VMware, and more)
- Plans show what would happen, applies execute changes
- Terraform builds a dependency graph from the configurations, and walks this graph to generate plans, refresh state, etc.
plan





TF Providers list: https://www.terraform.io/docs/providers/
REPRODUCIBLE INFRASTRUCTURE
- Same configuration to provision identical staging, QA, and production environments.
- Package common configurations as modules
- Combine high-level system providers
create
HOW TERRAFORM WORKS

refresh
Terraform View
Real World
plan
Real World
Desired Config
apply
Plan
Real World
destroy
Plan
Real World

IaaS
(AWS, GC, Azure, ...)
PaaS
(Heroku, Lambda)
SaaS
(Github, DataDog, ...)
. . .
GETTING STARTED
ADOPTION STAGES
https://www.youtube.com/watch?v=FWpCQar9dYg

An Introduction to Terraform
By workslon
An Introduction to Terraform
- 976