How to understand your cloud bill in the context of your business.
As your cloud spend grows and becomes more complex, breaking down your bill by service and/or project/account wonāt cut it if you want to truly understand how costs are split among your organization.
Youāll want to organize costs in a way that matches your org structure. For instance, you might have multiple teams, environments, or other categories youād like to divide your cloud bill among. But these categories may have complex definitions. For example, your companyās definition of āStaging Environmentā costs might be an aggregation of all projects/accounts that begin with the word āstagingā.
Using Attributions in the DoiT Console, you can map cloud costs to custom categories by grouping any combination of cloud resources ā Tags/Labels, projects/accounts, service metadata, and more.
Letās explore what Attributions are and how they work. Jump down to the interactive tour to experience Attributions yourself.
What are Attributions?
An āAttributionā is a logical grouping of cloud resources that defines a cost category unique to your company.
Companies use Attributions in the DoiT Console to understand cloud consumption in the context of their business.
Theyāre also used as an early step towards driving cost ownership among stakeholders.
Letās explore some examples of Attributions and how you can use them:
Using Attributions to define engineering team costs
We use Attributions internally to define each engineering teamās costs. In this example, weāve defined team āBruteforceā as any resource tagged with a āteamā label or project label value corresponding to ābruteforceā
Then, we use the logic āA OR Bā to ensure that we aggregate the costs of resources:
-
- Tagged with only the label āteamā
- Tagged with only the project label āteamā
- Tagged with the project label and label āteamā
Many use Attributions to build cost reports that help them understand costs in the context of their business.
In the example below, we can break down āTeam Bruteforceā costs by service to understand the main cost drivers for this engineering team.
Using Attributions to define environment costs
Here we define our staging environment costs using regex by grouping together all Google Cloud projects that contain the word āstagingā.
This is a great example of how you can define cost categories without the use of Tags or Labels.
Note that in defining our āStaging Environmentā Attribution, we used regex to capture all projects with the word āstagingā. You might be adding or removing āstagingā projects/accounts often. By using regex, you avoid having to repeatedly go back to change your reports (or Attributions) every time a āstagingā project is added or removed.
Below, weāve created a āCost per Environmentā report using three Attributions that each define a different type of environment, allowing us to clearly see Development, Staging, and Production environment costs.
We can once again break down each environmentās costs by other variables, like āServiceā to understand their main cost drivers.
Finally, if youād like to make your team or other stakeholders aware of these reports, you can schedule them to be refreshed and delivered to their inboxes at a custom interval.
Using Attributions to estimate EBS storage savings
You can also use Attributions to define other types of groupings not related to categories youād like to define your cloud bill by.
For example, letās say you were using GP2 volumes for AWS EBS, and wanted to figure out how much you could save by migrating those volumes to GP3.
First, weāll create an attribution that captures all EBS costs related to GP2 volumes:
Since, according to AWS, GP3 provides up to a 20% lower price-point per GB vs. existing GP2 volumes, the savings calculation is fairly straightforward.
We can use another DoiT Console feature, Metrics, to identify our daily potential savings using the Attribution we just created. To do so, weāll just multiply our GP2 Attribution by .2, as shown below.
Conversely, you could also multiply this Attribution by .8 to get potential costs with GP3 volumes, after savings are taken into account.
Additional ways to use Attributions
Once you create Attributions, you can use them in various ways across the DoiT Console to make sense of your cloud spend, catch unintended activity, and drive cost awareness across your company.
We already went over how to use Attributions to build custom cost reports, but DoiT customers also use them to
- Allocate cloud costs
- Improve spend predictability with budgets
- Set up granular cloud cost alerts
- Autonomously monitor teams, environments, and more for anomalies
- And much more!
You can explore the rest of them in this post.
What about Tags and Labels?
You might be reading this thinking, āBut canāt I accomplish this with tags and labels?ā. Are Attributions a replacement for tags and labels?
They are two separate things, but with some overlap. Attributions simply help you organize your spend without requiring you to have perfect tagging. You can use Tags/Labels to build your Attributions.
Yes, you can accomplish something similar to Attributions with Tags/Labels if your organization has good tagging hygiene. Meaning, you have one tag key for each category youād like to define (ex. environment, product, team) ā as well as one value for each item within the tag key ā and you are consistent about tagging your resources.
Hereās how a report in AWS Cost Explorer might look with correctly (and consistently) applied AWS Tags:
Duplicate Tag keys and/or values
However, you might find yourself in a situation where you have multiple tag keys or values for the same category. For example, some resources will be tagged with an āEnvironmentā tag and others with āEnvā or āenvironmentā. Or all resources are tagged with an āEnvironmentā tag, but some have values of āprodā, āproductionā, or āProductionā.
This makes cost reporting trickier because you canāt consolidate all duplicate keys/values into a single grouping. However, with Attributions you can.
Below weāve grouped together all resources tagged with an āEnvironmentā tag with values of āprodā, āProductionā, and āproductionā to define what Production Environment costs are.
Multi-cloud
What if, for example, your app(s) were running on both AWS and Google Cloud? How would you measure the total cost of running it? You wouldnāt be able to do it natively on the cloud platforms, since youād only have one half of the data. Youād have to analyze your labeled and tagged resources separately.
With Attributions you can combine costs from both clouds ā labeled/tagged resources, accounts/projects, etc. ā to create a consolidated definition of your multi-cloud app.
Tags not appropriate for the cost grouping youāre defining
In other situations, your definition of a cost category may not require the use of Tags. For instance, you might want to define āStaging Environmentā costs by aggregating the costs of multiple AWS accounts or GCP projects used for staging.
Legacy systems not working with Tags
Finally, weāve also seen customers with legacy systems that couldnāt implement Tags.
Currently there are no workarounds for these situations in the AWS or Google Cloud consoles. But using Attributions, you wonāt be dependent on Tags when connecting cloud costs to the unique taxonomy of your business.
Conclusion
Whether youāre simply looking to better understand costs in the context of your business, or trying to drive a culture of cost ownership among stakeholders, it all starts with Attributions.
Interested in using Attributions to get a clear picture of your cloud costs? Take the interactive tour below, or get in touch with DoiT about unlocking Attributions and the rest of DoiTās products for your team.