Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Terraform, Collaboration and DevOps

Terraform, Collaboration and DevOps

DevOps is about collaboration. One of the most effective ways to collaborate is through code. Code gives us a common representation that everyone can learn and use to understand how something is built. Enter Terraform: a coding language that builds infrastructure. With Terraform, we now have a common language that everyone can learn and use to understand how infrastructure is built and configured. Terraform can configure many different clouds including AWS, GCP and Azure.

In this talk, I'll introduce Terraform and live demo creating infrastructure with it. I'll discuss the pros and cons of using Terraform to manage your infrastructure. Then I'll cover how to enable collaboration through Terraform and demo an open source tool for collaborating on Terraform via pull request called Atlantis (runatlantis.io).

Luke Kysow

July 12, 2018
Tweet

More Decks by Luke Kysow

Other Decks in Programming

Transcript

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

    of infrastructure 3. Benefits of Terraform collaboration
  2. lkysow Beginning: 30 developers, 5 operators, 1 monolith Microservices →

    Terraform → Terraform Collaboration End: 200 developers, 30 operators, 100+ microservices
  3. 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

  4. lkysow Beginning: 30 developers, 5 operators, 1 monolith Microservices →

    Terraform → Terraform Collaboration End: 200 developers, 30 operators, 100+ microservices
  5. lkysow What we learned: 1. Terraform 2. Benefits of codification

    of infrastructure 3. Benefits of Terraform collaboration
  6. 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.”