Cost Allocation & Showback Platform  ·  View 07 of 22  ·  3 · Structure

Platform Components

Four stores because there are four mutabilities. The fact store is the biggest and has the weakest durability requirement.

Editable source SVG draw.io All views
Azure — platform subscription (primary region) Serving tier — AKS, autoscaled Dashboard & statement UI React on AKS Query API REST + OData Drill-through service p95 10 s Dispute & statement service Batch tier — elastic, interruption-tolerant Ingestion orchestrator Data Factory Conformer jobs Databricks Allocation runner Databricks, spot Anomaly & forecast scorer State — separated by mutability Raw landing zone ADLS Gen2, WORM Cost fact store Azure Data Explorer Ownership & policy Azure SQL Statement & dispute store Azure SQL, RPO 0 Platform services Entra ID workload identity Key Vault CMK, rotation Event Hubs usage telemetry Azure Monitor platform SLOs Provider billing exports 3 clouds Cluster metrics 60k workloads Service catalogue & org system ERP general ledger posting only daily pull usage samples land as given allocated facts freeze posting file Platform Components — What Is Deployed, and Where State Lives Application we own Interface / broker Security / platform Data store Queue / topic External / third party batch event / async synchronous Four stores because four mutabilities. The fact store is rebuildable; the statement store is not, and is the only one at RPO 0 alongside ownership and policy. v 1.0 · owner Platform Architecture · date 2026-09

Decisions

  • Serving and batch are separate tiers: no interactive request ever waits on an allocation run
  • The allocation runner runs on spot capacity, because no run is latency-critical inside its window
  • Ownership, policy and statements share a relational store at RPO 0; facts do not

Azure realisation

  • ADLS Gen2 with immutable blob policy for the raw zone; Azure Data Explorer for the cost fact store
  • Databricks for conformance and allocation; Data Factory for ingestion orchestration
  • Azure SQL for ownership, policy, statements and disputes; Event Hubs for usage telemetry
  • Entra ID workload identity throughout; Key Vault holds the customer-managed keys

Stated assumptions

  • 1.2 bn cost records/month and 2.6 bn usage samples/month size the fact store and the telemetry path
  • Spot interruption on the batch tier is tolerated by checkpointing per partition