Oracle Exadata lets customers run Oracle databases with fast, predictable performance and high availability at any scale. You can realize these same benefits by running Exadata Database Service, either on dedicated, or multi-tenant Exascale infrastructure in the public cloud or with Exadata Cloud@Customer in your data center. Customers tend to run multiple database instances on their Exadata infrastructure for cost efficiency.
Within a service deployment, you can create multiple virtual machine (VM) clusters, that can host multiple container databases (CDBs), which in turn can host multiple pluggable databases (PDBs), all shared across multiple business units and application teams.
Attributing costs by business unit or application is one of the core requirements for FinOps practitioners. You can't improve what you can't measure. Until now, you've been limited by the fact that Oracle FinOps tools such as cost analysis and cost reports only showed costs at the level you're being billed, such as at the VM Cluster level. This setup has required you to estimate costs at the PDB level per application or business for chargeback and budgeting purposes.
We're proud to announce Exadata Database Service now supports native cost attribution at a PDB level within OCI's cost management tools. This new capability simplifies and increases the accuracy of cost attribution for chargeback and budgeting. Even better, this enhancement is available immediately with no extra configuration or setup steps needed.
How to view costs attributed to your PDBs?
Oracle Cloud Infrastructure (OCI) uses a combination of database CPU utilization metrics and equal distribution of idle CPU time to break down the costs of a VM cluster and attribute them to all the PDB instances running on that VM cluster. This capability is available for Exadata Database Service on Dedicated Infrastructure from database-as-a-service (DBaaS) tools version 24.2.1 and from version 24.3.2 for Exadata Database Service on Cloud@Customer.
Attributed usage for the PDBs is calculated by breaking down the total CPU utilization of the VM cluster into individual PDB level utilization using the processor utilization metrics. Attributed PDB cost is derived by multiplying PDB usage with the net unit price for the VM cluster. PDB-level costs are now be automatically displayed in OCI Cost Management tools along with any tags associated with PDB instances.
Cost reports
We have introduced two new columns in the cost reports: cost/attributedCost and usage/attributedUsage. These columns are populated for every row of usage in the cost report. If your VM cluster does not have any PDBs, you will see one row of usage for the VM cluster in the cost report, where the existing columns usage/billedQuantity and cost/myCost will match the columns usage/attributedUsage and cost/attributedCost, respectively.
Cost report snippet for VM cluster with no PDBs
Cost report snippet for a VM Cluster with no PDBs
If you create a PDB in the VM cluster, usage and cost are allocated to the individual PDBs. In the following example we have six PDBs on a VM cluster. The usage/attributedUsage and cost/attributedCost are zero for the row of usage for the VM Cluster. Six other rows of usage correspond to each PDB instance. The sum of usage/attributedUsage and cost/attributedCost columns for the PDB rows match the usage/billedQuantity and cost/myCost columns for the VM cluster row.
Cost report snippet for VM Cluster with PDBs
Cost report snippet for a VM Cluster with six PDBs
We have also introduced the following tags to help you identify the relationships between VM cluster, CDB, and PDBs.
orcl-cloud.parent_resource_id_1: Resource OCID of the VM Cluster
orcl-cloud.parent_resource_id_2: Resource OCID of the Container Database (CDB)
orcl-cloud.resource_name: Friendly display name of the PDB
Cost analysis
In Cost Analysis, we have introduced additional display options of attributed cost and attributed usage, in addition to the existing display options of cost and usage.
By switching the mode to attributed cost, you can identify the costs at a per-PDB level under a given VM cluster by filtering the query by the VM cluster's resource OCID and grouping it by resource OCIDs.
Cost Analysis grouped by PDB resource ID and filtered by VM Cluster and CDB OCIDs
Cost Analysis showing PDB level attributed costs filtered by CDB and VM Cluster OCIDs
In the example shown above, a FinOps practitioner can view the attributed costs for all the PDBs in a CDB by applying a filter on tags/orcl-cloud.parent_resource_id_2. The value for the filter is the resource OCID of the CDB.
Conclusion
Cost attribution is an important aspect of establishing a reliable FinOps practice. Oracle Cloud Infrastructure is committed to providing customers with the right insights so that you can maximize the value of your cloud investments. Try out the new display options in cost analysis, review the data in your cost reports, and let us know what you think.
For more information, see the following resources:
Exadata Database Service on Dedicated Infrastructure documentation
Exadata Database Service on Cloud@Customer documentation
Cost Analysis documentation