Krateo Composable FinOps
The Krateo Composable FinOps module is a tool to collect costs and metrics from service providers and on-premises systems, to allow for the showback and optimization of resource utilization. The metrics collected include the costs, but also utilization of resources such as CPU, memory, and also carbon intensity, but this list could include any type of metric that we want to optimize for that is exposed through an API.
Complete Architecture
The complete architecture is summarized by the following graph:

The architecture relies on the concept of exporters and scrapers, a duo of applications that is tasked with collecting information from an API source, exporting it, and then scraping it for storage and later utilization. The exporter is basically a webservice that exposes an endpoint where data can be read from in a certain format, in this case, Prometheus'. The scraper, instead, is a service that connects to the exporter and collects all the data (i.e., by scraping it) and then querying the database to store it.
The cost data is stored in the FinOps Cost and Usage Specification, FOCUS. It is a data representation that can show in a single view costs, discounts, commitments and usage, allowing to reduce significantly the overhead of data storage and analysis compared to traditional methods. It is also widely adopted and available in all major cloud service providers (e.g., Azure, GCP, AWS and Tencent cloud).
The usage data is also stored in the database, however, usages are usually timeseries data, which allow analysis, pattern recognition and forecasting to be done on it to gain useful insights.
Data Collection
The first part of the module is responsible for data collection. This module is composed by the following units:
- finops-data-types
- finops-operator-exporter
- finops-operator-exporter-chart
- finops-operator-scraper
- finops-operator-scraper-chart
- finops-operator-focus
- finops-operator-focus-chart
- finops-database-handler
- finops-database-handler-chart
- finops-prometheus-exporter-generic
- finops-prometheus-resource-exporter-azure
- finops-prometheus-scraper-generic