Forum Discussion

jubinsoni's avatar
jubinsoni
Icon for Memorable Member rankMemorable Member
6 days ago
Solved

Fabric capacity strategy: one shared capacity or separate capacities for dev, test and prod?

Hi everyone,

I would like to hear how others split Fabric capacity across environments. The two layouts I keep seeing are one larger shared capacity with workspaces separated by environment, and a smaller dedicated capacity per environment.

Option A: one F-SKU shared by dev, test and prod workspaces
Option B: small F-SKU for dev/test, separate F-SKU for prod
Option C: B plus a pausable capacity for dev/test outside working hours

Questions:

  • How do you stop a heavy dev or test job from throttling production in a shared capacity, and is the capacity metrics app enough to catch it early?
  • If you separate capacities, how do you handle features that need the same region or capacity for cross-workspace access, such as shortcuts or deployment pipelines?
  • Is pausing a non-production capacity worth the operational risk, and what do you do about scheduled refreshes and jobs while it is paused?

Thanks in advance.

  • Thank you maruthisp​, AvdBerg​ and Shubham_rai955​. Here is the summary of the answer from this thread; all three replies point the same way.

    Short answer: separate workspaces per environment, with Dev and Test sharing a smaller capacity and Production on its own dedicated capacity.

    Layout       -> Dev + Test share a smaller capacity; Prod on a separate dedicated capacity
    Why          -> workload isolation: heavy notebooks, pipelines and test runs in Dev/Test must not
                    consume the compute that production users depend on, which causes throttling
    Sizing       -> if development is intense, Dev/Test may need equal or larger capacity for a while;
                    for production-like performance tests, give Test its own capacity or scale it up
                    temporarily during the test
    Pausing      -> a non-production capacity is worth pausing if it can be paused for roughly 40% of
                    the time or more; otherwise a reservation is cheaper and removes the operational risk
                    of paused jobs

    This keeps cost down while protecting production, and it can be adjusted as the development load changes.

    AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.

4 Replies

  • Hi jubinsoni​,

    For most organisations, what I have see is having separate workspaces for Dev/Test/Prod, but not necessarily a separate capacity for every environment.

    A practical approach is:

    • Dev + Test → share a smaller Fabric capacity
    • Prod → use a separate dedicated capacity

    This gives you a good balance between cost and workload isolation. Microsoft also documents this as a valid deployment pattern.

    The main reason to keep Production separate is that heavy development jobs, notebook runs, pipelines or testing should not consume the same compute and cause throttling for production users.

    If you need production-like performance testing, then you can temporarily give Test its own capacity or scale it up during testing.

    Best Regards,
    Maruthi
    LinkedIn - http://www.linkedin.com/in/maruthi-siva-prasad/
    X            -  Maruthi Siva Prasad - (@MaruthiSP) / X

  • Hi jubinsoni​ 

    I mostly go for the approach provided by maruthisp​, For Dev + Test it would depend on the development intensity. If there is a lot of development going on together with testing the capacity might be equal or larger for a short while.

    For a non-production, pausing is a possibility if you pause over roughly 40% of the time, otherwise a reservation would make more sense. The reservation would negate any operational risks you might face.

  • In my experience, I would prefer keeping Dev and Test on a shared capacity and Production on a separate dedicated capacity.

    The main reason is workload isolation. Development notebooks, pipeline executions and testing can consume significant CUs, which can impact production workloads if everything runs on the same capacity.

    A few things I would consider:

    1. Dev + Test: Share a smaller capacity, provided the development workload is manageable.
    2. Production: Keep it separate to avoid unexpected throttling and ensure consistent performance.
    3. Capacity monitoring: Use the Fabric Capacity Metrics app to identify CU spikes and heavy workloads.
    4. Pausing: Consider pausing Dev/Test outside working hours if the cost savings justify managing scheduled jobs and refreshes.

    I would also avoid creating separate capacities for every environment unless there is a clear need for workload isolation.

    For most teams, Dev/Test on one capacity and Production on another is a reasonable balance between cost and performance.

  • jubinsoni's avatar
    jubinsoni
    Icon for Memorable Member rankMemorable Member

    Thank you maruthisp​, AvdBerg​ and Shubham_rai955​. Here is the summary of the answer from this thread; all three replies point the same way.

    Short answer: separate workspaces per environment, with Dev and Test sharing a smaller capacity and Production on its own dedicated capacity.

    Layout       -> Dev + Test share a smaller capacity; Prod on a separate dedicated capacity
    Why          -> workload isolation: heavy notebooks, pipelines and test runs in Dev/Test must not
                    consume the compute that production users depend on, which causes throttling
    Sizing       -> if development is intense, Dev/Test may need equal or larger capacity for a while;
                    for production-like performance tests, give Test its own capacity or scale it up
                    temporarily during the test
    Pausing      -> a non-production capacity is worth pausing if it can be paused for roughly 40% of
                    the time or more; otherwise a reservation is cheaper and removes the operational risk
                    of paused jobs

    This keeps cost down while protecting production, and it can be adjusted as the development load changes.

    AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.