The documentation that will help you analyze whether each should have a dedicated environment is here. In general you should consider the following:
- Security -
- A proper RBAC strategy can be applied when you segregate production assets into their own workspace so that developers, consultants or other less privileged roles will not have access
- If your pre-prod environments such as test or QA contain any production data they should be equally protected (with the assumption that your production data is sensitive and cannot be leaked)
- Data in the development tier should be thoroughly scrubbed and non-impactful if exfiltrated
- Complexity -
- You will have additional operational overhead from running multiple workspaces that can be somewhat minimized by using GitOps deployment approaches to deployment
- You might be able to combine a couple of environments into a single workspace if their data security requirements are identical
- You will have additional operational overhead from running multiple workspaces that can be somewhat minimized by using GitOps deployment approaches to deployment