What About Chef And Puppet, Don’t They Solve This Problem?
Chef and Puppet vs. Terraform
Chef and Puppet are configuration management tools. They are designed to configure and manage the software that is running on a machine (infrastructure) that already exists. Terraform, on the other hand, sits above that at the abstraction layer and is designed to set up all of the infrastructures that make up your system, such as load balancers, servers, DNS records, etc. In other words, Puppet and Chef are used to configure servers, while Terraform is used to create the server itself.