Power Virtual Server

Power Virtual Server

Connect, learn, share, and engage with IBM Power.

 View Only

COST ESTIMATION IN IBM POWERVS PUBLIC CLOUD

By Amritanshu Verma posted Wed September 11, 2024 12:33 PM

  

 COST ESTIMATION IN IBM POWERVS PUBLIC CLOUD

Introduction:
In cloud environment whenever we deploy any resources, at basic level it leverages virtualisation concept to create a virtual machine on the hardware platform. Though IBM POWER serves different ranges of hardware platform (POWER9 and POWER10) depending on their hardware configuration and computing capability. IBM has its own flash systems as storage solutions which provisions storage volumes across various IO throughput rate (tiers) depending on the requirement of running workload.
With each instance deployment, there is cost associated with it. The cost depends on selected hardware platform, configuration (CPU cores, Memory), Size of storage volumes and their tier type, network interfaces and attached and lastly the OS and their specific licensed versions.

How it works?
It is important to understand for customer that how they are getting charged for their PV instance deployment.  Let’s take an example that when customer deploys a PVM instance on e1080 POWER platform with specific virtual cores, memory with boot volume in TIER 0 and a virtual ethernet adapter with AIX OS. Then depending on type of CPU core (shared capped, shared uncapped and dedicated) they opt for their instance, billing will be done. The unit price of each above mentioned CPU core type will be different for each hardware platform.

From billing perspective, to identify any type of billable component on deployed instance, we use term part numbers.

A part number can be considered as pricing metric for any billable component. It can be hosting machine platform, type of CPU core, memory, OS flavor and data volumes as per their tiers. Each part number come with its own individual unit cost. Time by time new part numbers are added and unit cost gets revised as well if any change/upgrade is done in hardware platform.

These are some of the part numbers for e1080:

PTEN_ECC_VIRTUAL_PROCESSOR_CORE_HRS : Implies for CAPPED processor core on e1080
PTEN_EDD_VIRTUAL_PROCESSOR_CORE_HRS : Implies for DEDICATED processor core on e1080
PTEN_ESS_VIRTUAL_PROCESSOR_CORE_HRS : Implies for SHARED processor core on e1080

Explanation: Here, capped/dedicated and shared implies that in which manner the deployed instance will be utilising the CPU core of the host e1080 platform. The unit price for all above three part numbers on e1080 will be different and may also vary across different data centres worldwide.

Along with its proprietary AIX Operating System, IBM cloud also supports Linux with SAP HANA OS. Though, AIX, IBM i and RHEL OS is not charged. Customers are still charged if they deploy Linux with SAP-HANA or SAP-NetWeaver with BYOL image profiles.

As for example, these part numbers indicate OS license part numbers
REDHAT_SAP_SCALE_OUT_LICENSE_PER_CORE_HOUR : Implies for Red Hat SAP license on Power10 s1022.
REDHAT_SAP_SCALE_UP_LICENSE_PER_CORE_HOUR : Implies for Red Hat SAP license on Power10 e1080.

For storage volumes across different tiers we have different part numbers and they have different rates as well. The billing is initially calculated per hour basis and then it gets estimated for month.

Examples of Part numbers of deployed instance:
Example 1: SLES OS instance with capped shared processor deployed on Power10 s1022 system in MAD02 DC. 
Here is a sample part number of a SLES instance deployed on s1022. This instance does not have any additional data volume attached. The only boot volume is of 100GB on tier1 and has one subnet.

The instance has 0.25 capped shared processor core and 2GB memory.
Instance detail:

For the above deployed PVM instance, we can see it’s individual billable part numbers by running below command:

ibmcloud billing resource-instances-usage -g Default –json

This command gives detailed output having part number details of all the deployed instances and volumes across entire DC. Here we will look for PVM instance id “a0937a11-db15-4e9d-a391-ae6e86a97013which is tagged to our deployed instance “AVSLESs1022”. It is to note here that for any created PVM instance and boot/data volumes, system generates these unique identifiers such as pvmInstanceID and volumeIDs respectively.

Command and it’s truncated output:

