REX

at


ressource summary "paris_hashicorp_user_group" {
    type  = "meetup"
    date  = "11/07/2017"
    parts = [
        "Intro",
        "Why Terraform ?",
        "Implementation",
        "Terraform in the delivery pipeline",
        "So Terraform ?"
    ]
}

Intro

R&D tinyclues team is split in 4 feature teams

My feature team is: Tools & Productivity

our mission is to provide tools and best practices in tinyclues engineering

Intro

Text

Why Terraform ?

Why Terraform ?

Iso prod

Why Terraform ?

Fast                            Simple

Why Terraform ?

Directed Acyclic Graph

Implementation

Software Factory

Implementation

When another team use also Terraform ...

Implementation

How to use Terraform at Scale ?

Split your code in multiple part

Implementation

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

make plan ENV=production STACK=root
make apply ENV=production STACK=root
make shell

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Implementation

How to use Terraform at Scale ?

Terraform in the delivery pipeline

Terraform in the delivery pipeline

Terraform in the delivery pipeline

Mistral

Terraform in the delivery pipeline

variable "service0" {
  type = "map"

  default = {
    version = "32"
    image = "service0"
    registry = "my_awesome_registry.com"
  }
}

Terraform in the delivery pipeline

What we deployed with terraform ?

So Terraform ?

Terraform, what's next ?

So Terraform ?

+ -
Directed Acyclic Graph Understand the language
(Not real structure control)
Declarative language Not simple to use with existing resources
Awesome interpolation functions Some language limitations
Encourage good design practices
Separate the planning phase from the execution phase


ressource tinyclues_questions "questions" {

}


ressource tinyclues_recruitment "recruitment" {
    who = "Jean-Yves Rivallan"
}

Ressources

  • https://charity.wtf/2016/02/23/two-weeks-with-terraform/
  • https://github.com/segmentio/terraform-docs
  • https://github.com/gruntwork-io/terragrunt
  • https://blog.gruntwork.io/terraform-tips-tricks-loops-if-statements-and-gotchas-f739bbae55f9
  • https://www.youtube.com/watch?v=RldRDryLiX

REX

By Damien Goldenberg