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

Terraform-now-and-the-future

 Terraform-now-and-the-future

stefanco

July 31, 2015
Tweet

More Decks by stefanco

Other Decks in Technology

Transcript

  1. TERRAFORM TERRAFORM NOW AND THE FUTURE NOW AND THE FUTURE

    https://terraform.io/ Terraform http://127.0.0.1:8000/?print-pdf#/ 1 of 27 31/07/15 15:40
  2. EMPTY SLIDE EMPTY SLIDE this slide was left empty on

    purpose Terraform http://127.0.0.1:8000/?print-pdf#/ 2 of 27 31/07/15 15:40
  3. CHOICE OF TOOLS CHOICE OF TOOLS hard to create with

    the wrong tools Terraform http://127.0.0.1:8000/?print-pdf#/ 3 of 27 31/07/15 15:40
  4. AGENDA AGENDA An understanding of the current tech stack. 1.

    What is Terraform and at which layer do you use it 2. How it is being used currently 3. How will the work�ow evolve and mature to make your life easier in the immediate future 4. Demo 5. Terraform http://127.0.0.1:8000/?print-pdf#/ 4 of 27 31/07/15 15:40
  5. AGENDA AGENDA An understanding of the current stack. 1. Terraform

    http://127.0.0.1:8000/?print-pdf#/ 5 of 27 31/07/15 15:40
  6. LAYERS OF THE TECHNOLOGY STACK LAYERS OF THE TECHNOLOGY STACK

    Terraform http://127.0.0.1:8000/?print-pdf#/ 6 of 27 31/07/15 15:40
  7. AGENDA AGENDA An understanding of the current tech stack. 1.

    What is Terraform, at which layer do we use it, and why 2. Terraform http://127.0.0.1:8000/?print-pdf#/ 8 of 27 31/07/15 15:40
  8. WHAT IS TERRAFORM WHAT IS TERRAFORM golang project by Hashicorp

    - common con�guration abstraction layer to launch infrastructure once launched TF can safely and ef�ciently manage iterations to infrastructure con�guration built in dependency resolution easy to share infrastructure between teams modular from the beginning https://github.com/hashicorp /terraform/ Terraform http://127.0.0.1:8000/?print-pdf#/ 9 of 27 31/07/15 15:40
  9. AT WHICH LAYER IS TF USED IN AT WHICH LAYER

    IS TF USED IN it is used to manage the cloud provider infrastructure (AWS for now) Terraform http://127.0.0.1:8000/?print-pdf#/ 10 of 27 31/07/15 15:40
  10. AGENDA AGENDA An understanding of the current tech stack. 1.

    What is Terraform, at which layer do we use it, and why 2. How it is being used currently 3. Terraform http://127.0.0.1:8000/?print-pdf#/ 13 of 27 31/07/15 15:40
  11. CURRENT USE IN PROJECTS CURRENT USE IN PROJECTS QA migration

    (opsvpc) and user-registration Terraform http://127.0.0.1:8000/?print-pdf#/ 14 of 27 31/07/15 15:40
  12. HOW IS IT BEING USED HOW IS IT BEING USED

    Terraform http://127.0.0.1:8000/?print-pdf#/ 15 of 27 31/07/15 15:40
  13. AGENDA AGENDA An understanding of the current tech stack. 1.

    What is Terraform, at which layer do we use it, and why 2. How it is being used currently 3. How will the work�ow evolve and mature to make your life easier in the immediate future 4. Terraform http://127.0.0.1:8000/?print-pdf#/ 18 of 27 31/07/15 15:40
  14. VCS BACKED MODULES VCS BACKED MODULES this is the MOST

    IMPORTANT BIT TO UNDERSTAND OUT OF TODAY presentation modules generic enough to be stored in Github re-used in another team with the built-in module fetching by terraform adjust inputs and outputs then use the built modules Terraform http://127.0.0.1:8000/?print-pdf#/ 19 of 27 31/07/15 15:40
  15. AGENDA AGENDA An understanding of the current tech stack. 1.

    What is Terraform, at which layer do we use it, and why 2. How it is being used currently 3. How will the work�ow evolve and mature to make your life easier in the immediate future 4. Demo 5. Terraform http://127.0.0.1:8000/?print-pdf#/ 20 of 27 31/07/15 15:40
  16. TEAM A AND B TEAM A AND B terraform remote

    modules two teams using the same terraform modules in their codebase Terraform http://127.0.0.1:8000/?print-pdf#/ 21 of 27 31/07/15 15:40
  17. TEAM A AND B #2 TEAM A AND B #2

    team B iterates faster team B moves to a different version of the module team A is not affected Terraform http://127.0.0.1:8000/?print-pdf#/ 22 of 27 31/07/15 15:40
  18. THINGS I HAVENT COVERED THINGS I HAVENT COVERED single terraform

    codebase shared between environments, driven by different input �les ( variables.tf ) terraform modules dont cleanly map 1:1 to puppet roles/pro�les Terraform http://127.0.0.1:8000/?print-pdf#/ 23 of 27 31/07/15 15:40