Understanding how to control costs can be especially important (though sometimes challenging) for a team working together using a shared funding source. Read on for two ways to share funding resources (shared workspaces and shared Billing projects), depending on your collaboration needs.
- For information on Best Practices for sharing data resources, see this article
- To learn about sharing GCP Billing accounts (if colleagues need to be able to create their own Terra Billing projects, or look at detailed cost breakdown and reports), see this article
Overview: How costs are calculated in Terra
The costs of working in Terra are GCP fees that are passed along to users without any markup via a Terra billing project. GCP costs are based on how much storage, egress and compute is done in the project workspace (bottom level). Workspace costs are covered via the workspace billing project (middle level), funded by a GCP Billing Account (top level).
Consider the case of several collaborators under the same funding source umbrella. The funding will be associated with a GCP Billing Account (top level above). Collaborators can access the shared funds at any level of the billing hierarchy, depending on how they will be working together (in their own workspaces? In a shared workspace?). For a detailed description of the structure of costs and permissions in Terra, see this article.
Below are two options for managing shared team costs, depending on how colleagues will be working together.
Working in shared team workspaces (PIs have most control)
Workspace owners can share a workspace with an individual collaborator or a managed group. When you share, you control what your collaborator can do in the workspace. Note that workspace owners are able to change collaborator roles at any time.
Setting up a shared team workspace
- Create the workspace
- Make the team a managed group (Go to "Profile" -> "Groups" in the main navigation)
- Open the "Share workspace" form by selecting "Share" after clicking the three vertical dots
- Add the group to collaborators (start typing in the group name in the "User email" field)
Note that you need to select "enter" or "return"!
- Select the group's permissions
- Don't forget to save!
|Note that everyone in the group shares the same workspace permissions.
To assign more granular permissions, add individual collaborators
one at a time.
Controlling spending in a shared workspace
Depending on what roles you assign when you share the workspace, collaborators will be able to do the following (actions that have a GCP cost are in bold):
- Move, copy and store data
- Run an interactive analysis (Jupyter notebook)
- Run a workflow (note that this will generate data that will be stored by default in the workspace bucket)
When you share a workspace, you decide what each collaborator (lab member, for example) or managed group is able to do in the workspace. For example, "writer - can-compute" permissions, enable colleagues to edit the dashboard, add data, notebooks, and workflows to the workspace, and run analyses. You can change an individual or group's permission at any time, and it takes effect immediately.
All GCP costs are billed to the workspace billing project
Note that it is not possible to get cost breakdowns by user for different
How to add/remove individuals from a shared workspace
If adding someone, you need to hit "enter" (or "return") after entering their User email. Don't forget to save after changing!
How to add/remove a user from a workspace shared with a Group
1. Go into ""Your Name" -> "Groups" from the main navigation menu
2. Edit the person's role in the group (you must have the right permissions, of course!)
Working in separate workspaces with team Billing projects
Owners and administrators of the GCP Billing account can create a team billing project or separate billing projects (for different collaborators or projects). One advantage of this is it is easy to monitor and cut off spend by Billing project.
Access to a Billing project allows a collaborator to create their own workspaces. The workspace creator is the "owner" by default, and will be able to store and analyze data in any workspaces they create.
Being on team Billing project does not allow the collaborator to work in any workspaces created by others in the team - even under the shared billing project! That requires the workspace owner to grant the appropriate workspace permission to the user (option 1, above).
How to add/remove a collaborator to/from a Terra Billing project - step-by-step
Select the Billing Account, and name the project:
Once you have created a project, you can add a person to the project in Terra by going to "Billing" from the main navigation menu by clicking on the "+" icon next to "BILLING PROJECTS":
Controlling spend when using shared Billing projects
Removing someone from a billing project does not keep them from
We repeat - Users can still run workflows and notebooks even
Eliminating spend checklist
- Remove user from shared workspaces owned by other team members (if you still want to keep these workspace)
- Delete all workspaces created by the user (if you don't mind losing the data and other resources in the workspace)
- or -
Assign a different owner and remove the user from the workspace (if you want to keep the workspace)
Disable billing on unused projects to control costs
|If you are no longer using a shared Billing project, you can disable
billing for any projects associated with workspaces the user cloned or
created (to prevent additional costs accruing if you no longer want to
compute in the workspace (see directions below).
Disabling billing projects - step-by-step instructions
- Make sure you are logged into Chrome as the GCP Billing Account admin or owner where you’re trying to control spending.
- Go to the Google Cloud Console at https://console.cloud.google.com/home:
- Go to Billing overview:
- Select “Account Management” from the bottom left:
- You will see all projects created under this Billing Account. Click on the three vertical dots beside the billing project you want to disable and select “Disable”:
Once you disable project billing, no one will be able to start a workflow or notebook in any workspace under this project - effective immediately.
Not able to follow these steps?
|If you don't see the options in the screenshots, it is likely because
you don't have the right permissions on the GCP Billing account. For
example, if you are using STRIDES or third party resellers such as
Onix, you may not be able to follow these steps unless you request
admin privileges from the third-party reseller (who is the Owner).
You will need to ask the Billing account owner for admin privileges to
Why doesn't removing someone's billing permissions
|GCP costs are billed by billing project, not by user. If the workspace
still has a valid billing project, any user with "can-compute"
permissions will still be able to run workflows or notebooks in
workspaces. When you remove users from the billing account or
project, they will not be able to create new workspaces, but they can
still accrue GCP costs!