Skip to content
Back to skills

Capacity Sizing And Isolation

ASecurity

Playbook for sizing Fabric capacity SKUs, isolating noisy workloads across capacities, configuring surge protection and smoothing, and diagnosing throttling — the FinOps and operations companion to the capacity-finops knowledge file.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentsgoazuresecurity

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill capacity-sizing-and-isolation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Capacity Sizing And Isolation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Capacity Sizing And Isolation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-capacity-sizing-and-isolation/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-capacity-sizing-and-isolation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: capacity-sizing-and-isolation
description: "Playbook for sizing Fabric capacity SKUs, isolating noisy workloads across capacities, configuring surge protection and smoothing, and diagnosing throttling — the FinOps and operations companion to the capacity-finops knowledge file."
---

# Capacity Sizing and Isolation

## When to Use This Skill

Use when provisioning a new Fabric capacity, when a capacity is throttling and the cause is unclear, or when planning a multi-workload isolation strategy.

## 1. Fabric CU Model Refresher

Fabric capacity is measured in **Capacity Units (CUs)**. Each operation consumes CUs; the system **smooths** consumption over a rolling window (10-second bursts, 24-hour background smoothing). A workload can burst above its SKU's baseline as long as the smoothed average stays under the limit.

| SKU | CUs | Monthly cost (approx, East US) | Typical use |
|---|---|---|---|
| F2 | 2 | ~$262 | Small dev/test |
| F4 | 4 | ~$524 | Single team POC |
| F8 | 8 | ~$1,048 | Small prod workload |
| F16 | 16 | ~$2,097 | Medium team |
| F32 | 32 | ~$4,194 | Multi-team or mixed workloads |
| F64 | 64 | ~$8,389 | Large analytics platform |

[Verify prices at build — Fabric pricing changes frequently.]

## 2. Sizing Decision

**Step 1 — Estimate average concurrent CU demand (not peak):**

```
CU estimate = SUM(workload_avg_CU) across all concurrent workloads
```

Fabric smooths over a 24-hour window for background jobs — size to average + 20% headroom, not to the peak of a single large pipeline run.

**Step 2 — Select the next SKU tier above your estimate.**

**Step 3 — Enable surge protection** (`Overload protection` in the Admin portal) to prevent a single runaway job from exhausting the capacity.

**Step 4 — Monitor for 2 weeks.** Check the Fabric Capacity Metrics app for actual utilization; rightsize if P90 utilization is consistently < 40% (downsize) or > 80% (upsize or isolate).

## 3. Workload Isolation Strategy

| Isolation reason | Pattern |
|---|---|
| Dev vs prod | Separate capacities (different F SKUs; dev can be smaller) |
| Noisy ETL vs interactive queries | Separate capacities or workspace assignment with different capacities |
| Tenant isolation (ISV) | Separate capacity per tenant (billing boundary, security boundary) |
| One heavy batch job starving dashboards | Move the batch job to a dedicated workspace on a separate capacity |

```
Capacity A (F8)  — prod interactive workloads (semantic models, dashboards)
Capacity B (F4)  — prod batch/pipeline workloads (Data Factory pipelines, Spark)
Capacity C (F2)  — dev/test (all teams share)
```

## 4. Diagnosing Throttling

Throttling surfaces as slow queries, pipeline failures, or "Capacity exceeded" errors.

```
Admin portal → Capacity Metrics app → select capacity → "Throttling" tab
```

Key metrics to check:

| Metric | Throttling if |
|---|---|
| Background CU utilization | Smoothed 24h average > 100% |
| Interactive CU utilization | 10s burst > SKU interactive limit |
| Rejected requests | > 0 on interactive tier |

**Common causes:**

1. A single large Spark notebook consuming all background CUs — move to a separate capacity or schedule off-peak
2. Direct Lake semantic model refresh coinciding with pipeline run — stagger schedules
3. Too many concurrent dataflow Gen2 refreshes — reduce parallelism or upgrade SKU
4. V-Order not enabled on gold tables — queries consume more CUs than necessary

## 5. Capacity Metrics App Queries (KQL)

```kql
// Top 5 artifacts by CU consumption — last 24h
FabricCapacityMetrics
| where TimeGenerated > ago(24h)
| summarize TotalCU = sum(CUSeconds) by ArtifactName, ArtifactKind
| top 5 by TotalCU desc
```

[Metric names and schema are Fabric-version dependent — verify at build.]

## 6. Reservation and Cost Optimization

| Strategy | Discount | Commitment |
|---|---|---|
| Pay-as-you-go | 0% | None |
| 1-year reservation | ~37% | 1 year, upfront or monthly |
| 3-year reservation | ~53% | 3 years, upfront |
| Pause capacity (non-prod) | ~40-60% | None — pause nights/weekends |

For dev/test capacities, configure an **auto-pause** schedule (pause at 7pm, resume at 8am) — reduces cost by ~55% on an F2.

## 7. Checklist Before Go-Live

- [ ] Capacity SKU selected from average + 20% headroom (not peak)
- [ ] Surge/overload protection enabled in Admin portal
- [ ] Separate capacity for dev/test vs production
- [ ] Capacity Metrics app deployed and accessible to the ops team
- [ ] Budget alert configured in Azure Cost Management for the Fabric capacity resource
- [ ] Auto-pause schedule set for non-production capacities

## Pitfalls

- Sizing for the peak of a single large Spark job — Fabric smooths over 24 hours; this leads to over-provisioning
- Running all workloads on one capacity — one heavy pipeline starves interactive reports
- Not enabling surge protection — a runaway job can exhaust the capacity and throttle all other workloads
- Forgetting that mirroring is free to replicate but billed to query — a Mirroring-heavy workspace inflates CU consumption on reads

## See Also

- [`../../agents/fabric-admin.md`](../../agents/fabric-admin.md) — capacity management, FinOps, and throttling diagnosis
- [`../../agents/fabric-architect.md`](../../agents/fabric-architect.md) — workspace/domain/capacity topology design
- [`../../CLAUDE.md`](../../CLAUDE.md) — house opinion: capacity is shared and throttleable; size to average + smoothing

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…