specification: FinOps Framework specificationVersion: '1.0' schema: https://www.finops.org/framework/ alignedWith: framework: FinOps Foundation Framework frameworkUrl: https://www.finops.org/framework/ dataSpec: FOCUS dataSpecVersion: '1.3' dataSpecUrl: https://focus.finops.org/focus-specification/v1-3/ provider: Dapr providerId: dapr publisherName: Cloud Native Computing Foundation serviceCategory: Developer Tools created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: false tags: - Distributed Systems - Microservices - Open Source - FinOps - FOCUS description: 'FOCUS-aligned FinOps for Dapr: there is no vendor invoice for upstream Dapr itself. Cost emerges from the underlying compute (sidecar CPU/memory), state store, message broker, and any commercial managed Dapr distribution the operator chooses (Diagrid Catalyst, Azure Container Apps Dapr extension, etc.). FinOps reporting for Dapr workloads should attach to the cloud provider that hosts the sidecars rather than to Dapr itself.' sources: - https://dapr.io - https://docs.dapr.io - https://www.cncf.io/projects/dapr/ notes: No direct vendor billing. FinOps meters track underlying infrastructure spend (sidecar hours, state-store IO, broker throughput) attributed to the apps that run alongside Dapr. billingModel: pricingCategory: Open Source / Self-Hosted billingFrequency: Per-Invoice billingCurrency: USD chargeCategories: - Usage focusColumns: ServiceName: Dapr ServiceCategory: Developer Tools ServiceSubcategory: Distributed Application Runtime ProviderName: Dapr (CNCF) PublisherName: Cloud Native Computing Foundation PricingCategory: Open Source BillingCurrency: USD ChargeCategory: Usage meters: - name: sidecar_compute_hours description: CPU/memory hours consumed by Dapr sidecars (daprd) running alongside application workloads. Charged by the underlying compute provider, not by Dapr. unit: instance-hour aggregation: sum dimensions: - cluster - namespace - app_id - region - name: state_store_operations description: Reads/writes to the configured state store backend (Redis, Cosmos DB, DynamoDB, etc.). Billed by the state-store provider. unit: request aggregation: sum dimensions: - state_store - app_id - name: pubsub_messages description: Messages published or delivered through the configured pub/sub broker (Kafka, RabbitMQ, Service Bus, etc.). Billed by the broker provider. unit: message aggregation: sum dimensions: - broker - topic - app_id - name: data_egress description: Network egress between Dapr sidecars and external state/broker/binding endpoints. unit: GB aggregation: sum dimensions: - region - destination principles: - name: Visibility description: Dapr emits Prometheus metrics, OpenTelemetry traces, and structured logs for every sidecar. Pipe these into the operator's observability stack and join with cloud-provider billing exports keyed on cluster/namespace/app_id. - name: Allocation description: Tag every Dapr sidecar pod with team, environment, and app_id labels; allocation then flows from cloud-provider billing tags rather than from a Dapr invoice. - name: Optimization description: Right-size sidecar resources (CPU/memory requests and limits), enable component pluggability to use cheaper state stores in non-prod, batch pub/sub messages where ordering allows, and use Resiliency policies to avoid runaway retry storms that amplify bill. - name: Accountability description: Cluster owners and platform teams own infrastructure spend; application teams own per-app sidecar density. Review sidecar utilization quarterly and consolidate co-located apps where the sidecar is over-provisioned. maintainers: - FN: Kin Lane email: kin@apievangelist.com