This article outlines what operations in Terra have a cloud cost and how you will pay for Azure cloud charges using a linked Azure subscription. It explains how Terra and Azure billing are related (i.e., Terra Billing projects act as pass-throughs to cover cloud costs of your work in Terra) and how Azure calculates and bills Terra users for charges (broadly).
What has a cost (Azure Cloud fee) in Terra
The Terra platform itself is a cloud-native system that does not charge administration or support fees. You pay only for the resources you use, including fixed infrastructure costs to set up billing and workspaces, and cloud costs associated with operations in Terra.
Cloud costs passed through via a Terra Billing project
Infrastructure | Shared resources | Starts to accrue when you create a Terra Billing project (about $5/day). |
Workspace data service | An application that powers data tables is started when you create a workspace (costs about $5/day) | |
Data storage | Workspace storage (blob storage container) |
Created when you create a workspace. Cost based on usage (see Azure blob storage pricing). |
Analysis (compute and disk) |
Running analysis apps (JupyterLab) | Cost based on usage (see Azure Cloud compute and Azure Cloud disk rates). |
Running workflows (coming soon) |
Accrues when workflow is running (see Azure Cloud compute and Azure Cloud disk rates). | |
Egress | Copying data from Google Cloud buckets | Cost based on usage (see Azure Cloud bandwidth pricing). |
Terra passes along Azure charges with no markup (the links above will take you directly to the Azure pricing pages).
How you are billed for work in Terra
There are two categories of cloud costs in Terra: fixed infrastructure costs and variable/working costs (i.e., cloud resources you use for data storage, egress, and analysis).
Below is more information about Terra/Azure billing structure. It is a top priority for us to reduce these costs - especially fixed infrastructure costs - in the near future.
Fixed infrastructure cost (per Terra Billing project)
When you create a Terra Billing project, Terra sets up shared resources (Billing project-level infrastructure) behind the scenes. This cloud framework is needed to build workspaces and run analysis apps.
You pay a fixed price for these infrastructure resources (currently about $5/day per Billing Project), which are shared across all workspaces under a single Terra Billing Project umbrella.
Workspace infrastructure costs
When you create a workspace, Terra sets up workspace-specific resources that power workspace data tables. This user-owned infrastructure ensures Terra on Azure users have maximum control of where all data in Terra is stored. You pay a fixed price for these resources (currently about $5/day per workspace). Note that this is in addition to the $5/day per billing project costs.
Fixed cloud costs accrue as long as you have a Terra Billing project/workspaceThere is currently no way to delete a Terra Billing project or workspace, once you create it. If you want to pause resources on your billing project to reduce costs after you start working in Terra on Azure Preview, please reach out to support@terra.bio for assistance.
It is a top priority for us to reduce this cost in the near future.
Cloud resource costs (workspace-level)
You pay for cloud resources you use, such as data storage (unstructured and tabular data), egress (copying between cloud providers, or between regions within a single cloud provider), and analysis compute and disk (i.e., virtual machines, or VMs).
Costs for the cloud resources you use are calculated per workspace (not per user)
All work with a cost in Terra is done in these computational sandboxes. The costs for the cloud resources you use (storage, analysis compute and disk, and data egress) are covered by a linked Azure subscription by way of the Terra Billing project associated with the workspace.
You can think of paying for work in Terra much like paying for electricity in your house: the owner (or whoever's name is on the electric bill) is responsible for all the electricity used, not who uses it. As with your electric bill, it's not even possible in Terra to directly identify who is responsible for the cloud charges. For this reason, you will want to be careful when sharing a workspace, as any colleague with permission to spend can accrue cloud costs in the workspace.
Terra Billing projects link Terra workspaces to Cloud billing
The Terra Billing project acts as a passthrough between Terra and your Azure subscription. It is how you pay for cloud resources you use when working in Terra.
The linked Azure subscription pays all cloud costs
Terra billing structure in a nutshell: Each Terra Billing project has an umbrella
Azure subscription that pays for all workspace costs by way of a Terra Billing Project.
Blue boxes are Azure components, gray boxes are Terra components.
Every workspace is assigned to a Terra Billing project when it’s created. Thus, to create a workspace in Terra, you need access to a Terra Billing project (see How to set up billing in Terra for step-by-step instructions). Once you have a Terra Billing project, you can create or clone (copy) a workspace. All operations in the workspace will be funded by the Azure subscription via the Terra Billing project.
You do not need to be a user on a Terra Billing project to work in Terra!This is because work is paid for through the workspace Billing project. You can work in someone else's workspace if it's been shared with you (and you have the right permissions).
For example, colleagues with workspace writer permission can run workflows and interactive analyses (Galaxy, Jupyter, and RStudio). Resource costs are covered by the umbrella Azure subscription, no matter who does the work.
Why is Terra’s Azure cost model different from Google's?
If you're familiar with Terra on Google, you may notice that the cost model for Terra on Azure is different. One significant difference is that some Terra-owned infrastructure has been shifted to user-owned in Terra on Azure. This change allows Terra on Azure to be more scalable and flexible, and gives billing project owners and workspace owners more control to maintain the isolation and security of your data. It does come with some added costs.
What to expect
When you create a billing project or workspace, Terra creates fixed infrastructure resources to run Terra on Azure. The billing project resources are shared across workspaces and applications within a workspace. The workspace infrastructure powers the workspace data tables. In Google, Terra owns and manages some of these resources for you, but in Azure, everything is managed within your Azure subscription, giving you maximum control over where all of your data in Terra is stored.
We are working to provide more cost-effective infrastructure options in the near future.
Cost monitoring (Terra on Azure)
Terra estimates the costs of running JupyterLab in a workspace cloud environment (see screenshots below). Note that these are estimates only of the VM compute cost per hour and cost per month of the VM disk.
In the environment details pane
|
In the sidebar
|
Billing project users and owners can also see these cost estimates in the Billing page. The VM compute cost (per hour) is indicated with an arrow at the top in the screenshot below. The disk cost (per month) is at the bottom.
Azure cost reporting
Currently only those with access to the subscription in the Azure portal can monitor detailed and exact costs as reported by Azure. Cost reports are based on the application deployed within the subscription.
See the Microsoft documentation Get started in cost analysis.