root@amrit ~ % ibmcloud billing resource-instances-usage -g Default --json > resource-instances-usage.json
 {    
   
"resource_instance_name": "MAD02",
        "resource_name": "Workspace for Power Virtual Server",
        "region": "mad02",
        "resource_group_name": "Default",
        "consumer_id": "pvm-instance:a0937a11-db15-4e9d-a391-ae6e86a97013",
        "pricing_country": "USA",
        "currency_code": "USD",
        "billable": true,
        "usage": [
            {
                "metric": "PTEN_MS_GIGABYTE_HOURS",
                "unit": "PTEN_MS_GIGABYTE_HOURS",
                "quantity": 1404,
                "cost": 9.54018,
                "rateable_quantity": 1404,
                "non_chargeable": false
            },
            {
                "metric": "PTEN_SOC_VIRTUAL_PROC_CORE_HRS",
                "unit": "PTEN_SOC_VIRTUAL_PROC_CORE_HRS",
                "quantity": 175.5,
                "cost": 18.938205,
                "rateable_quantity": 175.5,
                "non_chargeable": false
            },
            {
                "metric": "SUSE_OS_GP_TIER_ONE_INSTANCE_HOURS",
                "unit": "SUSE GP Tier1 Instance Hours",
                "quantity": 702,
                "cost": 31.59,
                "rateable_quantity": 702,
                "non_chargeable": false
            }
        ],
        "month": "2024-07",
        "tags": []
    },

Illustration:
In above command output, the PVM instance id can be seen by referring 
"consumer_id" field. It also provides additional  information such as in which datacenter the instance is deployed. In our case, the instance “AVSLESs1022” is in "mad02” DC. The pricing country is USA, and the currency is USD.

The interesting part comes at bottom where under the usage dictionary all the associated part numbers, their individual unit cost and quantity are displayed.
For our instance
AVSLESs1022”, the part numbers associated with it are listed below. They are indicated by “metric” keyword here.
Same part numbers can be seen in billing page also for this deployed instance. We can also see it’s total usage quantity and  total cost till date at right side. As long as instance is deployed in DC, the quantity increases per hour basis and cost also increases accordingly.

PTEN_MS_GIGABYTE_HOURS implies Standard memory on POWER10
PTEN_SOC_VIRTUAL_PROC_CORE_HRS implies
POWER10 scale out capped processor (esp. s1022)
SUSE_OS_GP_TIER_ONE_INSTANCE_HOURS implies OS license for General Purpose SUSE machine without SAP

Example 2: RHEL OS instance with uncapped shared processor deployed on POWER10 s1022 system in MAD02 DC.

Below are the part numbers associated with the instance and their total quantity and the usage cost till date.


PTEN_MS_GIGABYTE_HOURS implies for standard memory on POWER10 s1022.
REDHAT_GP_ON_SCALE_OUT_APP_INSTANCE_HOURS implies for OS license for General Purpose RHEL OS on POWER10 s1022.
PTEN_SOS_VIRTUAL_PROC_CORE_HRS implies shared processor core on POWER10 s1022.

Example 3:  AIX instance with uncapped shared processor deployed on POWER10 s1022 system in MAD02 DC.

Below are the part numbers associated with the instance and their total quantity and the usage cost till date.

AIX_SMALL_APPLICATION_INSTANCE_HOURS implies OS license for AIX installed on lower end POWER9 or POWER10.
PTEN_MS_GIGABYTE_HOURS implies standard memory on POWER10 s1022.
PTEN_SOS_VIRTUAL_PROC_CORE_HOURS implies shared processor core on POWER10 s1022.

Example 4:  SLES instance with uncapped shared processor deployed on POWER9 e980 system in DAL12 DC.

Below are the part numbers associated with the instance and their total quantity and the usage cost till date.


MS_GIGABYTE_HOURS implies Standard RAM memory.
ESS_VIRTUAL_PROCESSOR_CORE_HOURS implies Uncapped shared processor core on Enterprise POWER9 e980.
SUSE_OS_GP_TIER_ONE_INSTANCE_HOURS implies OS license for General Purpose SUSE machine without SAP.

Example 5:  RHEL instance with uncapped shared processor deployed on POWER9 s922 system in CHENNAI DC.

Below are the part numbers associated with the instance and their total quantity and the usage cost till date.

MS_GIGABYTE_HOURS implies Standard RAM memory.
SOS_VIRTUAL_PROCESSOR_CORE_HOURS implies Scale out shared virtual processor core.
REDHAT_GP_ON_SCALE_OUT_APP_INSTANCE_HOURS implies for OS license for RHEL OS on POWER10 s1022.

