Solving the Challenges of Multi-cloud Cost Management

RTInsights Team
RTInsights
Published in
4 min readAug 8, 2024

By: Michael Arkoosh

If you have a multi-cloud architecture — as 98 percent of enterprises that use the cloud do — one of the most important steps you can take to manage cloud costs effectively is tracking all of your cloud spending from a central vantage point.

Unfortunately, that’s often much easier said than done. The cloud providers don’t make it very simple even to pull billing data in a standardized way, let alone interpret it consistently side-by-side.

Nonetheless, finding a way to centralize cloud spend management is critical if you want to optimize your ability to understand what you’re spending and avoid wasting money in the cloud. And given the right strategies and tools, implementing centralized bill tracking is feasible enough.

See also: Navigating Cloud Costs and Egress: Insights on Enterprise Cloud Conversations

The importance of multi-cloud cost management

There are two main reasons why tracking cloud spending from a centralized location is important.

One is that in some cases, businesses deploy workloads that span multiple clouds, and monitoring the costs associated with each cloud is the only way to determine the total cost of the workload. For instance, you might deploy an application in one cloud but have a “warm standby” environment for the same app provisioned in a different cloud for disaster recovery purposes. In that case, you’d need to know what each cloud provider is charging for the infrastructure the app consumes in order to track your total cost of running the app.

The other reason that makes centralized cloud spend tracking crucial is the fact that you can’t effectively monitor or optimize your total cloud spending unless you can view granular spending data from across all of your clouds side-by-side. Knowing that you reduced your spending last month in one cloud isn’t very helpful if you don’t know how your spending changed in a different cloud — or how fluctuations in cloud spend align with different types of cloud services across your various cloud environments.

If you like analogies, think of it this way: Centralized cloud spend monitoring is like tracking what you spend in total for groceries from multiple stores over the course of a month. Collecting and interpreting this data from a central location is the only way to determine whether your overall grocery spending is trending up or down. You’d be in a much weaker position to manage your grocery costs if you only monitored how much you spent at each individual store without having an easy way to track overall spending across all stores.

The challenges of centralized cloud spend management

But as I mentioned, centralized spend management in the cloud can be tough to implement.

The issue starts with the mere task of importing billing data from cloud providers. Although all major public clouds generate bills that detail what you spent each month, they expose the billing data in a different way. Amazon Web Services (AWS) generates a large CSV file, for example, while Google Cloud Platform (GCP) pushes its customers’ billing data into BigQuery, a data analytics service hosted on its platform. For its part, Azure expects customers to import billing data using APIs. This means that simply getting all of your billing data into a central location requires implementing multiple data importation workflows.

Once the data is centralized, comparing it can be challenging because each cloud provider structures billing data a bit differently. For example, AWS records charges for cloud servers based on how many hours they were used, whereas Azure reports cloud server billing data based on daily usage — so you can’t compare your total cost for cloud servers per hour or per day without converting the data supplied by each provider.

Consider, too, that GCP breaks cloud server spending into separate costs for compute and memory. AWS and Azure don’t do this; they report billing information based only on the total resources consumed by a cloud server. Thus, if you use AWS or Azure, you need to disaggregate the data yourself if you want the level of granularity that GCP provides by default — and doing so is important if you need to make an apples-to-apples comparison of what you spend for both compute and memory across clouds.

Making cloud billing more centralized and consistent across clouds

Faced with these challenges, what can an organization do to manage cloud spending effectively across multiple cloud platforms?

One approach is to try to build your own cloud spend management system from scratch. If you have sufficient software development and data management resources within your organization, it’s not especially challenging to build a tool that pulls in billing data from each cloud provider, then transforms and aggregates it in ways that make it possible to draw at least basic comparisons of spending data across clouds. However, the big drawback of this approac…

Continue reading on CloudDataInsights.com

--

--