Mirosoft Fabric: Infrastruktur & Capacity

Infrastruktur und Capacity in Microsoft Fabric
Microsoft Fabric ermöglicht den Usern als SaaS-Lösung, ohne aufwendige Infrastruktur-Bereitstellung, alle relevanten Daten-Workloads effizient zu verwalten. Auch wenn Microsoft Fabric zahlreiche Vorteile bietet, ist insbesondere die richtige Kapazitätsplanung entscheidend für eine erfolgreiche Nutzung. In diesem Artikel werfen wir einen detaillierten Blick auf die Fabric-Infrastruktur und zeigen, wie du mit der richtigen Kapazitätsstrategie Performance-Probleme und unnötige Kosten vermeidest.
Wie ist die Infrastruktur von Microsoft Fabric aufgebaut?
Die Infrastruktur von Microsoft Fabric ist hierarchisch aufgebaut und basiert auf einer klaren Struktur aus Tenant, Kapazitäten (Capacities) und Workspaces, die gemeinsam eine effiziente Verwaltung und Verarbeitung von Daten gewährleisten.
Tenant: Ein Tenant repräsentiert die oberste Ebene der Hierarchie, entspricht in der Regel dem gesamten Unternehmen oder einer Organisation und ist mit deinem Microsoft Entra-Verzeichnis verknüpft. Innerhalb eines Tenants kannst du mehrere Workspaces und Capacities erstellen.
Kapazität: Eine Capacity ist ein dedizierter Pool von Ressourcen innerhalb deines Tenants. Die Größe der Capacity, gemessen in Capacity Units (CU), bestimmt die verfügbare Rechenleistung und beeinflusst direkt die Performance deiner Workloads. Sie spielt eine zentrale Rolle bei der Ressourcenzuweisung und Preisgestaltung. Eine Capacity kann mehrere Workspaces fassen.
Workspace: Sie dienen als Container für verschiedene Projekte, Teams oder Abteilungen, enthalten verschiedene Elemente wie Lakehouses, Datenpipelines oder Berichte. In diesem Bereich können Teams gemeinsam an Daten, Berichten und Pipelines arbeiten.
Kapazitätsmodelle in Microsoft Fabric
Ein zentrales Element von Microsoft Fabric sind die Kapazitätsmodelle, welche die Ressourcenzuteilung und -nutzung steuern.
F-SKUs
Die Kapazität in Microsoft Fabric wird durch verschiedene F-SKUs definiert, die jeweils eine bestimmte Anzahl von CUs (Capacity Units) bereitstellen. Diese reichen von F2 (2 CUs) bis F2048 (2048 CUs), wodurch eine flexible Skalierung entsprechend den Anforderungen möglich ist. Da die Kapazität nicht vorab für spezifische Workloads festgelegt wird, können Unternehmen ihre Ressourcen dynamisch zwischen verschiedenen Fabric-Services verteilen. Es stehen zwei Abrechnungsmodelle zur Verfügung, die über das Azure-Portal erworben werden:
- Pay-as-you-go: Abrechnung nach tatsächlichem Verbrauch in CUs pro Sekunde. Ideal für Unternehmen mit variabler Nutzung.
- Reservierte Kapazität: Vorausbuchung für 1 oder 3 Jahre mit bis zu 41 % Rabatt. Geeignet für Unternehmen mit gleichmäßiger Nutzung und langfristiger Planung.

