Articles · Data & AI strategy · · 8 min read

Choosing Between Microsoft Fabric and Databricks

Fabric or Databricks is mostly a question about team shape, consumption surface and reversibility — not features. What to settle first, and what to defer.

By Matthieu de La Mettrie · Founder, Skopura

If you own the platform and the budget, the comparison matrix the vendors hand you is the least useful artefact in the room. Both products will ingest your data, both will run transformations, both will serve a report. The decision is not about capability. It is about which bundle your roster can operate, which parts you intend to own, and what it costs you to change your mind.

What are you actually choosing?

Not a product — a bundle. Storage and landing, transformation, orchestration, a semantic layer, a consumption surface, access control, and somewhere to put model and AI work later. Every vendor sells the whole bundle. You will buy it unevenly, whether or not you decide to.

Platform decisionLanding and storageFile and table formatWho holds the storage accountTransformationAuthoring languageTests and lineageOrchestration and retriesSemantic layerWhere metric definitions liveRow-level securityConsumptionReporting toolDirect query access for analystsGovernanceAccess modelCatalogue and ownershipML and AI surfaceTraining and servingRetrieval over documents
The bundle you are implicitly buying, and the branches worth marking as owned rather than accepted.structure only

Before any trial, walk the branches and mark each one “we accept the vendor’s answer” or “we own this”. A platform where every branch is vendor-owned stands up quickly and is expensive to leave. A platform where every branch is yours is portable, slow, and needs a bigger roster than you have. The honest answer is a split, and the split should be deliberate rather than the residue of whoever built the first pipeline.

Which question settles it fastest?

Who fixes it on a Tuesday morning when a load fails before the executive pack goes out?

That question does more work than a feature comparison. If the people who will hold the pager are analysts who write SQL, live in Power BI, and have never maintained a Python package, a notebook-centric platform means you have bought a product your team can use only through a contractor. If the people you have — or the people you can realistically hire and keep — are engineers who think in notebooks, repos and clusters, a low-code pipeline canvas becomes a thing they route around, and you end up operating two platforms by accident.

This is also a hiring decision. The platform constrains the shape of the team you can assemble and the breadth of people who can safely change something. A platform your analysts can contribute to widens the set of hands that can fix a broken run; a platform that only two engineers understand concentrates risk in those two engineers, and that risk shows up the first time one of them takes leave.

Does the consumption surface decide for you?

Often, yes. If reporting output is Power BI and there is no credible plan to move off it, the gravity is real and worth naming rather than resisting.

Two mechanics matter for sequencing. A semantic layer centralises metric definitions so separate reports agree — which means the question of where those definitions live is a platform question, not a BI question, and deciding it late means rewriting it. Row-level security filters a model’s data by who is asking, so your access model has to be coherent from storage through to the report, not bolted on at the last hop.

Refresh design is the third. Incremental refresh processes only changed partitions rather than a full dataset, and that only works if the partition key and the change signal survive every stage of the chain. Choosing a platform whose ingestion layer flattens that signal makes every downstream refresh more expensive than it needs to be, permanently.

Where should the transformation logic live?

In the layer with the lowest switching cost you can tolerate. In practice, that means SQL in version control with tests and lineage — dbt or an equivalent discipline — rather than vendor-specific pipeline canvases or notebook glue.

This is not purism. Transformation logic is the accumulated understanding of your business: the join that excludes internal accounts, the dedup rule that reflects how the CRM is actually used, the fiscal calendar. That is the asset. If it is expressed in a form that moves, a platform change becomes a migration with a known shape. If it is expressed in drag-and-drop steps, a platform change is a rewrite and nobody will authorise it, which means the first choice is also the last one.

Fabric-ledDatabricks-led
Roster it suitsAnalyst-heavy teams already fluent in Power BI and SQLEngineer-heavy teams comfortable with repos, notebooks and clusters
Who can fix a failed runWider pool inside the businessNarrower pool, deeper capability
Natural home for metric definitionsClose to the reporting layer by defaultNeeds a deliberate decision, or definitions scatter
Main failure modeLogic accumulates in places that do not movePlatform drifts ahead of the team that must run it
Cost of changing your mindLower if transformation stayed in portable SQLLower if storage and table format stayed open
The shape of each bet, expressed as organisational consequence rather than feature coverage.qualitative — no measurements

What should you defer past the first increment?

Streaming, unless something in the business genuinely cannot wait for the next batch. A catalogue programme, until there are enough assets worth cataloguing that people ask for one. A machine learning platform, until a model is in flight. Any AI surface sitting on top of data nobody trusts yet.

What you do first is one domain, end to end, including the ugly parts: the backfill, late-arriving records, hard deletes, and the access rules. A domain taken fully to production teaches you more about the platform than six domains taken to the demo stage, and it produces something a sponsor can point at.

Deferral is not neglect. Write the deferred items down with the trigger that reactivates each one — a named model going to production, a second business unit onboarding, a regulatory request. Undocumented deferral reads as oversight at the next steering meeting; documented deferral reads as sequencing.

What if you already have Synapse?

Then your real decision is migration order, not product selection, and the order that works is definitions before pipelines. Move the metric layer for one domain, prove the numbers reconcile against the existing reports, then move the pipelines feeding it. Reconciliation against a system you are retiring is the only cheap correctness test you will ever get, and it disappears the moment you switch the old platform off.

Running two platforms during one domain’s migration is normal. Running two platforms at steady state, with no date and no owner for the second one, is how a rebuild quietly becomes permanent.

How do you keep the decision reversible?

Three hedges, each with a modest ongoing cost. Keep storage in an open table format in an account you control. Keep transformation logic in SQL under version control with tests. Keep metric definitions in a form that can be read and diffed outside the authoring tool. None of these prevent you using the vendor’s conveniences; they just mean the conveniences are leverage rather than lock.

Reversibility is insurance, and like insurance it is worth buying in proportion to the chance of needing it. A single-domain reporting estate with a stable team does not need much. A platform expected to absorb acquisitions, new business units, or a change of reporting tool needs more.

Which way to lean

No clear gravity yet. Run one domain end to end on whichever platform your current roster can operate unaided, and defer the strategic choice until there is something to migrate.

How will you know the choice was right?

Not from the number of pipelines, datasets or published dashboards. Those count activity, and activity is the easiest thing to manufacture.

Watch four things instead. How long it takes from data landing to a question being answered. How many people can fix a failed run without escalating. How often two reports disagree on a number that should be the same. And whether the team is shipping into the platform or around it — if extracts to spreadsheets are growing, the platform has failed a usability test regardless of what the architecture diagram says.

All four are observable within the first domain. That is the argument for taking one domain all the way through rather than spreading a thin layer across six: the first production domain is not just delivery, it is the evaluation of the decision you have just made, while reversing it is still affordable.

microsoft-fabric · databricks · platform-strategy · build-vs-buy

Share on LinkedIn ↗

Work with Skopura

Facing this bottleneck in your own estate?

Skopura builds production-grade lakehouse pipelines, evaluation harnesses, and provides fractional data leadership. Thirty-minute call, no deck.

Book a 30-min call →Email directly

Further reading

Data & AI strategy · 8 min

Sequencing AI Adoption Without a Moonshot

How to order AI work when you own the platform and the budget: what to fund first, where build versus buy actually bites, and what is safe to defer.

Data & AI strategy · 7 min

What a Fractional Head of Data & AI Actually Does

A practical read on the fractional data lead: the mandate, the first ninety days of decisions, team shape underneath, and the conditions that make it fail.