Terraform (https://terraform.io) is an application by HashiCorp (https://hashicorp.com) that enables the provisioning of infrastructure for several applications and cloud providers. It allows you to write codified infrastructure using the HCL language format. It enables the concepts of reproducibility and consistency that we have discussed, and that are essential for continuous deployment.
Terraform as an application is a powerful tool and is a bigger topic than this book can cover; however, we will look at the basics of how it works to understand our demo application.
We will split our infrastructure into multiple chunks, with the infrastructure code owned by each microservice located in the source code repository.
In this section, we will look closely at the shared infrastructure and services to get a deeper understanding of the Terraform concepts. Let's take...