We can notice that the part numbers corresponding to Operating System changes depending on the deployed instance.

Demo on cost estimation while deploying instance:
In this blog we will deploy one instance for demo and then will try to get the estimated monthly cost as seen from IBM Cloud GUI. Then will get the same detail from IBM Cloud CLI.


Here, we are deploying one Linux RHEL 9 instance on POWER10 s1022 platform with boot volume in Tier3 and two data volumes of 100GB each in Tier1. The deployed instance has 0.5 CPU cores and 4GB memory. The license of this OS is provided by IBM only.

root@amrit ~ % ibmcloud pi ins get AMRIT-RHEL9-DEMO
Getting instance AMRIT-RHEL9-DEMO under account <Account_Name> as user <user_name>...

ID                         3d299e16-3b00-47da-a1fd-0f94def96c04
Name                       AMRIT-RHEL9-DEMO
CPU Cores                  0.5
Memory                     4
Processor Type             shared
System Type                s1022
Boot Disk Size             100
Volumes                    0063cc47-ccf4-4312-af77-0edbb9de2722, bf294e54-9626-438e-a1a3-08469b30e790, 038a7c3b-59a8-4b99-9c0e-d5257bae4e9c
Storage Tier               tier3
Created                    2024-07-26T04:55:28.000Z
Status                     ACTIVE
Health Status              OK
root@amrit ~ %

Below is the boot volume and attached data volume details:
Boot-volume details:

root@amrit ~ % ibmcloud pi vol get 0063cc47-ccf4-4312-af77-0edbb9de2722
Getting Volume 0063cc47-ccf4-4312-af77-0edbb9de2722 under account < Account_Name > as user <user_name>...

ID                    0063cc47-ccf4-4312-af77-0edbb9de2722
Name                  AMRIT-RHEL9-D-3d299e16-0000851f-boot-0
Profile               tier3
Size                  100
Bootable              true
Storage Pool          General-Flash-53
IO Throttle Rate      300 iops
PVMInstanceIDs        3d299e16-3b00-47da-a1fd-0f94def96c04
WWN                   60050768138102603800000000002855
root@amrit ~ %

Below is the part number associated with above boot volume. The boot volume is of 100GB in TIER3.

ibmcloud billing resource-instances-usage -g Default --json > resource-instances-usage_qty.json

The command output has been truncated.

