James Turnbull rejoins the show with Robert Blumen for a conversation mostly about Terraform, as well as a bit about Puppet. Terraform is a declarative programming tool for automating infrastructure resource creation; it targets resource providers, such as Amazon AWS, Microsoft Azure, Digital Ocean, and other cloud and SAAS back ends. The discussion explores the programming language used by Terraform (TF); what TF does when it runs; why a declarative language is a good fit for infrastructure resource creation; and how infrastructure operation is becoming more like programming, with a build pipeline, testing, and deployment. The episode considers TF’s internals, its similarities and differences with Puppet, and some speculation about whether declarative programming is the future of programming.