Terraform workspaces
Software development requires multiple environments. You develop software within your workspace, deploy it into the development environment, unit test it, and then promote the tested code to a test environment. Your QA team will test the code extensively in the test environment, and once all test cases pass, you can promote your code to production.
Well, that means you need to maintain a similar infrastructure in all environments. With an IaC tool such as Terraform, infrastructure is represented as code, and we have to manage our code to fit multiple environments. But Terraform is not just code, it also contains state files, and we have to maintain state files for every environment.
Let's suppose you need to create three resource groups, terraform-exercise-dev
, terraform-exercise-test
, and terraform-exercise-prod
. Each resource group will contain a similar set of infrastructure with similar properties. For example, let's say each resource group...