Azure Data Factory pricing is the most opaque line item on a typical Azure invoice. Four meters drive the bill: pipeline orchestration (per activity run), data flow execution (vCore-hours on a Spark cluster), integration runtime (Azure IR auto-resolve vs Self-Hosted IR vs Azure-SSIS IR), and Data Movement (data integration units, DIUs, per hour). The four levers that cut ADF spend 25–45%: kill scheduled pipelines that no longer produce consumed data, choose mapping-data-flow compute size by workload not by default, move continuous-integration jobs onto Self-Hosted IR on a reserved VM, and right-size SSIS-IR node count and Edition (Standard vs Enterprise) to actual concurrent package execution.
How Azure Data Factory actually bills
Azure Data Factory pricing separates orchestration from compute from data movement. The four billable meters:
- Pipeline activity runs: per-activity-execution rate (~$1 per 1,000 activity runs), plus per-minute meter for activities that run on the Azure IR.
- Mapping data flows: vCore-hour rate on the underlying managed Spark cluster, billed by compute type (General Purpose, Memory Optimised, Compute Optimised) and core count.
- Data movement (Copy Activity): per-hour Data Integration Unit (DIU) rate. DIU choice drives both throughput and cost.
- Integration runtime: Self-Hosted IR is free for the runtime but uses your own compute; Azure-SSIS IR bills per-node-hour by VM size and Edition (Standard vs Enterprise, where Enterprise is ~3x Standard).
The structural mistake we see: enterprises treat ADF as orchestration overhead and ignore compute. In practice mapping data flows and SSIS-IR drive 70–90% of the ADF line item.
Pipeline orchestration: cheap by design, expensive in practice
Per-activity rates are small, but high-frequency pipelines accumulate. A pipeline running every 5 minutes with 12 activities executes 12 × 288 = 3,456 activity runs per day, or ~104,000 per month per pipeline. Multiply by hundreds of pipelines across an enterprise data platform and orchestration alone reaches $5K–$15K/month before any data flow or copy compute runs.
The audit lever: identify zombie pipelines — jobs scheduled in the early days of the platform that still run and still consume meter, but whose output is no longer read by any downstream report. Most enterprise ADF estates have 15–30% zombie pipeline activity. Disable, document, decommission.
Mapping data flows: pick the right compute
Mapping data flows are the most expensive ADF meter per minute and the easiest to over-size. The compute selection screen offers General Purpose (cheapest), Memory Optimised (for wide-column transforms), and Compute Optimised (for narrow CPU-bound transforms), each at 8 / 16 / 32 / 64 / 128 / 256 vCore configurations.
The waste pattern: engineering teams default to "General Purpose, 8 cores" or worse, "Memory Optimised, 32 cores" because the data flow runs faster and the test pipeline passes. In production the over-sized cluster spins up for two minutes on every invocation and bills the minimum charge each time. Right-sizing to the actual transform profile typically cuts mapping-data-flow spend by 30–50%.
| Compute | Best for | Cost vs General | Right-sizing rule |
|---|---|---|---|
| General Purpose | Most ETL: joins, lookups, aggregations on moderate data volumes | baseline | Start at 8 cores; scale up only if pipeline duration exceeds SLA. |
| Memory Optimised | Wide-column transforms, large aggregations with many group-by keys | ~1.4x | Use only if mapping data flow OOMs on General; otherwise overkill. |
| Compute Optimised | Narrow CPU-bound transforms (regex, derived columns, complex expressions) | ~0.8x | Use for expression-heavy flows; cheaper than General per vCore. |
The ADF documentation recommends "starting with a smaller cluster and scaling up" but the default configuration on the data flow activity is intentionally generous. Microsoft account teams typically don't suggest the Compute Optimised tier even when the workload profile fits it. The buyer's posture: instrument each data flow with execution metrics, choose compute by workload type, and revisit at every MACC review.
Azure-SSIS Integration Runtime: where the real money goes
Azure-SSIS IR is the most expensive single ADF resource type. The bill: per-node-hour rate × node count × 24 × 30. A single A4_v2 Standard node ~$300/month; D4_v3 Enterprise ~$1,300/month; a 10-node D8_v3 Enterprise cluster ~$26,000/month. Cost compounds because the cluster is provisioned 24/7 by default.
The four levers on SSIS-IR cost: schedule the cluster (start before package window, stop after — can be 60–70% reduction if window is <8 hours); choose Standard Edition unless packages require SSIS Enterprise features (lineage, fuzzy lookup, change data capture); right-size node count to actual concurrent package execution P95, not P100; downsize VM size on nodes that don't use the available memory or cores. A typical SSIS-IR audit cuts spend 40–60%.
Self-Hosted IR: the hidden cost-saver
For pipelines whose compute is CPU-bound and predictable, Self-Hosted IR on a reserved Azure VM (or on-premises hardware) is dramatically cheaper than equivalent Azure IR or SSIS-IR. The trade-off: you operate the VM, patch it, monitor it. For high-frequency continuous-integration jobs and predictable batch loads, the operational cost is well below the meter savings.
Anonymised case study: $390K ADF reduction
A manufacturing client ran 230 ADF pipelines across two Data Factory instances, with $1.1M/year ADF spend dominated by SSIS-IR ($720K) and mapping data flows ($240K). The audit found: SSIS-IR cluster running 24/7 with packages executing only 6 hours/day; cluster sized at 6 D8_v3 Enterprise nodes against P95 concurrent of 2 packages; 47 pipelines that hadn't produced consumed data in 6 months; mapping data flows defaulted to "Memory Optimised, 32 cores" across the board. Remediation: SSIS-IR scheduled to a 7-hour window with auto-pause; cluster downsized to 3 D4_v3 Standard nodes; zombie pipelines disabled; mapping data flows right-sized per workload. Annual saving: $390K (35% of prior spend). The client also moved analytical workloads off mapping data flows into Synapse for further saving in 2026.
The Microsoft Licensing Briefing — 3 minutes, every Friday
Independent analysis of Microsoft commercial moves, with implications for your EA and Azure commit. No vendor spin.
No spam. Unsubscribe any time.
Where to take this from here
ADF cost discipline is mostly a hygiene problem rather than a pricing problem. Sequence the work: zombie pipeline cleanup first (lowest effort, immediate saving); SSIS-IR scheduling and right-sizing second (largest single lever); mapping data flow compute selection third; Self-Hosted IR migration of predictable batch loads fourth. Pair with Azure Synapse Analytics licensing for the analytical alternative, Azure Monitor pricing for the observability that makes right-sizing possible, and Microsoft Fabric licensing if your roadmap consolidates ADF into Fabric Data Factory. For commitment design, MACC explainer. For renewal leverage, the EA tier collapse 2026 playbook. For end-to-end support, our Azure & MACC Advisory covers data services as part of total Azure cost discipline. Request a discovery call to benchmark.