OpenKeel: la soluzione Cloud sovrana, francese e di portata europea, del gruppo inherent Scopri inherent

Architettura

FinOps / GreenOps e CloudKitty

Quanto è costato un progetto, quanto costerebbe e cosa emette: CloudKitty tariffa l'utilizzo a posteriori, openkeel-pricing calcola subito costo e carbonio, e Skyline mostra entrambi.

Dalle metriche alla dashboard

  1. 01

    Prometheus

    Serie di openstack-exporter (istanze, volumi, immagini) nel Prometheus dello stack di osservabilità

  2. 02

    Processor di CloudKitty

    Raccoglie ogni ora l'utilizzo di ogni progetto e lo tariffa con regole hashmap e script CEL

  3. 03

    InfluxDB

    Conserva lo storico tariffato per progetto, periodo e servizio

  4. 04

    Skyline

    La pagina FinOps / GreenOps legge i riepiloghi; i moduli e il popup delle quote leggono openkeel-pricing

Due servizi complementari

rating

CloudKitty: quanto è costato?

  • Tariffa l'utilizzo raccolto, periodo per periodo
  • Conserva lo storico; riepiloghi, dataframe, ritariffazione
  • L'API di OpenStack, invariata per i suoi client
Per saperne di più
pricing

openkeel-pricing: quanto costerebbe ora, e cosa emette?

  • Costo unitario e impronta di carbonio di ogni risorsa, per progetto
  • Preventivi delle risorse in costruzione (VM dal suo flavor, volumi, S3, DNS, VPN)
  • Un'aggiunta di OpenKeel, senza equivalente OpenStack, installata di default

CloudKitty in OpenKeel

Il servizio di tariffazione riscritto in Go dalla reverse-spec di stable/2026.2: le stesse 66 operazioni API (v1, hashmap, pyscripts, v2), codici di stato, corpi di errore e policy.

ParteOpenKeel
API (cloudkitty-api)Regole, moduli, riepiloghi, dataframe e preventivi istantanei; preventivi calcolati nell'API con lo stesso codice di tariffazione
Processor (cloudkitty-processor)Elenca i progetti (fetcher Keystone: ogni progetto abilitato), ne raccoglie l'utilizzo da Prometheus a ogni periodo (1 ora), lo tariffa e lo memorizza; un solo processor attivo detiene un Lease Kubernetes
TariffazioneRegole hashmap (servizi, campi, corrispondenze, soglie) e script scritti come espressioni CEL al posto di Python: niente istruzioni né I/O, limiti di costo e di tempo
StorageInfluxDB 1.x o 2.x (InfluxQL con letterali in escape); MariaDB Galera per le regole e lo stato degli scope
Serie raccolteIl file di metriche upstream su openstack-exporter: istanze (openstack_nova_server_status), capacità dei volumi (openstack_cinder_limits_volume_used_gb), dimensione delle immagini (openstack_glance_image_bytes), progetti etichettati tenant_id
DeploymentComponente opzionale: okadm install --components …,cloudkitty --grafana; okadm attiva openstack-exporter e punta il collector al Prometheus dello stack; lab: un processor, InfluxDB 2 GiB
Difetti upstream correttiEliminazioni limitate allo scope, policy di GET /v2/rating/modules, preventivi con desc piatto, nessuna chiamata Keystone non verificata, finestre di ritariffazione e di reset

Test, funzioni escluse e inventario dell'API sono nella pagina del componente CloudKitty.

openkeel-pricing e le tariffe OpenKeelTenant

Le tariffe sono risorse Kubernetes, OpenKeelTenant (CRD installata da okadm in entrambe le modalità): quella chiamata default si applica a ogni progetto che non ha la propria. openkeel-pricing le osserva in memoria, senza database né bus.

RisorsaUnitariTariffa
cpuvCPUcosto e carbonio al mese
ramGiBcosto e carbonio al mese
gpuGPUcosto e carbonio al mese
diskGiBcosto e carbonio al mese
s3GiBcosto e carbonio al mese
dnsdominiocosto e carbonio al mese
vpnVPNcosto e carbonio al mese

API: GET /v1/rates (tariffe effettive e l'OpenKeelTenant da cui proviene ciascuna) e POST /v1/quotes (un flavor, un numero e delle risorse: righe e totali di costo e di carbonio). Costi in € al mese, carbonio in kg CO₂e al mese (× 12 per l'anno).

Dati di esempio con okadm --demo

Con CloudKitty, okadm install --demo invia un frame tariffato al giorno per il progetto demo, dal primo giorno del mese scorso a ieri (la sua VM, il suo volume, il suo load balancer, il suo container e i suoi IP flottanti con i loro ID reali, una VM eliminata il mese scorso, l'immagine base), poi crea lo stato dello scope del progetto perché il processor lo tariffi da oggi. La pagina FinOps / GreenOps mostra entrambi i mesi insieme.