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

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