Debugging in the Cloud with Datadog and HashiCorp

A presentation at Datadog & HashiCorp webinar in November 2020 in by Daniel "phrawzty" Maher

Slide 1

Slide 1

Debugging in the Cloud with Datadog and HashiCorp

Slide 2

Slide 2

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

Slide 3

Slide 3

Agenda

What is infrastructure as code?

Understanding observability

Live demo

Slide 4

Slide 4

Infrastructure as Code

Slide 5

Slide 5

Infrastructure as Code

Slide 6

Slide 6

Infrastructure as Code

Slide 7

Slide 7

Infrastructure as Code ▪ executable documentation

Slide 8

Slide 8

Infrastructure ▪ executable documentation as Code ▪ enables collaboration

Slide 9

Slide 9

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

Slide 10

Slide 10

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

Slide 11

Slide 11

HashiCorp Configuration Language

Slide 12

Slide 12

HashiCorp Configuration Language

Slide 13

Slide 13

Slide 14

Slide 14

Slide 15

Slide 15

CODE EDITOR HashiCorp Configuration Language

Slide 16

Slide 16

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

Slide 17

Slide 17

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

Slide 18

Slide 18

CODE EDITOR HashiCorp Configuration Language

Slide 19

Slide 19

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

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

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

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

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

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

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

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

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

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

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

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

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

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

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

Slide 35

Understanding observability

Slide 36

Slide 36

Slide 37

Slide 37

Slide 38

Slide 38

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

Slide 39

Slide 39

How do Datadog & Terraform integrate?

Slide 40

Slide 40

Datadog Provider for Terraform

Slide 41

Slide 41

Demo

Slide 42

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

Slide 43

Q&A

Slide 44

Slide 44

Thank You 44