One of the best features of the public cloud is that it utilizes a model that enables multiple organizations to share cloud resources. This approach leverages economies of scale, ensuring each tenant sharing those resources receives a lighter bill than if they utilized a private cloud dedicated to just them.
Likewise, multi-tenancy in cloud computing is cloud architecture that enables multiple organizations/customers/users to share resources like virtual machines, storage, and server components.
The Problem With Multi-tenancy
Yet, the biggest problem with multi-tenancy architecture is that it is often challenging to determine cloud costs per tenant.
Multi-tenant apps share some or all of infrastructure resources between multiple tenants, making it difficult to determine precisely how much each tenant contributes to the overall bill.
In fact, respondents to a 2021 State of FinOps report said dealing with shared costs was more challenging than reducing waste/unused resources, forecasting costs, and aligning finance to engineering teams.
It is tough to identify which customer uses what resources, why, when, and what you can do about it.
If you are an Independent Software Vendor (ISV), you may also struggle to determine your gross margin on a specific tenant or customer, leaving you blindsided about how much to price your service to improve profitability.
So, what does AWS Application Cost Profiler do with regards to multi-tenancy? Is AWS ACP right for you? Here’s what you need to know.
What Is AWS Application Cost Profiler?
Amazon Web Services (AWS) released Application Cost Profiler to help organizations visualize, analyze, and understand their end users’ resource consumption patterns and associated costs per tenant/user/customer.
It is usually difficult and expensive to develop custom tools for viewing this level of detail. Also, most existing cloud management tools do not have this feature built-in. So, many organizations use static, rough estimates, such as the number of users or the amount of data they store, to re-distribute cloud costs across their tenant base.
But with AWS Application Cost Profiler, you can see how your tenants’ applications utilize your shared infrastructure.
Companies that run software applications shared between different teams can also use AWS Application Cost Profiler to set up internal proportionate cost-sharing based on usage.
How AWS Application Cost Profiler Works
Some AWS resources use time-based dimensions instead of only hourly usage to present a breakdown of cost information. With Application Cost Profiler, you can get billing and cost information for a resource based on tenant usage instead of hourly usage.
Application Cost Profiler works by collecting hourly tenant metadata from customer-defined Amazon S3 buckets. It then processes the metadata and correlates it with AWS billing information. Finally, it presents the data in raw format or a multi-dimensional report for further analysis.
The tool can report a breakdown of this data daily and monthly. It also generates detailed reports that you can consume programmatically to track cost patterns by tenant on a custom dashboard.
As a result, you can estimate how much it costs you to support your tenants’ software apps on AWS.
AWS Application Cost Profiler Alternatives: Is There A Better Solution?
Although Application Cost Profiler can be helpful, installing and using it requires quite a bit of work. For example, you must configure a report manually, such as customizing the report’s look.
Next, you need to write code to define utilization data that links tenants to their usage times. It’s not over yet. You must send that information to Application Cost Profiler. If this sounds familiar, it’s because endless AWS tagging uses the same approach to label resources for cost allocation purposes.
Still, Application Cost Profiler’s billing data does not reveal who used what resources and what they used them for.
So, while you can figure out profits based on total revenue and cost, you’ll be unable to tell your net profit margin based on a specific product feature, individual customer, specific team, an engineering environment, a particular development project, and more.
What you really want is to track the ongoing costs of providing products and services to specific tenants. Application Cost Profiler might still have difficulty allocating costs accurately. So what’s the alternative?
Choose a solution that automatically gets you granular cost data immediately after requesting it.
For example, CloudZero’s cloud cost intelligence platform automatically links cost metrics to the products, processes, and people that generate them. This means you can track who, what, and why your cloud costs change at any time.
How CloudZero’s Shared Cost Allocation Works
CloudZero uses telemetry-driven shared cost allocation to capture and present accurate costs per tenant on-demand. Upon entering data into the S3 bucket, CloudZero automatically takes care of the rest.
You first select a metric to represent consumption and usage. If you are not sure which to use, CloudZero has a team of experts ready to help you figure out what’s best for your specific architecture.
After that, you send the metrics to CloudZero’s telemetry API. CloudZero will match hourly costs to usage, giving an exact shared cost allocation by the hour.
CloudZero does not produce or maintain AWS tags.
Instead, CloudZero Dimensions are built on top of AWS tags, and fill in the blanks where tags are incomplete or imperfect. In addition, it includes account details, workload data from Kubernetes (like clusters, labels, and pod details), other resource metadata, or even user activity information from live applications.
This gives CloudZero customers excellent precision when defining the cost of delivering their value to their own customers.
The CloudZero platform produces easy-to-digest and instantly actionable insights rather than raw, spreadsheet-like reports.
This level of detail can help you tell how to set up customized pricing tiers or contracts for different customers. You can also determine the best discount programs to reward your most profitable client.
Don’t just take it from us. to see how much it costs you to support each of your tenants in a shared environment.