Real-Time Hub puts the same twenty-five connectors in a second UI nobody requested. We dig into why this auto-provisioned catalog becomes load-bearing the moment streams outlive their builders — and the Activator cost trap hiding behind every alert.
Episode 18 • 2026-05-01
Matthias and Fabia unpack Fabric's Real-Time Hub — the tenant-wide catalog that sits above Eventstream, Eventhouse, and Activator. They tackle why it feels redundant until it doesn't, dig into a real Reddit question about skipping the Hub entirely, and lay out the four-layer real-time stack every architect should internalize.
The Fabric Friday video on this topic: https://youtu.be/tZmw36djm9w
Built on ElevenLabs voice synthesis. Matthias — cloned voice. Fabia — designed AI co-host. See Matthias live on YouTube (Fabric Friday), at his meetups, and at conferences like FabCon.
Hosted by Matthias Falland — Microsoft Data Platform MVP and community architect behind the Fabric Periodic Table. New episodes every Friday.
Have an architecture decision you are wrestling with? DM Matthias on LinkedIn — find him as Matthias Falland. Three to five sentences about the decision, your team size, and your current stack. We anonymize before airing.
Built on ElevenLabs voice synthesis. Brand design based on fabricperiodictable.com.
Architecture decisions for Microsoft Fabric. Anonymized real customer scenarios, cost realism, counter-arguments included. Weekly episodes aligned with Fabric Friday recordings.
The Catalog Nobody Asked For
Episode 18 | 2026-05-01
Fabric Architecture Podcast | Hosted by Matthias Falland with AI co-host Fabia
---
[00:08] Fabia: About twenty-five source connectors in two different places. Fabric puts the exact same list in front of you whether you open Real-Time Hub or an Eventstream.
[00:18] Matthias: So one of them shouldn't exist.
[00:20] Fabia: One of them's a pipeline you build. The other's a catalog that showed up on your tenant the day you activated Fabric — whether you asked for it or not.
[00:30] Matthias: So we're figuring out why Microsoft gave every Fabric tenant a second front door to the same connectors — and whether you should actually walk through it.
[00:40] Fabia: Real-Time Hub is a tenant-wide read-only catalog. It doesn't ingest a single event. Its job is discovery — showing every stream and KQL table you have access to, across every workspace, in one filterable view. You find a stream here, and the Hub hands you off to whichever engine should actually process it. The processing stays somewhere else.
[01:03] Matthias: A phone book for streams.
[01:05] Fabia: The metaphor that stuck with me is yellow pages, and I think it's honest. Pre-Hub, you discovered streams by asking on Teams or grepping workspace names. The Hub replaced tribal knowledge with a filterable table — every stream, every workspace, every owner, in one view you didn't have to build.
[01:25] Matthias: And the lineage — upstream, parent, downstream — that's visible per stream?
[01:30] Fabia: Every stream in the Hub has a detail view with three relationship sections. Upstream is the connector feeding data in. Parent is the eventstream artifact that owns this stream. Downstream is wherever it routes to — your KQL database, your Lakehouse, a custom endpoint. You can trace any stream from origin to consumers on one screen. That's the Hub's real contribution to observability.
[01:55] Matthias: Here's what keeps nagging me, though. When I look at a small setup — one workspace, three or four streams — this catalog adds zero value. Everyone already knows the stream names. The Hub's just there, taking up space in the left nav.
[02:11] Fabia: And you're right. The community data backs it up — below about four streams across two workspaces, the Hub is redundant. The transition happens when streams outlive the people who —
[02:23] Matthias: Wait — outlive?
[02:24] Fabia: Someone sets up an eventstream for order events in March. They leave the company in August. By October, three teams depend on that stream and nobody knows who owns it, what the source credentials are, or whether the destination's still healthy. The Hub's All data streams tab, with the Item Owner column, is the only place that lineage survives without someone maintaining a spreadsheet.
[02:50] Matthias: So the value isn't the connectors. It's that streams become organizational assets whether you planned for it or not.
[02:58] Fabia: This one's from the Fabric subreddit. I already use Eventstream and it works fine. The Add Source dialog has the same connectors. Why am I supposed to go through Real-Time Hub now? Is this just a UX redirect?
[03:13] Matthias: That's fair — for that person, probably yes. Skip it.
[03:16] Fabia: Except here's what they're not watching. The Hub's stream profile shows incoming and outgoing message counts per stream, filterable from six hours to seven days. Zero outgoing with positive incoming means the eventstream's receiving data but failing to route it downstream. The destination's silently broken.
[03:37] Matthias: And most teams discover that how late?
[03:39] Fabia: The community anecdote we keep hearing is around six weeks. The stream keeps ingesting, the source keeps billing, and the dashboard downstream just shows stale data nobody's questioning until a monthly review.
[03:53] Matthias: Six weeks of paying for data that goes nowhere. That's the phone book earning its keep.
[03:59] Fabia: Which brings us to the cost angle. The Hub itself doesn't add CU charge — it's part of the tenant. But when you click Set alert in the Hub, it creates an Activator rule. And Activator's metering is where teams get surprised. The headline number is rule uptime — roughly 0.022 CU per hour, flat, while the rule is active. Even at zero events. That ticks around the clock whether anything fires or not.
[04:26] Matthias: So even the alert about cost... costs.
[04:28] Fabia: And here's the part that bites. Stopping a rule doesn't stop the event listener. Only deletion fully halts the uptime charge. If you've got twenty rules you paused six months ago thinking you'd come back to them, they're each still ticking.
[04:44] Matthias: That's the kind of thing I'd want to audit quarterly. Twenty stale rules doesn't sound like much until you multiply it out across a year and realize you've been quietly burning capacity on rules nobody remembers creating. Same pattern as the dead stream — something you set up with good intentions just keeps running after you've stopped paying attention.
[05:08] Fabia: The architecture recommendation that falls out of this: publish derived streams, and endorse them. A derived stream is a curated view of the raw default stream — you add filter or manage-fields operations in the eventstream, and the result shows up as a separate entry in the Hub. Downstream teams consume the derived stream. They don't touch the raw firehose.
[05:32] Matthias: So you're treating derived streams as contracts. The schema you expose is the one you commit to maintaining, and the Hub is where consumers find it.
[05:42] Fabia: And the Promoted or Certified endorsement badges show up directly in the Hub's data stream list. Consumers see the badge before they open the data. One badge per critical stream prevents teams from building production dashboards on top of someone's prototype.
[05:59] Matthias: The cheapest governance signal in all of Fabric — a checkbox.
[06:03] Matthias: Alright, let me steel-man the other side. If you're a single team, single workspace, you know your three streams by name — the Hub genuinely adds —
[06:13] Fabia: Nothing. And I'd go further. If your only streams come from one workspace and you don't need cross-team discovery, Eventstream's own UI is the shorter path. In a team of eight under cost pressure, adding ceremony to a workflow that already works is its own kind of waste. The Hub's value scales with organizational complexity. Below the threshold, it's furniture.
[06:38] Matthias: The risk I'd actually flag is the region constraints. Azure Blob Storage events don't work in six Fabric regions — Germany West Central is on that list, and that's where a lot of European regulated workloads land. The Hub itself works fine everywhere, but that one connector tile is just absent. You find out during implementation, not during planning, and by then you've already told the customer it would work.
[07:05] Fabia: The workaround is to provision Event Grid manually in Azure and point an Eventstream custom endpoint at it. Functional, and the stream itself still shows up in the Hub — but the upstream lineage now reads 'Custom Endpoint' instead of 'Azure Blob Storage.' The governance signal you were counting on is the one piece you don't get.
[07:27] Matthias: The judgment call I'd hand any team evaluating this — if your streams are personal tools that live and die with whoever built them, skip the Hub, you won't miss it. But the moment streams become shared infrastructure — the moment two teams depend on something one person created — the catalog isn't optional anymore. Endorsing them, publishing derived contracts, watching the metrics — that's the line where discovery stops being furniture and becomes load-bearing.
[07:58] Fabia: Architecture is not religion. Skip what doesn't serve you. Use what does.
[08:03] Matthias: Right now in your tenant, there's a stream whose Item Owner column shows the name of someone who left two quarters ago. Nobody's changed the credentials yet.
[08:14] Fabia: The catalog's been running since day one. The question is whether anyone's reading it.
[08:20] Matthias: If you've got a stream inventory question — or you just found a stale Activator rule you've forgotten about — DM me on LinkedIn. Find me as Matthias Falland.
[08:31] Fabia: See you next week.
---
End of episode. ~08:32 estimated.