Slides & transcript
Debugging in the Cloud with Datadog and HashiCorp
Slide 1

Debugging in the Cloud with Datadog and HashiCorp
Slide 2

Taylor Dolezal Daniel Maher Developer Advocate HashiCorp @onlydole Developer Advocate Datadog @phrawzty
Slide 3

Agenda What is infrastructure as code? Understanding observability Live demo
Slide 4

Infrastructure as Code
Slide 5

Infrastructure as Code
Slide 6

Infrastructure as Code
Slide 7

Infrastructure as Code ▪ executable documentation
Slide 8

Infrastructure ▪ executable documentation as Code ▪ enables collaboration
Slide 9

Infrastructure ▪ executable documentation as Code ▪ enables collaboration ▪ safe and predictable
Slide 10

Infrastructure ▪ executable documentation as Code ▪ enables collaboration ▪ safe and predictable
Slide 11

HashiCorp Configuration Language
Slide 12

HashiCorp Configuration Language
Slide 13

Slide 14

Slide 15

CODE EDITOR HashiCorp Configuration Language
Slide 16

CODE EDITOR HashiCorp Configuration Language service { key = “value” }
Slide 17

CODE EDITOR HashiCorp Configuration Language service { key = “value” }
Slide 18

CODE EDITOR HashiCorp Configuration Language
Slide 19

CODE EDITOR service “http” “web_proxy” { HashiCorp Configuration Language }
Slide 20

CODE EDITOR service “http” “web_proxy” { HashiCorp Configuration Language }
Slide 21

CODE EDITOR service “http” “web_proxy” { HashiCorp Configuration Language listen_addr = “127.0.0.1:8080” }
Slide 22

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } }
Slide 23

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } }
Slide 24

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } }
Slide 25

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } }
Slide 26

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } }
Slide 27

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { }
Slide 28

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 29

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 30

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 31

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 32

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:8080” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 33

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:${var.port}” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 34

CODE EDITOR service “http” “web_proxy” { listen_addr = “127.0.0.1:${var.port}” HashiCorp Configuration Language process “server” { command = [“proxy-app”, “server”] } } variable “port” { description = “Port for web_proxy” default } = 8080
Slide 35

Understanding observability
Slide 36

Slide 37

Slide 38

One platform with seamlessly integrated, smart tooling Try a free trial at datadoghq.com
Slide 39

How do Datadog & Terraform integrate?
Slide 40

Datadog Provider for Terraform
Slide 41

Demo
Slide 42

Sign up for Datadog datadoghq.com/free-datadog-trial/ Resources Sign up for Terraform Cloud app.terraform.io/signup/account Datadog Provider for Terraform terraform.io/docs/providers/datadog/ Demo: StoreDog Application github.com/datadog/ecommerce-workshop Demo: Debugging the Cloud https://github.com/onlydole/debugging-the-cloud © 2019 HashiCorp 42
Slide 43

Q&A
Slide 44

Thank You 44