Cost breakdown - Tags and Cost Partitions
Tags in Teevity
Tags are the foundation for a lot of features in Teevity. Since Teevity supports several cloud providers, we differentiate the « Teevity tags » from the « Cloud provider tags ». But don’t worry, you don’t have to re-declare all your tags, Teevity does the heavy lifting for you.
You will find your tags on the Tags and Cost Partitions page of the Preferences section. You can see the list of the Teevity tags (1) and for each the corresponding tag(s) for the cloud providers (2). By clicking on the label icon (3) you can see the values of a particular tag. It’s useful when you have to clean up those values (more on that in the section below).
The popup which display the tags values when clicking the label icon in the tags list (3).
This list shows the tag values for the current month.
Warning : when you change the tags configuration, we will reprocess only the current month of data so you can see the results as soon as possible. Once you have verified the new configuration you can reprocess your historical data in the dedicated section at the bottom of the page
Create a Teevity tag from one or several of your cloud provider billing tags
By default Teevity will try to create meaningful tags for your account but for complex infrastructures you will want to customize your tags configuration.
Click the "Add tag" button at the top of the list, enter a name for your tag and the corresponding tags from the cloud provider. You can search your cloud provider tags without knowing the exact value to enter:
You can also find the billing tags not yet imported as Teevity tags (1), show their values and add them in your Teevity tags (2).
How to fix incomplete or heterogeneous tags values
Tagging is a important concept for cloud infrastructures and not only for cost analytics needs. Ideally all your resources should be properly tagged. But if it’s not the case, Teevity is able to help you take advantage of your data.
Normalize and merge your billing tags with tags transformations
If the values of your tags don’t follow the same naming convention you can apply a transformation and doing so normalize the values. To do so, click on the edit icon in the list of tags .
Click on the « Tag values transformation" button (1) next to the Teevity tag name text box
2 transformations are available, and for each you can change the behavior by modifying the content of the parameters box.
- Normalize : this transformation can convert all values to lower case, trim them and remove the whitespaces. The "cspTagNamesToConvert" property lists the comma-separated provider tags to be transformed.
- Merge : this will merge different values to one. For example the production, prod, Prodt tags values will be merged to : Production
You can also use a regular expression (regex) instead of using a list of pre-defined values to specify the tags to be transformed.
N.B. : If you specify both types of transformations, the "simpleValues" rules are applied first, and then the "regexp" ones. (see below)
If you use a regular expression, here's some examples of patterns:
*.prod.* Any value that contains ‘prod’
^prod.* Any value that starts with ‘prod’
.*prod$ Any value that ends with ‘prod’
^(?!NonProd.*).* Anything not starting with ‘NonProd’
Virtual tags in Teevity
You can also use other metadata of your resources to extract a virtual tag if no tag has been explicitly set on it. By default we use the name of S3 buckets and the Lambda functions ARN to create virtual tags. You will find them in the same list as the billing tag of the cloud providers, you can identify them because they have the "teevity/virtualtags" prefix:
Adding custom virtual tag transformations is only available via Teevity Support for now. Reach out to us at firstname.lastname@example.org
Cost partitions and cost allocation units: analysis axis based on your tags
If tags are the ingredients, then the cost partitions are your recipes for you cost breakdown. A cost partition is mainly a set of tags that will be used to explore the billing data along a specific axis.
One of the exception is the cost partition "per account" which is built on the list of your accounts.
For example you want to explore your costs per environment but also per application and per component. Cost partitions let you do this kind of drill down.
On the same page as the tags, a section is dedicated to the definition of the cost partitions.
Like pre-defined tags you will find pre-defined cost partitions and you can add new cost partitions that are based on one or several tags.
Example of a new cost partition called « Costs per Project / Role / Component » which is defined by the 3 tags "Project", "Role" and "Component" :
Cost Allocation Units
Cost allocation units are instances of your cost partitions. In our previous example, the cost partition « Costs per Project / Role / Component » will have the following cost allocation units :
- Project Rocket / dev / frontend
- Project Rocket / dev / backend
- Project Rocket / prod / frontend
- Project Rocket / prod / backend
To see the list of cost allocation units of a cost partition go to the Cost Allocation Units page (1) in the Preferences section and add the cost partition if not already present (2). You should then see the list of Cost Allocation Unit of your partitions.
The sum of all the Cost Allocation Units created by a Cost Partition is always equal to your total spending. In reports and graphs you will see a value or line called "Others" which will represent the resources which are not tagged.
Reprocess your data to support new tags and cost partitions
When you have finished the configuration of your tags and cost partitions, you can apply the modifications. By default only the current month will be reprocessed based on your changes. After you have verified that the configuration of your data is correct you can launch the reprocessing of the historical data. You will find the section dedicated to it at the bottom of the page:
How to use Cost partitions and Cost Allocation Units in the Teevity Dynamic Cost Explorer based on NetflixOSS ICE
Once you have configured your tags and defined your cost partitions, you will be able to use them in the « dynamic cost explorer ».
Launch the dynamic cost explorer from your dashboard (1):
Choose the item « Details for cost allocation units « in the « details » top bar menu (1):
You will then retrieve your cost partitions (1) and by default the grouping is done by cost allocation unit (2) :