Has Your Azure Data Factory Canvas Outgrown the People Who Built It?

A drag and drop pipeline is quick to build and slow to change. Past a few dozen activities the canvas turns into the documentation, the wiring takes over the logic, and every new source is another copy activity nobody wants to touch. The fix is not a tidier canvas. It is a model that generates the pipelines.

Has Your Azure Data Factory Canvas Outgrown the People Who Built It?

The data warehouse automation solution trusted by data teams across industries

Does this sound familiar?

  • Opening the main orchestration pipeline takes a while, and so does finding the activity you need in it.
  • Adding a source means copying a chain of copy activities, lookups and stored procedure calls, then adjusting each one by hand.
  • A change made in the canvas was not the change that was intended, and it was found in Test, or later.
  • Two engineers edited the same pipeline in different branches, and the merge was settled by picking one and redoing the other.

Azure Data Factory is the default integration tool in every Azure estate, and for a handful of activities it is exactly right: drag a copy activity, point it at a source, done. The trouble starts when the same approach is used for the whole warehouse, and the canvas holds hundreds of activities that only the people who wired them can read.

Why the canvas stops scaling

  • The canvas is the documentation. There is no model behind a pipeline, only the wiring. What a pipeline does is what its boxes and arrows do, and that has to be read box by box.
  • Every source is a copy of the last one. A new table means duplicating a chain of copy activities, lookups and stored procedure calls, then editing each step. Drift between copies is guaranteed.
  • Changes are made by hand in a UI. A misplaced dependency arrow or a wrong dataset reference looks correct until it runs.
  • Team work means merging JSON. Two people editing one pipeline in two branches meet in a merge of generated pipeline JSON, which is not something anyone reviews with confidence.

None of this is an ADF fault. A canvas is the right tool for orchestrating a few things and the wrong tool for expressing a data model.

Where the wiring belongs

  • In a model, not on a canvas. Business keys, relationships and attributes should be declared once, and the pipelines that load them derived from that declaration.
  • Generated, so copies cannot drift. If every staging and vault load comes from the same generator, there is no per source version to keep in step.
  • Load orchestration belongs with the loads. Datavault Builder runs sets of loads as jobs, in dependency order, with logging and restart. What is left for ADF is file movement, events and a trigger.

What changes with Datavault Builder

Datavault Builder holds the warehouse in a visual model and generates the staging, historization and delivery loads from it, running natively on Fabric, Synapse, Azure SQL or SQL Server.

  • You model the business, the platform builds the rest. Describe the entities, keys and relationships once; the hubs, links, satellites and every load are generated from that model. There is no canvas to keep in sync with reality.
  • A new source is a mapping. Map the landing table to the model and regenerate. No chain of activities to copy and adjust.
  • The model is readable. Business concepts, keys and lineage are visible in one place, to business users as well as engineers.
  • Changes are reviewed as model changes. Git and Gitflow support with generated deployment and rollback scripts, rather than a merge of pipeline JSON.
  • ADF keeps a small job. File movement and events can still run through ADF, and it can trigger a Datavault Builder job. The orchestration of the loads themselves stays in the platform.

What to decide

Open the largest pipeline and count the activities that exist only to copy, look up or call a stored procedure per source. That count is the part of the canvas that a model should be generating.

See It Running on One of Your Sources

Book a free demo and bring the connector that costs you the most, in money or in time.

Three Steps to a Pipeline You Control

  1. Count the pipelines that only move and land

    Most of a large factory is copy, lookup and stored procedure chains per source. That is structure, not logic.

  2. Model the sources instead

    Business keys, relationships and attributes go into the Datavault Builder model. The loading pipelines are generated from it.

  3. Keep ADF for what it does well

    File movement across Azure services and event handling can stay in ADF. At most it triggers a Datavault Builder job; the load orchestration lives in the platform.

How Datavault Builder Takes the Friction Out of Ingestion

  • Ingestion is built in

    Batch, delta and CDC loads from databases, files, REST APIs, NoSQL and Python sources, with streams such as Kafka arriving as micro-batches. Same platform that generates the warehouse, no second invoice.

  • Your schema, not the vendor's

    Source tables are mapped to a Data Vault 2.0 model you designed. A new column or a renamed table changes a mapping, not a chain of post-load scripts.

  • Only deltas move

    Hubs, links and satellites load what changed. Full reloads stay in staging instead of being reprocessed downstream every night.

  • History is kept by design

    Every change is retained as it arrives, so as-was reporting works even where the source overwrites its own rows.

  • Code you never hand-write

    Loading, historization and lineage are generated from the model in real time and run natively on Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle or PostgreSQL.

  • One platform, up to nine tools fewer

    Modeling, ETL, CI/CD, documentation and lineage in one place. That is what makes 14.7 minutes from requirement to production possible.

Recognized by BARC in The Data Fabric Survey 26

Meet Our Expert

Twenty minutes with our Sales Director, and an honest answer on whether this fits your stack.

Matt Collett

Matt Collett

Sales Director

What are you looking for?

By submitting you agree to our Privacy Policy.

Other Problems This Series Covers

  • Bound to one cloud

    Azure Data Factory Pain Points: The Hidden Cost of UI Pipelines and Spark Transformations

    Azure Data Factory is a good transport layer inside Azure and a poor place to keep a data warehouse. Used as the modeling and transformation suite it brings a canvas nobody can read, releases that fail on ARM templates and Spark clusters for loads that fit in one SQL statement. And every one of those pipelines exists only in Azure.

  • Mapping Data Flows cost

    Are Azure Data Factory Mapping Data Flows Costing More Than the Data They Move?

    Mapping Data Flows run on a managed Spark cluster that takes minutes to start and bills by the vCore hour. For a large nightly transformation that is reasonable. For a few hundred thousand rows it is a cluster spun up to do what one SQL statement would do inside the warehouse.

  • JSON and ARM deployments

    Does Every Azure Data Factory Release Turn Into an ARM Template Fight?

    Under the visual editor, an Azure Data Factory is JSON: pipelines, datasets, linked services and the ARM template that deploys them. Promoting a change from Dev to Prod means parameter files, global parameters and a template that fails on one type mismatch. Releases should be generated from a model, with the rollback included.

Questions and Answers