Cost management for cloud services

Every Cent Counts

Understanding Cost Models

Given different sources combined with different cost data and metrics, consolidated costing with accurate cost allocation is complex in practice. Koku solves this problem by introducing a cost model. This framework defines the pricing principles for the expenditures stored in your cost management application. A model like this lets you assign prices to the metrics provided by the various sources and ultimately delivers the costs of resource usage. In essence, this involves normalizing the various cost types so that a uniform database is available on which to base further costing. To apply the underlying strategy correctly in practical terms, you need to understand various aspects.

The model references raw costs and metrics to compute the price of the expenditures drawn from the cost management framework. Its specific task is budgeting and accounting, as well as visualizing and analyzing costs. You can enter and categorize the various items generated by the model and assign them to specific customers, business units, or projects.

Koku distinguishes between two levels: system infrastructure costs and incidental costs. Infrastructure expenditures can come from two sources: expenditures that the cloud provider reports directly in the form of a Cost and Usage Report and other infrastructure costs. Koku classifies the expenses incurred for cloud services as "standard infrastructure costs." By default, Koku classifies the expenses that OpenShift Container Platform nodes and clusters incur as infrastructure costs, but it can optionally consider them incidental expenses. All expenses that are not directly related to the use of the infrastructure are reported as incidental expenses.

The workflow starts where the source data is generated: raw data from the cloud providers or the OpenShift metrics. Koku collects cost data from the following sources:

  • Inventory: A list of all resources, regardless of whether they are currently in use. For example, if your OpenShift environment includes an unused node, it will still incur the agreed fixed costs. Koku supports several approaches for collecting inventory data. Cost management can generate the data from AWS Cost and Usage Reports, Azure or Google Cloud exports, or OpenShift Metering Operator reports.
  • Metrics: A subset of the OpenShift inventory that shows usage and consumption for each resource.
  • Cloud raw costs: AWS, Azure, and Google Cloud cost management reports that list resource consumption and expenses. You do not need to configure a custom price list for cloud sources.

The various items of data are passed in to the cost model framework, which lets you define surcharges and discounts for the different sources (Figure 1). On the OpenShift Container Platform, you need to generate a price list yourself and assign it to the sources to define the cost of using these resources. The price list contains the different rates for storage, RAM, CPU utilization, requirements, clusters, and nodes. As far as AWS, Azure, and Google Cloud sources are concerned, you can create models to account for incidental expenses or overhead in your environment.

Figure 1: Cost model configuration tasks include allocating potential surcharges or discounts.

Koku collects the costs of the various sources and allocates them to infrastructure or incidental costs. It then distributes the expenses to the resources in the environment. You can use tags, if needed, to allocate costs to teams, projects, or groups within your organization.

Setting Up a Cost Model

To create a cost model for your cloud services, open Cost Management | Cost Models in Red Hat Insights on the Red Hat Hybrid Cloud Console to manage the cost configurations (Figure 2). To create an initial model, press Create cost model . The wizard that appears will guide you through four steps.

Figure 2: At first glance, creating a cost model seems trivial, but you need to know the details of these models.

In the first step, you need to assign a name and a description for the model; then, determine the data source with the Source Type selection menu. You can choose between AWS, Microsoft Azure, Google Cloud Platform, and Red Hat OpenShift Container Platform. Pressing Next takes you to the optional pricing section where you define surcharges and discounts to the pricing parameters. The challenge in this step is to account adequately for any additional expenses caused by managing an account. This contribution margin is always going to be an estimate, and you take on a certain risk of an incorrect assessment here.

The next step is to specify the source for the cost definition that you created previously. A search function is available for this function. The final step in configuring the cost model is the summary of the configuration steps.

Cost Input and Visualization

After you have configured the OpenShift environment for importing cost and usage data and saved the required cost models, the conditions for cost input and report generation are in place. The Cost Explorer selection is responsible for visualizing the cost data.

Cost Explorer lets you create custom charts with time-scaled costs and usage information to visualize and interpret your expenses in a superior way. You can restrict the visualization to specific views (e.g., a location- or project-based view). The Clusters tab tells you which areas have the highest costs.

Expenditure trends are plotted over time by default, but you can also generate custom bar charts with your cost and usage data. Cost Explorer also helps you identify conspicuous events. An export function supports downstream processing of user-defined cost data tables in third-party applications.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=