Debugging in the Cloud with Datadog and HashiCorp

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

Agenda

What is infrastructure as code?

Understanding observability

Live demo

Infrastructure as Code

Infrastructure as Code

Infrastructure as Code

Infrastructure as Code ▪ executable documentation

Infrastructure ▪ executable documentation as Code ▪ enables collaboration

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

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

HashiCorp Configuration Language

HashiCorp Configuration Language

CODE EDITOR HashiCorp Configuration Language

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

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

CODE EDITOR HashiCorp Configuration Language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Understanding observability

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

How do Datadog & Terraform integrate?

Datadog Provider for Terraform

Demo

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

Q&A

Thank You 44