Slide 1

Slide 1 text

Introduction to Terraform 2015/4/17 @ HDE MTS #11 TANABE Ken-ichi

Slide 2

Slide 2 text

Terraform, it’s HashiCorp’s product

Slide 3

Slide 3 text

Terraform, it’s HashiCorp’s product ● Vagrant (written in Ruby) Programmable Virtual Machine Frontend ● Packer (written in Go) Programmable Machine Image Builder ● Consul (Yes, Go!) Distributed KVS, Service Discovery, etc ● and Terraform (Yes, Go!) Programmable IaaS

Slide 4

Slide 4 text

Documentation ● Good Docs but… ● Spend much time ● Click, Click, Click ● Not repeatable ● CloudFormation?

Slide 5

Slide 5 text

CloudFormation ● JSON nightmare… ● Repeatable ● Not maintainable ● Not intuitive at ALL ● No dry-run

Slide 6

Slide 6 text

Terraform comes to the rescue ● No JSON! ● Simple, easy-to-use DSL ● Built-in dry-run feature ● Not only for AWS but for GCP, Heroku, ... ● Calculate dependencies on behalf of us ● Everything is in version control ● No migration tool for now

Slide 7

Slide 7 text

Seeing is believing 百聞は一見にしかず ● Live Demonstration ● VPC ● Subnet ● Security Group ● ELB ● EC2

Slide 8

Slide 8 text

VPC

Slide 9

Slide 9 text

Subnet

Slide 10

Slide 10 text

Security Group

Slide 11

Slide 11 text

Internet Gateway

Slide 12

Slide 12 text

Route Association

Slide 13

Slide 13 text

ELB

Slide 14

Slide 14 text

Last: EC2

Slide 15

Slide 15 text

omake (Appendix)

Slide 16

Slide 16 text

Thank you for listening Any question? You can find this example at https://github.com/nabeken/mts-terraform-example/tree/7