You saw the billing options you have for block devices and disk images. Today I’d like to show you the OpenStack billing features for compute instances and network traffic.

Fleio can apply a cost to compute instances based on multiple attributes:

  • existence over time (of instance)
  • vCPUs: number of virtual CPU cores
  • root_gb: root file system size in GB
  • memory_mb: the instance memory (RAM)
  • instance_type: the name of the flavor (eg: m1.tiny)
  • availability_zone: the availability zone of the instance
  • cell_name: the name of the cell where the instance resides
  • any other metadata attribute

And you can select one of the following time units: second, minute, hour or billing cycle (like a whole month).

Filters can be applied to a rule on many attributes: availability zone, instance type (or flavor), operating system, state and many others. If the filter conditions are true the pricing rule applies, otherwise it is skipped. The most common type of pricing rule definition is instance_type equals “m1.tiny”.

Pricing rules are not exclusive. All pricing rules that have the filter conditions satisfied are applied and the all the resulting amounts are added. This means you can have any number of pricing rules applied for the same instance. Keep this in mind when creating pricing rules.

You can add further price modifiers to a pricing rule. The same attributes available for filters are applicable to price modifiers as well. If the price modifier’s condition is met the amount is added to the base price.

Here’s how a price modifier looks like if you want to bill 0.01 € per hour for the Windows license:

windows-price-modifier

And here’s an eye candy feature:

You can see a live cost estimate in the bottom-right corner while selecting different options in create instance form.

Network pricing rule

Network is measured per OpenStack project and can have a flat price per GB or tiered pricing, like Amazon:

network-pricing

Besides network traffic metrics, Fleio actually supports all the metrics present in Gnocchi like disk read/write IOPS, floating IPs, CPU usage and others.

A pricing rule uses the currency of the pricing plan. A pricing plan has several pricing rules and there can be many pricing plans.

What other billing options would you like to have? Leave us a comment below.