Challenge Accepted: Applying Pay-as-You-Go in Private Datacenters
Typically, for on-premises infrastructures, the enterprises use capacity quotas to regulate the amount of resources each team can use (in CPUs, Memory GBs, storage GBs, etc.). This approach is effective and convenient when all your resources are exclusively in your own data centers. However, the things get more complicated when a public cloud is added.
In such case, using both the resource-based approach in your private DC, and public clouds’ pay-as-you-go, you need to make an extra effort to properly arrange your financial procedures and planning, as, in fact, you need to deal with two completely different calculation approaches.
A pay-as-you-go approach for private data centers is a right decision if you aim to unify and simplify financial governance, planning, resource allocation and utilization accountability.
An effective, powerful, and flexible billing engine is a keystone for such solution. Maestro has one, and further in this post, we will uncover the approaches it uses, and the possibilities it provides.
Core Concept
Briefly, the main goal of a billing engine is to get information about about resource consumption and process it to transform this data into consumed resources cost.
Resource consumption evaluation starts from collecting various types of metrics and events from the system, which will become the source of data for the billing engine.
The events can be like instance start or stop, instance termination, new disc creation, etc. Instance CPU and memory count, storage volumes, and other similar parameters can be the metrics.
One of the key points here is to detect exact time of the event, which resulted into a state change (e.g., new instance creation results into instance running state and disk active state; instance stop results into instance stop state, and disk stop state).
As a result, we have a timeline for each resource, with the markings of states and states changes, and build pricing for each section of this timeline.
The way the Billing Engine generates the costs for an
object, depends on the type of infrastructure.
Virtual Resources Pricing
As was mentioned above, implementing billing for private
data centers is an important step to build make your cloud financially
effective, transparent, and efficient. It allows you to:
- Implement cost allocation: transforming bare resource utilization into costs allows assigning the costs directly to departments, teams, or projects. They can be charged based on resource actual usage, which brings transparency and accountability, discouraging wasteful use of resources.
- Arrange better financial management: With a defined billing policy, it becomes easier for organizations to plan budgets and forecast future expenses. It also helps to predict the financial impact of scaling operations or the addition of new services, enabling better financial management.
- Encourage resource optimization: A billing system inherently promotes the efficient use of resources. Users become more aware of the costs associated with their consumption and are more likely to optimize their usage to control expenses, leading to overall better resource utilization and cost savings.
When creating a pricing policy for a private datacenter, you
typically take into account the price of underlying infrastructure,
electricity, datacenter operation and maintenance costs, resource amortization, etc.
You may also want not only to compensate for the datacenter usage
but get extra benefit from providing virtual resources to your teams and
customers.
Maestro billing engine allows to track the main states and
changes in the provisioned resources, based on various parameters, such as (but
not limited to) those on the picture below:
The main idea here is that any information about resource
configuration or state that can be retrieved from the platform, can be included
in the billing process, allowing you to meet various business cases.
Selecting billing period allows to adjust the mechanism to the
infrastructure lifestyle with per-second approach applicable for quickly
changing dynamic infrastructures, and monthly – more convenient for predictable
stable loads.
Configuration multipliers allow to adjust the price to
the specific of your data center ownership price in specific locations. Resource type-related cost modifiers will also
allow to distribute the demand for specific types of resources, for
example, if you have limited high performance and SSD capacities and want them
to be used when they are really necessary, you can put higher prices for them
than for standard and SSDs.
For complex cases and large loads, you can create pricing
policies that will depend on the amount of used resources – in various bundles
(e.g., different per-GB prices for 1-99GB, 100-199GB, and 200-500GB volumes), or
using a threshold approach (e.g., in a 200GB volume, the first 50GB are billed
by one price, and everything over that – by another)
Once the policy is ready, it is used by Maestro Billing
Engine together with the timelines for each object, to calculate the resulting
prices.
Hardware Resources Pricing
Hardware resources billing is necessary when an enterprise
has hardware resources that are given for rent.
Although providing hardware resources is not exactly what is
expected within a cloud service, having all infrastructure-related expenses
under unified approach, and covered with the unified rules, significantly
simplifies financial and operational processes and allows building centralized
resource utilization strategies.
For hardware billing, Maestro uses a specific type of
policy, which provides prices per item (based on your estimations), where you
can also identify different prices for different items.
If you have your hardware resources stored and used in
different locations, you may result in having different cost of ownership for
similar resources due to the differences in electricity, rent, and other local
factors. You can take it into account when creating a policy by adding a
location multiplier to the policy.
To Sum Up
Building and managing a private data center is a complex
task, both technically and organizationally. One of the core challenges that a
company needs to resolve in order to effectively track, control, and monetize private
data centers resources utilization – is understanding how to transform bare
resource usage hours into bills for end users.
Maestro Billing Engine provides a unified approach to building
chargebacks for both virtual and hardware resources. It allows you to identify cost objects, and
build timelines, which track the changes in each resource states and
configurations. Then, it applies pricing policies – detailed descriptions of
pricing rules for each state/configuration, and calculates the chargeback based
on these rules.
In this post, we discussed the main approaches, but in the
following one, let’s dive deeper into the way the billing strategy can be
customized due to policies specifics and billing engine flexibility.