Terraform is an open source tool for defining infrastructure components (like virtual machines, networks, load balancers, and databases) in code. This code can be shared, edited, reviewed, and versioned just like any other software. Furthermore, errors in the infrastructure definition can be quickly detected and resolved through automated testing. By using code to define infrastructure, we can exploit the same tried-and-true techniques and best practices (like version control) used for application code. Because the infrastructure declarations are code, they can be built, reconfigured, and torn down simply, efficiently, and repeatably. This session provides an overview of Terraform architecture and philosophy. The overview will be followed by a comprehensive tour of Terraform’s syntax, grammar, and capabilities. (4 hours)