Slide 1

Slide 1 text

lkysow Terraform, Collaboration and DevOps

Slide 2

Slide 2 text

lkysow Hello

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

lkysow What we'll learn: 1. Terraform 2. Benefits of codification of infrastructure 3. Benefits of Terraform collaboration

Slide 5

Slide 5 text

lkysow

Slide 6

Slide 6 text

lkysow Beginning: 30 developers, 5 operators, 1 monolith Microservices → Terraform → Terraform Collaboration End: 200 developers, 30 operators, 100+ microservices

Slide 7

Slide 7 text

lkysow JIRA Tickets and Shenanigans

Slide 8

Slide 8 text

lkysow

Slide 9

Slide 9 text

lkysow

Slide 10

Slide 10 text

lkysow anubhavm

Slide 11

Slide 11 text

lkysow

Slide 12

Slide 12 text

lkysow Benefits: Less Mistakes Faster

Slide 13

Slide 13 text

lkysow Details: Started with new services Tagged resources: “terraform" = true .tfvars files for environments: terraform plan -var-file staging.tfvars Multiple repos and remote state


Slide 14

Slide 14 text

lkysow

Slide 15

Slide 15 text

lkysow So you learned how to program…

Slide 16

Slide 16 text

lkysow Terraform Collaboration Issues: 1. Reviewing diffs 2. Terraform state out of sync with code

Slide 17

Slide 17 text

lkysow Atlantis github.com/runatlantis/atlantis

Slide 18

Slide 18 text

lkysow Atlantis Solved: 1. Reviewing diffs 2. Terraform state out of sync with code 3. Approvals

Slide 19

Slide 19 text

lkysow

Slide 20

Slide 20 text

lkysow So you learned what a pull request is…

Slide 21

Slide 21 text

But then something cool started to happen…

Slide 22

Slide 22 text

lkysow

Slide 23

Slide 23 text

lkysow Beginning: 30 developers, 5 operators, 1 monolith Microservices → Terraform → Terraform Collaboration End: 200 developers, 30 operators, 100+ microservices

Slide 24

Slide 24 text

lkysow What we learned: 1. Terraform 2. Benefits of codification of infrastructure 3. Benefits of Terraform collaboration

Slide 25

Slide 25 text

lkysow What Is The Goal? Build software better and faster Be happy while doing it

Slide 26

Slide 26 text

lkysow How Do We Get There? Shared goal Different skillsets working together

Slide 27

Slide 27 text

lkysow

Slide 28

Slide 28 text

lkysow

Slide 29

Slide 29 text

lkysow “…keeping system and application configuration in version control was more highly correlated with software delivery performance than keeping application code in version control." “Our recommendation based on these results is to use a lightweight change approval process based on peer review.”

Slide 30

Slide 30 text

lkysow lkysow github.com/runatlantis/atlantis terraform.io Thanks to @sethvargo and @anuvhavm