Discover how CloudZero helps engineering and finance get on the same team — and unlock cloud cost intelligence to power cloud profitabilityLearn more
Discover the power of cloud cost intelligence
Give your team a better cost platform
Give engineering a cloud cost coach
Learn more about CloudZero and who we are
Learn more about CloudZero's pricing
Take a customized tour of CloudZero
Explore CloudZero by feature
Build fast with cost guardrails
Drive accountability and stay on budget
Manage all your discounts in one place
Organize spend to match your business
Understand your cloud unit economics and measure cost per customer
Discover and monitor your real Kubernetes and container costs
Measure and monitor the unit metrics that matter most to your business
Allocate cost and gain cost visibility even if your tagging isn’t perfect
Identify and measure your software COGS
Decentralize cost decisions to your engineering teams
Automatically identify wasted spend, then proactively build cost-effective infrastructure
Monitor your AWS cost and track progress in real-time as you move to the cloud
CloudZero ingests data from AWS, GCP, Azure, Snowflake, Kubernetes, and moreView all cost sources
Discover the best cloud cost intelligence resources
Browse webinars, ebooks, press releases, and other helpful resourcesBlog
Discover the best cloud cost intelligence contentCase Studies
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and moreEvents
Check out our best upcoming and past eventsFree Cloud Cost Assessment
Gauge the health and maturity level of your cost management and optimization efforts
Compare pricing and get advice on AWS services including EC2, RDS, ElastiCache, and moreLearn more
Discover how SeatGeek decoded its AWS bill and measures cost per customerRead customer story
Learn how Skyscanner decentralized cloud cost to their engineering teamsRead customer story
Learn how Malwarebytes measures cloud cost per productRead customer story
Learn how Remitly built an engineering culture of cost autonomyRead customer story
Discover how Ninjacat uses cloud cost intelligence to inform business decisionsRead customer story
Learn Smartbear optimized engineering use and inform go-to-market strategiesRead customer story
Tagging is broken — discover how you can take a code-driven approach to organizing cloud spend without tagging.
Tagging, as a means of organizing our cloud environments, has utterly, totally, failed us.
If you have authored a tagging policy document, begged your engineers to properly tag their stuff, or just plain given up, then you know what I'm talking about.
Tagging is broken, and I don't mean broken in a way that can be fixed, but rather that the entire concept just isn't getting the job done.
If we are to have any hope of bringing business context and meaning to our cloud investment we have to break the tag barrier.
Tagging started out innocently enough as a means to add metadata to cloud resources when AWS launched resource tagging in 2010 for EC2 and the other cloud providers followed suit.
Since that time DevOps and now FinOps teams everywhere pursue this Sisyphean task daily. A task made impossible because it's tightly coupled with the software development lifecycle but disconnected from the business lifecycle. It's this mismatch that has caused a very unnatural dependency and source of friction to emerge between two very different but now joined at the hip worlds: engineering and finance.
Tagging tools, policies, and even new abstractions like AWS's cost categories haven't solved the problem either because they all have their roots in the engineering lifecycle or are unable to move at a pace the business requires.
This makes tags one of the leakiest abstractions in all of the cloud. Tags force business and product teams to get lost in the technical details over what and how to tag or embark on multi-year tagging initiatives that seek to organize a constantly moving target.
Lastly, what about all the things that can't be tagged? Like transactions, DB queries, or the activities of your customers using your systems? Tags at best are meant to add meaning to systems, but break down when trying to assign meaning to actions or points in time.
The business needs are simple: ensuring the actions of engineering are connected with positive business outcomes. Achieving this, however, is anything but simple.
Go explain your architecture choices or Kubernetes to your finance team and tell me if that gets them off your back about your cloud bill. Understanding how much you spent on EC2 does not solve your problem.
The business needs to organize things by feature, product, or transaction, and then change that structure on a whim. They want to understand what their cost of goods sold (COGS) are and what their costs are per customer. They want to understand R&D spend versus production, they want to know which engineering teams are high performing and which are not. They want to know how to price new features and when to end-of-life underperforming products.
Tagging plays its part in adding meaning to systems, but it isn't flexible or capable enough of keeping up with the speed your business requires.
A few more real-world examples:
The path forward is to use a system that can fly above the noise and not be held back by tagging's limitations – one that takes the best ideas from engineering, like Infrastructure as Code patterns, but is independent from the development process and can move as fast as the business and cloud operations teams require.
CloudZero's Dimensions use a code artifact and domain specific language (DSL) called CostFormation to define how to organize your spend and enable cloud teams everywhere to break the tagging barrier. No matter how well or how little your teams have tagged, CloudZero Dimensions enables you to organize your spend in minutes, not days or years.
For example, let's say I wanted to do something simple, like break regions out into groups according to the two letter code.
To achieve even this simple example, I would need to tag every single resource in my environment with a country code and keep that up to date. With CostFormation, it's easy. I just split out the country code from the region associated with every resource. Notice I built this Dimension without using tags at all?
Now what about something more complex and this time I wanted to include the Name tag in addition to other metadata as sources. Let's say I wanted to map my spend into 3 "Features" — one for research (isolated to one account), and the other for the two features of my product.
In this example, we pull data from existing tags, but notice how messy they are and how we can easily combine multiple values, even pulling in resources from inside Kubernetes and other cloud providers like Snowflake into individual features I can now track from within CloudZero.
CostFormation offers the flexibility to pull together, despite the inconsistencies. The best part?
I didn't have to change a thing in my environment.
The process of organizing my cloud environment can now be totally decoupled from how it's currently tagged and even use data from other sources to avoid tags altogether if I need to.
Interested in seeing your cloud cost transformed into new Dimensions?
to kick off your free trial of CloudZero. You’ll get months worth of visibility, in a matter of hours, keeping your dev teams focused on what matters.
Erik Peterson is the co-founder and CTO of CloudZero, is a software startup veteran, and has been building and securing cloud software for over a decade. Erik is a frequent speaker on FinOps, cloud economics, DevOps, and security.
CloudZero is the only solution that enables you to allocate 100% of your spend in hours — so you can align everyone around cost dimensions that matter to your business.