Analyze costs

Domino FinOps empowers you to analyze and optimize your AI cloud expenditures. It offers:

  • Transparent cost breakdown by projects, organizations, and users.

  • The ability to create customizable chargeback/showback reports.

  • Cost recovery capabilities across organizations and identification of high-spending users and areas.

Analyze costs using the cost reporting dashboard

Domino FinOps comes with a default cost reporting dashboard to identify key drivers of your AI infrastructure usage spending like data preparation Jobs, model training, deployed model APIs, and more. See Set up Domino FinOps for more details on deploying this dashboard.

cost monitoring dashboard

Visualize and share the cost data via BI dashboards

Domino FinOps data is downloaded in the JSON format. Configure the long-term storage to persist the cost data. Connect the JSON file with your Tableau dashboard or Power BI dashboard to visualize and selectively share the data to various internal team members.

Analyze costs using the API

Use the Domino Cost API to access FinOps features.

Note
Only SysAdmins can use the /allocation and /asset API paths.

API samples

To obtain the Domino API key, go to Account Settings > API Key.

Today’s cost aggregated by cluster

curl -H "X-Domino-Api-Key: $API_KEY" -H "Accept: application/json" https://$DOMAIN/api/cost/v1/allocation -d window=today -d aggregate=cluster -G

Today’s cost aggregated by organization

curl -H "X-Domino-Api-Key: $API_KEY" -H "Accept: application/json" https://$DOMAIN/api/cost/v1/allocation -d window=today -d aggregate=label:dominodatalab.com/organization-name -G

Today’s cost aggregated by Project

curl -H "X-Domino-Api-Key: $API_KEY" -H "Accept: application/json" https://$DOMAIN/api/cost/v1/allocation -d window=today -d aggregate=label:dominodatalab.com/project-id -G
Note
The Domino FinOps APIs only allows aggregation by Domino domain objects label and does not extend to arbitrary Kubernetes objects, such as clusters.

API Schema

The following field options are available with FinOps APIs:

FieldDescription

name

Name of each relevant Kubernetes concept described by the allocation, delimited by slashes, e.g. cluster/node/namespace/pod/container.

properties

Map of name-to-value for all relevant property fields, including: cluster, node, namespace, controller, controllerKind, pod, container, labels, annotation, etc. Note: Prometheus only supports underscores (_) in label names. Dashes (-) and dots (.), while supported by Kubernetes, will be translated to underscores by Prometheus. This may cause the merging of labels, which could result in aggregated costs being charged to a single label.

window

Period of time over which the allocation is defined.

start

Precise starting time of the allocation. By definition must be within the window.

end

Precise ending time of the allocation. By definition must be within the window.

minutes

Number of minutes running; i.e. the minutes from start until end.

totalCost

Total cumulative cost.

rawAllocationOnly

Object with fields cpuCoreUsageMax and ramByteUsageMax, which are the maximum usages in the window for the Allocation. If the Allocation query is aggregated or accumulated, this object will be null because the meaning of maximum is ambiguous in these situations. Consider aggregating by namespace: should the maximum be the maximum of each Allocation individually, or the maximum combined usage of all Allocations (at any point in time in the window) in the namespace?

The window query parameter is required. For more details on possible window values, see FinOps’s window documentation.

Note
The trial version of Domino FinOps only supports up to 90 days of data storage. To use a window parameter of more than 90 days (90d), contact your Domino representative.

Next steps

See other ways Domino FinOps can help you optimize the performance of your AI projects while managing cloud expenditures: