“Perfect tagging” is a little bit like perfectly tuning a piano. It takes an enormous amount of manual effort to get right, it’s never truly perfect, and the slightest change in the surrounding environment can throw it out of harmony.
The closer an organization wants to get to perfect tagging, the more engineering resources they have to invest in it — frequently at the expense of more impactful, innovation- and product-oriented projects. This introduces a nasty tradeoff: the more you want to know about what’s driving your cloud spend, the less bandwidth you have for building great products.
We developed CloudZero Dimensions to take the tagging burden off of engineering teams.
In the initial stages of adoption, we use your existing tags to come up with Dimensions for each of your most relevant business units. That could be cost per customer, per engineering team, per product, even per product feature. (You can even layer Dimensions on top of one another to get advanced metrics like cost per product feature, per customer, per region…etc.)
The best part: Dimensions are decoupled from tagging, so you don’t have to demand the kind of legwork from your engineering team that “perfect tagging” demands.
How does it work? Dimensions are built using a domain-specific language, called CostFormation, created by CloudZero, in a code artifact (a YAML file). Our team took inspiration from the best parts of infrastructure as code patterns, while still keeping it independent from the development process.
To give you a sense of their full potential, here are five key capabilities of Dimensions that you can’t get from tagging.
5 Things Dimensions Can Do that Tagging Can’t
1. Capture your resources’ complete historical usage
A shortcoming of tags is that they only track the cost of a particular resource starting on the day it was tagged. So, if you tag a resource on the last day of July, it will look like the July cost of that resource is 1/31st of the August cost. You may know that it isn’t, but tags don’t let you go any further back than that first day.
There are two negative consequences here:
- First, you have incomplete information about the historical usage (and cost) of your tagged resources.
- Second, this incomplete information forces you to use makeshift cost-tracking solutions.
For example, if you have untagged spend for the majority of July, you’ll have to divide the overall spend by number of resources to get average spend-per-resource. No two resources cost exactly the same — and in fact, different resources can cost dramatically different amounts.
Dimensions apply the current tag value historically for a resource. If we assign a resource to a Dimension, its whole life, before and after the tag, rolls up to that Dimension. This gives you more accurate, comprehensive cost information for each of your resources — and a steadier foundation for informed business decisions.
Also, combined with the superpowers of telemetry, Dimensions give you the flexibility to view the cost of a particular resource within any parameters.
Want to see the complete historical cost of a resource? You can do that.
Want to allocate the cost of a Dimension to one business unit for month one, and another for month two? You can combine Dimensions with telemetry to get those views (something only CloudZero can do, by the way).
2. Map the cost of untagged and untaggable cloud resources
Some cloud resources are taggable, but don’t have tags assigned to them yet. This is often the result of using legacy resources that, unlike newer resources, weren’t automatically tagged during deployment. The only real way to fix this is to have someone review every cloud resource and assign tags by hand.
Other cloud resources are untaggable —meaning they don’t support tags at all. Thus, no matter how perfect your tagging strategy, if you rely on it alone for a snapshot of your cloud investment, it will always omit important data. (Read more on untagged and untaggable resources here.)
Dimensions let you automatically group all resources —whether or not they have tags/support tags — according to values (like their names or other cloud metadata).
Once you’ve established a tag category, Dimensions let you automatically group new resources into that category according to certain resource values. Simply by providing value parameters (e.g.: “Starts with” or “Contains” relating to the name of the resource), you can use Dimensions to group multiple resources/types of spend into a single Dimension.
Grouping by cloud metadata means you don’t have to worry whether some resources are untagged or untaggable. Using automation to maintain a core of accurately tagged resources gives you a foundation on which to base the capture of more elusive resources with Dimensions.
3. Easily clean up misspelled/mis-formatted tag values
A mistake that’s very easy to make and very hard to detect is unintentional formatting/spelling errors. Tags are spelling- and case-sensitive, so “Team” is not the same as “team,” and “Team-1” is not the same as “Teem-1” or “Team1.”
Unless all of your engineers always write each tag perfectly, these errors can pile up unnoticed and reduce the accuracy of your cost metrics.
Dimensions automatically corrects common spelling and formatting errors. During setup, CloudZero will analyze the names of your resources, and create logic to normalize different spellings of the same tag.
Moreover, each team can manage its own tag schema, and Dimensions allows you to merge them all together as one.
This is enormously convenient for companies with separate lines of business, who recently underwent acquisitions, who use multiple cloud providers, or who need to merge Kubernetes label schemas with cloud tag schemas.
4. Rename spend categories on the fly
Teams often tag resources according to the category they fall into — the leader who’s accountable for the spend, the team who created the product, or the product name itself.
The problem is, all of those can change at any time. The leader might leave the company, meaning new resources that would have been their responsibility still have to be named after them, even though they’re gone.
The team might grow or merge with another team; the product might get renamed in a rebranding campaign. Things are always changing, and each change threatens to undermine the integrity of your tags.
Dimensions lets you rename spend categories at will. If Jane replaces John as the head of a project team, you can simply rename the “John” Dimension “Jane” without retagging any resources. Tags with “John” in the name will still roll up to the “Jane” Dimension, and new tags named after Jane will, too.
The same goes for product names, team names, and other tagging discrepancies that could arise during changes. For example, if your company acquires another company who uses “department” the way you use “team” in tags, Dimensions lets you roll like resources up to a Dimension named after whichever term you go with.
Tags take an average of one engineering cycle to change — measured in weeks. Dimensions can be changed immediately and visualized within 60 seconds.
5. Combine Dimensions to visualize spend at a meta-level
Combined, the first four capabilities make it easier to group spend properly and make sure it stays that way over time. As you go through inevitable changes — acquiring a new company, undergoing personnel shifts, launching new features and products — Dimensions let you track spend with a level of ease that manual tagging could never provide.
Then, you can get multi-Dimensional: combining Dimensions to get even more nuanced views of your cloud spend.
If Products A, B, C, and D all fall into the same product group, you can create a new Dimension representing that product group. You have Dimensions for each product, and further Dimensions for each product group. If you wanted to do this with tagging, you’d have to — you guessed it — manually assign a product group tag to each resource.
There’s no limit to the number of ways you can customize these views. You can create Dimensions for geographical regions, customer types, feature types, and more, and shift between these views with ease.
Overcoming The Limitations Of Tags
Even when using Dimensions, tagging is still a valuable exercise; the better your tags, the easier it is to develop Dimensions that accurately reflect your spend categories. Dimensions just make it easier to overcome the challenges of tagging that add complexity and time barriers to getting accurate cost visibility.
Different customers have come to us with zero tagging and with ultra-thorough tagging — we’ve been able to help both achieve their visibility objectives.
The longer our customers use Dimensions, the more sophisticated they get, arriving at precise views of spend in near-real-time. The inherent variability of cloud cost demands cost visibility tools that move at the speed of your business. That’s what CloudZero Dimensions provide.