Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!

Today, we are kicking off a series of blog posts on how to define and manage infrastructure-as-code in the real world using Terraform. If you haven’t used it before, Terraform is an open source tool that allows you to define infrastructure for a variety of cloud providers (e.g. AWS, Azure, Google Cloud, DigitalOcean, etc) using a simple, declarative programming language and to deploy and manage that infrastructure using a few CLI commands: A Comprehensive Guide to Terraform

A Comprehensive Guide to Terraform
A Comprehensive Guide to Terraform

In this intro post, we’ll discuss why we believe every software company should be using infrastructure-as-code. In the rest of this series, we will cover topics such as why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation, an introduction to Terraform, how to manage Terraform state, how to create reusable infrastructure with Terraform modules, Terraform tips & tricks such as loops, if-statements, and pitfalls, and how to use Terraform as a team.