La gerarchia: tenant, capacity e workspace

In Microsoft Fabric l’organizzazione delle risorse segue tre livelli annidati che devi saper distinguere con precisione all’esame.

  • Il tenant è il confine dell’organizzazione, legato a Microsoft Entra ID. Contiene le impostazioni globali gestite dall’admin nell’Admin portal (tenant settings) e ospita OneLake, il data lake logico unico condiviso da tutti.
  • La capacity è l’unità di compute e billing. In Fabric si acquista uno SKU della famiglia F (F2, F4, F8 … F64, F2048), dove il numero indica le Capacity Units (CU) disponibili. La capacity è la risorsa fisica che esegue Spark, SQL, pipeline e semantic model.
  • Il workspace è il contenitore logico degli item (lakehouse, warehouse, notebook, pipeline, semantic model). Ogni workspace è assegnato a una singola capacity: è quella capacity a fornire il compute per tutti i suoi item.

La relazione chiave: più workspace possono condividere la stessa capacity e ne consumano le CU in modo aggregato. Sotto F64 (soglia storica di Power BI Premium) i consumer devono avere licenza Pro per fruire dei report; da F64 in su il consumo Power BI è “free” per i lettori.

Workspace roles

L’accesso al workspace si governa con quattro ruoli, dal più al meno privilegiato: Admin, Member, Contributor, Viewer. Admin e Member possono gestire accessi e condivisione; Contributor crea ed esegue item ma non gestisce i permessi; Viewer legge soltanto. Per uno scenario data engineering (creare notebook ed eseguire pipeline) il ruolo minimo corretto è Contributor.

Spark settings a livello di workspace

Le impostazioni Spark si configurano nel Workspace settings → Data Engineering/Science e si applicano a tutti gli item di quel workspace:

  • Pool: puoi usare lo Starter pool (avvio rapido, sessioni in pochi secondi) oppure creare un custom Spark pool definendo node size, autoscale e dynamic allocation degli executor. Scegli il custom pool quando servono nodi più grandi o un numero controllato di executor.
  • Runtime: la versione dello stack (Apache Spark + Delta Lake), ad esempio Runtime 1.3. Determina compatibilità di librerie e feature.
  • Environment: artefatto riusabile che impacchetta librerie (public/custom), proprietà Spark e il pool di default. Impostare un environment come default del workspace significa imporre le stesse dipendenze a ogni notebook e Spark job definition, garantendo riproducibilità.

Sempre a livello di workspace si trovano le OneLake settings (es. integrazione con ADLS, caching), anch’esse trasversali a tutti gli item.

Domini per raggruppare i workspace

I domini (parte di OneLake data hub / Microsoft Purview data governance) raggruppano i workspace per business unit (Finance, Sales, HR) in un’ottica di data mesh. Un dominio ha propri domain admin e contributor, può avere subdomini, e consente policy e branding (immagine, colore) delegati. Non è un confine di compute: serve a governance, discoverability e ownership decentralizzata, non ad assegnare capacity.

Osservare il consumo con la Capacity Metrics app

La Microsoft Fabric Capacity Metrics app è lo strumento ufficiale per monitorare l’uso delle CU di una capacity. Mostra utilizzo per item e per operazione, e soprattutto gli eventi di throttling e smoothing:

  • Smoothing: Fabric distribuisce nel tempo (fino a 24 ore per i job background) il costo delle operazioni, evitando picchi istantanei.
  • Throttling: se il debito di CU accumulato supera le soglie dello SKU, Fabric applica ritardi progressivi (interactive delay → interactive rejection → background rejection) fino a rifiutare i job.

Uno SKU più grande alza le soglie, riducendo il rischio di throttling: la scelta dello SKU è quindi una decisione architetturale, non solo di costo.

Trappole tipiche d’esame

  • “Devo applicare le stesse librerie e la stessa configurazione Spark a tutti i notebook di un team” → crea un Environment e impostalo come default del workspace; le impostazioni workspace valgono per tutti gli item, non per singolo notebook.
  • “Voglio raggruppare i workspace di Finance per governance/ownership senza cambiarne il compute” → usa un dominio (Purview/data hub), non una nuova capacity: il dominio non fornisce compute.
  • “I job di picco vengono rifiutati / la capacity è in throttling” → verifica in Capacity Metrics il consumo CU e considera l’upgrade dello SKU F: soglie di throttling e smoothing dipendono dalla dimensione dello SKU.
  • “Un data engineer deve creare ed eseguire pipeline ma non gestire i permessi” → assegna il ruolo Contributor, non Member né Admin.
  • “Sotto quale SKU i lettori dei report richiedono licenza Pro?” → al di sotto di F64; da F64 in su la fruizione Power BI non richiede Pro per i consumer.