Decision Matrix — Event Streaming Platform (ADR)
An architecture decision record for an event streaming platform: measured throughput, ops effort and run cost alongside scored replay, ordering, tooling and lock-in, in three weighted groups. The classic broker fails the 60k msg/s must-have; self-hosted Kafka ranks first at 3.88 of 5, 0.20 ahead of the managed service — a fragile lead that reverses if ops effort's weight rises from 18% to 22.4%. Illustrative values.
Make it your own.
title "ADR-014 — event streaming platform"
subtitle "Order, payment and inventory events; peak load test at 3× Black Friday"
note "Illustrative measurements and costs for a fictional retailer's platform team."
note "Throughput is the sustained rate at p99 latency under 250 ms in our load test."
option "Managed Kafka service"
option "Self-hosted Kafka" "on our Kubernetes clusters"
option "Cloud pub/sub service"
option "Classic message broker" "three-node cluster"
group "Fit to the workload" weight 50%
"Sustained throughput" weight 30 unit "k msg/s" must >= 60 : 140 180 95 38
"Replay & long retention" weight 30 : 5 5 3 2
"Per-key ordering" weight 20 : 5 5 3 4
"Connectors & stream tooling" weight 20 : 5 4 3 2
group "Operating it" weight 30%
"Ops effort" weight 60 unit "FTE" lower : 0.4 1.6 0.2 0.8
"Lock-in risk (1 = low)" weight 40 lower : 3 1 5 2
group "Cost" weight 20%
"Monthly run cost at forecast volume" weight 100 unit "$k" lower : 18.5 11.2 14.8 6.9