the hub · orchestration pain

The master pipeline problem

A "master pipeline" is what happens when Azure Data Factory orchestration grows without a design: one top-level pipeline stuffed with Execute Pipeline activities that calls other pipelines, that call other pipelines. Grandparent, parent, child, and by year three, infant. It works right up until it fails, and then exactly one person in the company can tell you where, why, or what to do next.

Why does every ADF shop end up with a master pipeline?

Because it's the path of least resistance. ADF gives you a canvas and an Execute Pipeline activity; chaining them is the obvious way to make pipeline B wait for pipeline A. You can't nest a ForEach inside a ForEach, so another Execute Pipeline call papers over that too. Each individual decision is reasonable. The sum of three years of reasonable decisions is hundreds of tightly coupled activities, dependencies drawn as arrows nobody dares move, and parameters duplicated in every branch because sharing them properly was never anyone's sprint task.

The maze doesn't announce itself. It accretes. By the time the team calls it "the master pipeline" (with the definite article, like a landmark) it's already the riskiest object in the data platform.

What does the master pipeline actually cost?

Three things, and they compound: invisible state, total failures, and key-person risk.

  • Invisible state. The Monitor view answers "did the pipeline run?", not "which of the forty things inside it is currently running, and how long has it been stuck?" When the business asks whether the numbers are fresh, the honest answer is "the daily job's still running," which is no answer at all. Seeing more requires access most of the team doesn't have, and the run history ages out after 45 days regardless.
  • Total failures. When step 47 of 60 fails at 2 a.m., the safe fix is re-running all 60. Rerun-from-failed-activity helps until it doesn't: it's a manual click per run, and inside loops and nested pipelines your recovery depends on skip rules you don't control rather than true restart granularity. So you spend hours of compute and half the night redoing work that already finished.
  • Key-person risk. The whole structure lives in one engineer's head. Their resignation letter is also an architecture document, and it's the only one you'll have.

Isn't this just a Data Factory problem? Wouldn't Fabric fix it?

No. This is an implementation problem wearing a platform costume. A recurring pattern in customer conversations: an organization blames the tool for problems caused by how it was implemented, migrates to something more expensive (Fabric, Talend, Snowflake), and rebuilds the same undocumented orchestration gap on the new platform. Fabric is the Data Factory upgrade, and it inherits whatever implementation you bring to it. Its native monitoring also runs on a capacity model that consumes the CUs you're trying to conserve.

They have what they need. They just don't know how to use it. The fix is not a migration; it's a governed implementation of the platform already being paid for.

What does the way out look like?

Take the knowledge out of the canvas and out of the engineer's head, and put it in a database. That's the entire idea, and it isn't a new one. Teams have been building control tables and metadata frameworks for years, usually by hand, usually maintained by exactly one person. When orchestration is metadata (processes, schedules, dependencies, phases as rows), three things follow:

  1. Anyone can see it. The status report is just a report over the metadata: every process, every phase, current state. No developer access required. See how the data model works.
  2. Failures get small. Phases checkpoint. A failure at phase 4 of 6 retries from phase 4, automatically and once, instead of re-running the night.
  3. Handoff becomes real. A new engineer reads tables instead of tribal knowledge. The system explains itself because the system is data.

The fair objection is that a metadata framework adds a layer of indirection, and that homegrown ones tend to rot when their author moves on. Both true. That's the case for the framework being a maintained product with the debugging surface built in, rather than the side project of whoever is currently most senior.

Where this applies: teams consolidating multiple sources into a central repository on ADF or Fabric. If that's not your architecture, a metadata-driven orchestration layer is the wrong medicine, and we'd rather say so here than on a call.

Going deeper

This page anchors a series on orchestration failure patterns: resume-from-failure in ADF, what Fabric's native monitoring costs, and key-person risk in data teams. New pieces land on the blog as they're finished. Evaluating tools right now? The honest Airflow comparison for Azure teams is already live, with every claim dated and sourced.

How exposed is your orchestration?

Ten questions: pipeline count, recovery method, monitoring access, key-person exposure. Scored, explained, no email required.