# Workspaces

When working with Terraform at Enterprise level, you need to organize your infrastructure in different collections. Terrakube manages infrastructure collections with **workspaces**. A workspace contains everything Terraform needs to manage a given collection of infrastructure, so you can easily organize all your resources based in your requirements.

For example, you can create a workspace for dev environment and a different workspace for production. Or you can separate your workspaces based in your resource types, so you can create a workspace for all your SQL Databases and anothers workspace for all your VMS.

<figure><img src="https://3421131615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx1Ja1Osjf4KfhcMlJJom%2Fuploads%2Fgit-blob-23dcaf36729e7a1e7eb7ad80f4c56d4526d6d742%2FUntitled.drawio.png?alt=media" alt=""><figcaption></figcaption></figure>

You can create unlimited workspaces inside each Terrakube Organization. In this section:

{% content-ref url="workspaces/creating-workspaces" %}
[creating-workspaces](https://docs.terrakube.io/2.21.0/user-guide/workspaces/creating-workspaces)
{% endcontent-ref %}

{% content-ref url="workspaces/terraform-state" %}
[terraform-state](https://docs.terrakube.io/2.21.0/user-guide/workspaces/terraform-state)
{% endcontent-ref %}

{% content-ref url="workspaces/variables" %}
[variables](https://docs.terrakube.io/2.21.0/user-guide/workspaces/variables)
{% endcontent-ref %}

{% content-ref url="workspaces/workspace-scheduler" %}
[workspace-scheduler](https://docs.terrakube.io/2.21.0/user-guide/workspaces/workspace-scheduler)
{% endcontent-ref %}