Welche Kapazitätsstufe ist die richtige für mein Unternehmen?
Die Wahl der richtigen Kapazität hängt von den spezifischen Anforderungen und dem Workload deines Unternehmens ab. Konkrete Kapazitätspreise sind auch vom gewählten Rechenzentrum abhängig.
Für eine fundierte Kapazitätsplanung sollte man die Microsoft Fabric Capacity Metrics App nutzen. Die Anwendung hilft dir, die Ressourcennutzung zu überwachen und die optimale Kapazitätsgröße für deine spezifischen Workloads zu bestimmen.
Als grobe Richtlinie für die Kapazität kann man Folgendes sagen:
Kleine Power BI-Projekte und Data Engineering Pipelines: Bei kleineren BI-Projekten kann eine F4 oder F8 Lizenz bereits ausreichen. Je nach Anwendungsfall müssen diese im späteren Verlauf nach oben skaliert werden.
Echtzeit-Datenverarbeitung: Anwendungen mit niedriger Latenz und hoher Parallelität, wie Streaming-Datenanalyse oder IoT-Datenverarbeitung, profitieren von einer F256- oder F512-Kapazität. Falls eine noch schnellere Verarbeitung benötigt wird, kann eine F1024-SKU erforderlich sein.
Data Science und maschinelles Lernen: Für KI-Modelle, neuronale Netzwerke und Deep-Learning-Berechnungen ist eine F256 zu empfehlen. Falls rechenintensive Trainingsprozesse mit großen Datensätzen durchgeführt werden, kann eine F1024-Kapazität erforderlich sein.
Da Workload-Anforderungen variieren, empfiehlt es sich, zunächst mit einer kleineren Kapazität zu starten und die Skalierbarkeit flexibel zu testen, um die optimale Performance zu erreichen.
Wie erstelle ich eine Microsoft Fabric Capacity?
Skalierung und Kapazitätsmanagement
Um Workloads effizient zu verarbeiten, nutzt Microsoft Fabric automatische Mechanismen. Bursting, Smoothing und Throttling sind drei essenzielle Konzepte, die beeinflussen, wie Rechenkapazitäten genutzt werden.
Bursting: Dynamische Ressourcenerweiterung
Beim Bursting kann die Plattform bei plötzlichen Lastspitzen mehr Ressourcen nutzen, als ursprünglich zugewiesen wurden, um eine gleichbleibende Performance sicherzustellen. Diese zusätzliche Ressourcennutzung wird als „Ausleihe“ von zukünftigen Kapazitäten betrachtet. So können Aufgaben, die normalerweise länger dauern würden, schneller abgeschlossen werden. Es ist jedoch wichtig zu beachten, dass diese ausgeliehenen Ressourcen später wieder „zurückgezahlt“ werden müssen.
Smoothing: Gleichmäßige Verteilung der Ressourcennutzung
Um die Auswirkungen des Burstings zu minimieren, implementiert Microsoft Fabric das sogenannte Smoothing. Dabei wird der Verbrauch der zusätzlichen Ressourcen über einen bestimmten Zeitraum verteilt:
- Interaktive Operationen (Interactive Compute): Die Ressourcennutzung wird über mindestens 5 Minuten geglättet.
- Hintergrundoperationen (Background Compute): Hier erfolgt die Glättung über einen Zeitraum von 24 Stunden.
Durch dieses Vorgehen wird verhindert, dass kurzfristige Lastspitzen zu einer Überlastung der Kapazität führen.
Throttling: Schutzmechanismus bei Überlastung
Auch mit Bursting und Smoothing kann es vorkommen, dass die Kapazität über einen längeren Zeitraum hinweg überlastet ist. In solchen Fällen greift das Throttling als Schutzmechanismus:
- Interaktive Verzögerung (Interactive Delay):
Wenn die Kapazität für die nächsten 10 Minuten vollständig ausgelastet ist, werden neue interaktive Anfragen um 20 Sekunden verzögert. Dies betrifft beispielsweise direkte Benutzeranfragen wie Power BI-Abfragen oder SQL-Abfragen in Lakehouses.
- Interaktive Ablehnung (Interactive Rejection):
Bei einer anhaltenden Überlastung von 60 Minuten werden neue interaktive Anfragen abgelehnt. Geplante Hintergrundoperationen, wie ETL-Pipelines oder Spark-Jobs, werden jedoch weiterhin ausgeführt.
- Hintergrund-Ablehnung (Background Rejection):
Wenn die Überlastung über 24 Stunden andauert, werden alle Anfragen, sowohl interaktive als auch Hintergrundoperationen, abgelehnt, bis die Ressourcennutzung wieder unter das festgelegte Limit fällt.
Dieser gestaffelte Ansatz stellt sicher, dass die Systemstabilität gewahrt bleibt und kritische Hintergrundprozesse so lange wie möglich weiterlaufen können, während interaktive Anfragen frühzeitig reguliert werden, um die Gesamtleistung der Fabric-Kapazität zu schützen.
Best Practices für die Kapazitätsverwaltung in Microsoft Fabric
Eine optimale Verwaltung der Kapazitäten in Microsoft Fabric erfordert strategisches Monitoring, Performance-Optimierung und bedarfsgerechte Skalierung. Die folgenden Beispiele helfen dabei, Ressourcen effizient zu nutzen und Engpässe zu vermeiden.
1. Kontinuierliches Monitoring und Ressourcenmanagement
Ein strukturiertes Monitoring der Auslastung ermöglicht eine frühzeitige Identifikation von Performance-Problemen.
- Fabric Capacity Metrics App: Diese App bietet einen detaillierten Einblick in die Nutzung der verfügbaren Ressourcen und hilft dabei, Kapazitätsgrenzen rechtzeitig zu erkennen.
- Kapazitätsbenachrichtigungen: Es empfiehlt sich, Warnmeldungen einzurichten, die auf kritische Auslastungsspitzen hinweisen, um rechtzeitig reagieren zu können.
- Workload-Management: Die Zuweisung von Kapazitäten zu spezifischen Workloads stellt sicher, dass geschäftskritische Anwendungen stets über ausreichende Ressourcen verfügen.
2. Optimierung von Workloads zur Performance-Steigerung
Eine effiziente Nutzung von Ressourcen sorgt für verbesserte Abfragegeschwindigkeiten und verhindert unnötige Überlastungen. So kannst du deine Workloads beispielsweise optimieren:
- Optimierte Datenmodelle: Die Verwendung von komprimierten Speicherformaten wie Delta Tables und Parquet reduziert den Ressourcenverbrauch und beschleunigt Abfragen.
- Partitionierung großer Tabellen: Die gezielte Unterteilung von Datenmengen verbessert die Verarbeitungseffizienz und reduziert Latenzen.
- Anpassung der Speicherstrategie: Je nach Anwendungsfall kann eine Mischung aus DirectQuery für Echtzeit-Analysen und Import-Modus für hohe Abfragegeschwindigkeiten sinnvoll sein.
3. Bedarfsgerechte Skalierung der Kapazität
Falls trotz Optimierungsmaßnahmen wiederholt Leistungsengpässe auftreten, kann eine gezielte Erweiterung der Kapazitäten erforderlich sein. Diese sieht beispielsweise so aus:
- Kapazitätserhöhung: Wenn kontinuierlich hohe CPU-Auslastung oder Speicherengpässe auftreten, kann eine Hochskalierung auf eine größere Kapazitätsstufe notwendig sein.
- Workload-spezifische Anpassungen: Die Begrenzung einzelner Operationen und die Vermeidung von ressourcenintensiven Prozessen während Spitzenzeiten tragen zur Lastenverteilung bei.
- Monitoring zur Skalierungsentscheidung: Eine regelmäßige Analyse der Kapazitätsauslastung hilft, den richtigen Zeitpunkt für eine Skalierung zu bestimmen.
Diese Maßnahmen ermöglichen eine nachhaltige und wirtschaftliche Nutzung von Microsoft Fabric, sodass Ressourcen effizient bereitgestellt und Engpässe vermieden werden können.
Erfolgsfaktoren für eine optimale Nutzung von Microsoft Fabric
Microsoft Fabric ist eine leistungsstarke, skalierbare Datenplattform, die Flexibilität und hohe Performance vereint. Damit du ihr volles Potenzial ausschöpfen kannst, sind eine durchdachte Kapazitätsplanung, eine effiziente Organisation deiner Workspaces und die Optimierung von Workloads entscheidend. Kontinuierliches Monitoring hilft dir, Engpässe frühzeitig zu erkennen und Anpassungen vorzunehmen. Starte am besten klein und skaliere schrittweise nach Bedarf.