Slide 1

Slide 1 text

DevOps with Terraform @dustyburwell

Slide 2

Slide 2 text

What’s a Terraform?

Slide 3

Slide 3 text

A tool for building, changing, and versioning infrastructure safely and efficiently

Slide 4

Slide 4 text

A runtime that translates declarative config files into API requests, often setting up cloud infrastructure

Slide 5

Slide 5 text

A function that takes a current state and the desired state, produces a diff, then translates that diff into side-effects in the form of API calls that mutate the state of your infrastructure

Slide 6

Slide 6 text

Infrastructure as Code & Immutable Infrastructure Everything after that is just software engineering

Slide 7

Slide 7 text

Infrastructure .tf config files .tf config files .tf config files

Slide 8

Slide 8 text

Infrastructure .tf config files .tf config files .tf config files Plan diff

Slide 9

Slide 9 text

Infrastructure .tf config files .tf config files .tf config files Plan diff apply Infrastructure

Slide 10

Slide 10 text

vs. Chef, Puppet, Ansible, etc?

Slide 11

Slide 11 text

Providers

Slide 12

Slide 12 text

Resources Anything that can be controlled through the API. Which is just about everything.

Slide 13

Slide 13 text

Demo - Create a Network

Slide 14

Slide 14 text

Data Sources Almost anything that can be read through the API.

Slide 15

Slide 15 text

Demo - Create some machines

Slide 16

Slide 16 text

Backends and State

Slide 17

Slide 17 text

Working with provisioners

Slide 18

Slide 18 text

null_resource

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Demo - Create an ASG

Slide 21

Slide 21 text

lifecycle

Slide 22

Slide 22 text

Modularization

Slide 23

Slide 23 text

Testing

Slide 24

Slide 24 text

Infrastructure as Code & Immutable Infrastructure Everything after that is just software engineering

Slide 25

Slide 25 text

Questions?