openmeter icon indicating copy to clipboard operation
openmeter copied to clipboard

FinOps Open Cost & Usage Specification Support

Open kbespalov opened this issue 9 months ago • 1 comments

Preflight Checklist

  • [X] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Problem Description

At the moment we use CloudEvent (https://cloudevents.io/) to define OpenMeter ingesting API specification.

{
  "specversion": "1.0",
  "type": "api-calls",
  "id": "00001",
  "time": "2023-01-01T00:00:00.001Z",
  "source": "service-0",
  "subject": "customer-1",
  "data": {
    "duration": "12",
    "path": "/hello"
  }
}

The result of any metering system is costs&usage reports. One of the important use-cases of report usage is data exporting.

There are two goals of data exports:

  1. Integration (accounting/payment systems). A scenario in which reports are exported from OpenMeter to target systems such as Stripe, Paypal, OEBS, NetSuite, etc. In this case, each system has its own data format, and standardization is impossible.

  2. FinOps Observability (datalakes, dwh). In this scenario, data is typically uploaded to customer's S3 in a specific format at a specific frequency. Then transferred by customers into company-wide DWH/Data Lake. This practice is presented, for example, in all top cloud providers such as GCP, AWS, Azure and some SaaS services.

So, we use CloudEvent CNCF specification for OpenMeter as input at Ingesting API. Probably we should consider FOCUS (FinOps Open Cost & Usage Specification) as OpenMeter output at Reports Exporting API.

Proposed Solution

  1. Research CNCF proposed specification - https://focus.finops.org/
  2. Add this format as an option in planned S3 exports API if that makes sense

Alternatives Considered

No response

Additional Information

No response

kbespalov avatar Sep 30 '23 21:09 kbespalov