[
    {
        "resource_instance_name": "MAD02",
        "resource_name": "Workspace for Power Virtual Server",
        "plan_name": "Power Systems Virtual Server Group",
        "region": "mad02",
        "space_name": "",
        "consumer_id": "volume:0063cc47-ccf4-4312-af77-0edbb9de2722",
        "pricing_json": "",
        "pricing_country": "USA",
        "currency_code": "USD",
        "billable": true,
        "usage": [

            {

                "metric": "TIER_THREE_STORAGE_GIGABYTE_HOURS",

                "unit": "TIER_THREE_STORAGE_GIGABYTE_HOURS",

                "quantity": 1000,

                "cost": 0.0708669,

                "rateable_quantity": 1000,

                "non_chargeable": false

            }

        ],

        "month": "2024-07",

        "tags": []

    },

root@amrit ~ %

Attached data volume details:

root@amrit ~ % ibmcloud pi vol get bf294e54-9626-438e-a1a3-08469b30e790
Getting Volume bf294e54-9626-438e-a1a3-08469b30e790 under account < Account_Name > as user <user_name>...

ID                    bf294e54-9626-438e-a1a3-08469b30e790
Name                  AMRIT-DEMO-VOL-74043-1
Profile               tier1
Size                  100
Bootable              false
Storage Pool          General-Flash-53
IO Throttle Rate      1000 iops
PVMInstanceIDs        3d299e16-3b00-47da-a1fd-0f94def96c04
WWN                   60050768138102603800000000002853
root@amrit ~ %

Below is the part number associated with above data volume of 100GB in Tier 1.
ibmcloud billing resource-instances-usage -g Default --json > resource-instances-usage_qty.json

The command output has been truncated.

{

        "resource_instance_name": "MAD02",

        "resource_name": "Workspace for Power Virtual Server",

        "plan_name": "Power Systems Virtual Server Group",

        "region": "mad02",

        "resource_group_name": "Default",

        "consumer_id": "volume:bf294e54-9626-438e-a1a3-08469b30e790"

        "pricing_country": "USA",

        "currency_code": "USD",

        "billable": true,

        "usage": [

            {

                "metric": "TIER_ONE_STORAGE_GIGABYTE_HOURS",

                "unit": "TIER_ONE_STORAGE_GIGABYTE_HOURS",

                "quantity": 1000,

                "cost": 0.13545,

                "rateable_quantity": 1000,

                "non_chargeable": false

            }

Similarly for another data volume of 100GB in Tier 1, It will have same part number but different volume ID/consumer ID.

ibmcloud billing resource-instances-usage -g Default --json > resource-instances-usage_qty.json

The command output has been truncated.

{

        "resource_instance_name": "MAD02",

        "resource_name": "Workspace for Power Virtual Server",

        "plan_name": "Power Systems Virtual Server Group",

        "region": "mad02",

        "consumer_id": "volume:038a7c3b-59a8-4b99-9c0e-d5257bae4e9c",

        "pricing_country": "USA",

        "currency_code": "USD",

        "billable": true,

        "usage": [

            {

                "metric": "TIER_ONE_STORAGE_GIGABYTE_HOURS",

                "unit": "TIER_ONE_STORAGE_GIGABYTE_HOURS",

                "quantity": 1000,

                "cost": 0.13545,

                "rateable_quantity": 1000,

                "non_chargeable": false

            }


We can notice the difference in cost for boot volume of TIER3 and data volume in TIER1.

TIER_ONE_STORAGE_GIGABYTE_HOURS implies
SSD Storage Gigabyte-Hours
TIER_THREE_STORAGE_GIGABYTE_HOURS implies HDD Storage Gigabyte-Hours

Estimation change while editing the virtual instance configuration:

Below is the actual monthly cost estimate of deployed PVM instance with RHEL9 OS.

While editing virtual instance, changed CPU cores from 0.5 to 2 and memory from 4GB to 12GB. The total estimated cost also increases accordingly per monthly basis. From $124.33/month it increases to $453.21/month. This estimation as seen in IBM Cloud GUI page does not include the calculation for attached data volumes.

Demo on cost estimation while creating volumes:

Storage volumes in IBM cloud come in four tiers based on throughput rates. Customers choose volumes based on workload needs, and each tier has a different unit cost. All these different tiers volume have their specific part numbers.

STORAGE TIER

IOPS

PART NUMBER

Tier 0

25

TIER_ZERO_STORAGE_GIGABYTE_HOURS

Tier1

10

TIER_ONE_STORAGE_GIGABYTE_HOURS (SSD)

Tier 3

3

TIER_THREE_STORAGE_GIGABYTE_HOURS (HDD)

Tier 5K (Fixed IOPS)

5000

FIXED_5K_OPS_GIGABYTE_HOURS

Summary:
This table illustrates the estimated monthly cost of volume in each tiers as per their size. This is with reference to MAD02 DC.

Estimated price in $/month

Number of volumes

Sizes/Tiers

Tier 0

Tier 1

Tier 3

Tier 5K

1

1 GB

0.26

0.22

0.11

0.32

2

1 GB

0.53

0.44

0.23

0.63

1

100 GB

26.4

21.97

11.5

31.68

2

100 GB

52.8

43.95

23.01

63.36


From above table we can interpret how the estimated cost of volume is changing as per their size and the numbers when they are created. The estimated calculations are in line with the capacity for each tiers.

Guide to see all part numbers in a DC from IBM Cloud billing UI

When we deploy instances, IBM Cloud GUI billing usage page provides a single panel look for all the part numbers for any DC with data history up to last one year.
The access to below URL depends on the IAM access permissions.
Sample url :
https://cloud.ibm.com/billing/usage/<power virtual server workspace>/plan/<pricing_region_with_data-center>/<month=yyyy-mm>

In following page we can see the pricing region for all DC’s and their total monthly cost. Let’s take example of Madrid 02 DC for July 2024 and get the details.

Below page shows all the billable part numbers of the deployed instances and their total quantity in the MAD02 DC. It also shows the total cost as per customer’s usage for July 2024.

Below is the cumulative cost for all part numbers associated with deployed instances in MAD02 DC.

References:

      Power Virtual Server overview : https://www.ibm.com/products/power-virtual-server
Power Virtual Server API Doc : https://cloud.ibm.com/apidocs/power-cloud

0 comments
151 views

Permalink