Appendix A. Terraform Cloud in Five Minutes
A cloud infrastructure requires a provisioning and maintenance regime in the same way as your application code. Clicking through AWS Console screens is an easy way to get started, but it won’t scale in larger organizations. This is where tools like Cloud Formation, AWS CDK, and Terraform come in handy. Terraform is an open source “infrastructure as code” tool written in Go by HashiCorp that relies on a simple descriptive language to define all your cloud resources. Terraform specializes in creating entire server instances on AWS for you while making a detailed map of all the infrastructure that you have running on AWS. Thus, it’s a highly effective tool for managing your AWS inventory at scale.
Terraform is also extremely modular and lets you reuse your infrastructure-provisioning code efficiently. So if you need to re-create your infrastructure for an additional team or environment, Terraform’s modular design protects you from code repetition. This is especially useful when dealing with microservices since it is common to have independently running replicable architecture for each end user use case.
Many books on Terraform do a great job explaining it in depth. I personally enjoyed reading Terraform: Up and Running by Yevgeniy Brikman (O’Reilly). HashiCorp also provides great documentation on its website if you want to learn more. Here, I go over the basics to teach you what you need to get started and use the source code that is provided ...