Overview#

This is the architect's field guide to Fabric's platform layer — tenant/workspace/domain structure, OneLake, governance, and capacity isolation as design decisions you make. For the complete practitioner reference covering every platform primitive in depth — licensing mechanics, networking, Item Recovery, the on-premises gateway, Fabric Apps/Rayfin, and V-Order internals — see Microsoft Fabric: The Complete Platform Reference.

Microsoft Fabric is a SaaS analytics platform where ingestion, engineering, warehousing, real-time analytics, data science, and Power BI all operate inside one product surface [S1]. The platform layer matters because workloads share OneLake storage, centralized governance, and capacity-backed compute rather than each team assembling separate services by hand [S1] [S2].

Microsoft Fabric platform overview

Core concepts#

A Fabric tenant aligns to a Microsoft Entra tenant, and workspaces are collaboration containers that hold Fabric items, draw compute from a capacity, and control access [S2]. Domains sit above workspaces as governance and ownership groupings, which lets an organization delegate management by business area without creating separate physical lakes [S2] [S3].

OneLake is the storage foundation: each tenant gets a single logical data lake, and Fabric items persist analytical data in open Delta/Parquet form so different engines can read the same data without a copy step [S3]. Purview-backed governance supplies discovery, endorsement, sensitivity labeling, lineage, and data protection controls across the estate [S4].

Fabric Jumpstart adds a practical adoption layer above those platform primitives: Microsoft publishes ready-to-deploy accelerators, demos, and tutorials that bundle Fabric items such as notebooks, pipelines, reports, datasets, and supporting assets for one-step workspace deployment [S7]. That makes Jumpstart useful for platform teams that need realistic reference implementations before they standardize workspace, capacity, and governance patterns [S7].

Architecture view#

LayerFabric primitiveArchitecture decisionSource
TenantEntra-aligned Fabric tenantSets the organizational boundary for workspaces, domains, governance, and OneLake[S2] [S3]
OwnershipDomains and workspacesGroups items by business area, delivery lifecycle, and access model[S2] [S4]
StorageOneLakeKeeps analytical data in one tenant-wide logical lake instead of per-engine copies[S3]
GovernancePurview-backed controlsHandles catalog, endorsement, labels, lineage, DLP, and compliance workflows[S4]
ComputeCapacitiesProvides cost, scale, and throttling boundaries for assigned workspaces[S5] [S6]
AcceleratorsFabric JumpstartDeploys tested examples into a workspace so patterns can be evaluated against real Fabric items[S7]

How it works and best practices#

Start the platform design with ownership boundaries, not workload names. Map business ownership to domains and workspaces, then assign those workspaces to capacities that match the isolation and chargeback requirement [S2] [S5]. Use the OneLake catalog and endorsement to make governed assets discoverable rather than relying on workspace names as the only navigation layer [S4].

Capacity is both a cost unit and a blast-radius boundary. Fabric throttling is enforced per capacity, so a saturated capacity affects the workspaces assigned to it while other capacities in the same tenant can keep operating [S6]. That makes separate capacities useful for production reporting, batch engineering, and exploratory development when those workloads have different reliability requirements [S5] [S6].

Fabric workload-selection decision map

Use Jumpstart as a sandboxing tool, not as an uncontrolled production installer. The catalog is Microsoft-run and open source, and the installer can deploy bundled items into a workspace from Python, but the workspace, data, ownership, and security model still need the same review as any other Fabric content [S4] [S7].

python
# Fabric notebook or Python environment with Fabric credentials.
# The KB verifies the package flow and install() pattern, not any specific catalog item name.
import jumpstart

jumpstart.list()
jumpstart.install("name")

Platform blueprint example#

yaml
fabric_tenant:
  domains:
    finance:
      workspaces:
        - fin-dev-lakehouse
        - fin-prod-curated
      capacity: fin-prod-f64
    operations:
      workspaces:
        - ops-streaming
        - ops-semantic
      capacity: ops-prod-f64
  shared_services:
    workspace: platform-governance
    responsibilities:
      - catalog standards
      - endorsement process
      - sensitivity labels
      - Jumpstart evaluation sandbox

Inference: the YAML is a design sketch, not a Fabric deployment manifest. The mapped constructs are sourced: domains and workspaces from terminology, OneLake from storage, governance from Purview, and capacity isolation from licensing/throttling guidance [S2] [S3] [S4] [S5] [S6].

What goes wrong#

Treating Fabric as a set of unrelated services recreates the integration work the platform is designed to remove. A notebook, warehouse, semantic model, and report should normally share governed data through OneLake and the capability-specific serving layers, not through copied extracts between workspaces [S1] [S3].

Private networking and capacity placement are architectural choices, not late-stage switches. Private link configurations can constrain features and operational flows, while capacity placement decides which workspaces share throttling risk [S5] [S6].

Installing accelerators into a production workspace without reviewing ownership, labels, source data, and capacity impact creates the same governance problem as any unmanaged content deployment. Jumpstart gives a fast deployment path, but it does not replace the platform team's publish, review, and lifecycle controls [S4] [S7].

Internals#

Architecture & design#

The platform is layered: workloads create and process items, OneLake supplies the tenant-wide storage namespace, Purview supplies the governance plane, and capacities supply compute resources to workspaces [S1] [S2] [S3] [S4]. This layering is why Fabric can expose different engines while keeping a common storage and governance model [S1] [S3].

How it works internally#

Workspace items are stored under the tenant's OneLake namespace, and governance settings resolve through tenant, domain, workspace, and item scopes depending on the control [S2] [S3] [S4]. Capacity accounting classifies operations as interactive or background and smooths their CU usage across future timepoints before throttling decisions are applied [S6].

Jumpstart deployment is implemented through the fabric-jumpstart Python package and reuses Microsoft's fabric-cicd deployment tooling rather than a separate item-deployment engine [S7]. The installer can detect item-name conflicts and use overwrite, generated prefixes, or custom prefixes so the same accelerator can be reinstalled or run side by side for evaluation [S7].

Performance characteristics#

The main platform-level performance control is isolation: capacities separate throttling domains, while file layout and engine-specific caches determine read behavior inside individual workloads [S6]. For deeper mechanics, use the focused articles on capacity, OneLake, lakehouse, warehouse, Direct Lake, and semantic models [S3] [S6].

Jumpstart is positioned as a fast deployment and learning mechanism, with catalog listings carrying estimated completion times and deploying prebuilt artifacts into a workspace [S7]. Inference: use those deployments for evaluation speed and reference architecture discovery, but run production performance tests against your own capacity, data volumes, and governance settings before adopting an accelerator design [S6] [S7].

Worked example#

A governed platform might use one production capacity for executive Power BI, one engineering capacity for Spark and pipeline work, and a separate development capacity for experimentation [S5] [S6]. Workspaces are grouped into domains such as Finance and Operations, certified data products are published through the catalog, and consumers use endorsed items or shortcuts rather than creating unmanaged copies [S3] [S4].

A platform team can then create a sandbox workspace, install a relevant Jumpstart accelerator, review the deployed notebooks/pipelines/reports, and promote only the architectural ideas that satisfy tenant governance and capacity standards [S4] [S7]. The accelerator is a starting point; the production implementation still needs source approval, ownership, validation, and publish gates [S4].