Fabric-capaciteit automatisch schalen met Azure Monitoring
Zoals onze solution architect Ian al in een eerdere blog heeft besproken (Microsoft Fabric Capaciteit - licenties en prijzen), werk je in Microsoft Fabric met capaciteiten. Deze capaciteiten staan, zoals de naam al doet vermoeden, voor de beschikbaarheid van een aantal resources. Het is belangrijk om deze capaciteit optimaal in te zetten voor jouw gebruik. Je wilt niet te veel betalen voor ongebruikte resources, maar ook niet te weinig capaciteit beschikbaar hebben, om performanceproblemen voor de eindgebruiker te voorkomen. Zeker bij de PBI embedded klantportalen die we aanbieden, is het bepalen van de juiste capaciteit een uitdaging. Hierbij wordt het verbruik namelijk bepaald door het aantal gelijktijdige bezoekers van de rapportages, wat lastig te voorspellen is. Daarom is het belangrijk om het verbruik van de capaciteit te monitoren en tijdig op- of af te schalen naar het juiste niveau. In dit artikel leggen we stap voor stap uit hoe je dit kunt doen!
Fabric (of Power BI embedded) capacities
Bob legde eerder al uit dat je dankzij Microsoft Fabric geen losse Power BI embedded capaciteit meer nodig hebt om deze functionaliteit te benutten (Embedded Power BI aantrekkelijker dankzij Microsoft Fabric). Toch is het aan te raden om een afzonderlijke Fabric-capaciteit voor het embedded gedeelte te configureren, zodat er geen performanceproblemen ontstaan tussen je dataplatform en de visualisatielaag. In dit artikel gaan we ervan uit dat je al een Fabric óf Power BI embedded capaciteit hebt geconfigureerd.
Capaciteit monitoren met Azure Monitoring
Om het verbruik van je capaciteit te monitoren, volg je deze stappen:
-
Ga naar portal.azure.com en log in.
-
Navigeer naar de Fabric- of Power BI embedded capaciteit die je hebt geconfigureerd.
-
Klik onder de sectie ‘Monitoring’ op ‘Metrics’.
Je komt nu op een pagina met een lege grafiek. Hier kun je verschillende metrische waarden onderzoeken op diverse aggregatieniveaus. In het voorbeeld zie je bijvoorbeeld het CPU-gebruik van je capaciteit. Dit is één van de metrieken die je kunt monitoren om mogelijke oorzaken van performanceproblemen te identificeren.
Runbook voor automatisch schalen maken
Het automatisch schalen van de capaciteit doen we met een runbook (PowerShell). Volg hiervoor deze stappen:
-
Ga naar de resourcegroep waarin ook je capaciteit staat.
-
Maak een automation account, zodat we vervolgens runbooks kunnen aanmaken.
-
Ga naar je zojuist aangemaakte automation account en klik onder ‘Process Automation’ op ‘Runbooks’.
-
Klik vervolgens op ‘Create a Runbook’.
-
Configureer het runbook:
-
Runbook type: PowerShell
-
Runtime version: 7.2 (recommended)
-
In dit voorbeeld gebruiken we een Power BI embedded capaciteit en schalen we van een A1- naar een A2-capaciteit. Het is belangrijk dat de managed identity van je automation account Contributor-rechten heeft op de capaciteit om wijzigingen door te voeren. Vervolgens gebruik je het volgende PowerShell-script:
Runbook koppelen aan Azure Metric Alerts
Tot slot moet je het zojuist gemaakte runbook koppelen aan één van de metrieken die we eerder hebben besproken:
-
Ga terug naar je Power BI embedded- of Fabric-capaciteit.
-
Klik onder de sectie ‘Monitoring’ op ‘Alerts’.
-
Klik op ‘Create alert rule’. Je komt nu in een configuratiescherm om je alert in te stellen.
-
Selecteer onder ‘Conditions’ bij ‘Signal name’ de optie ‘CPU (Gen2)’. Hier kun je naar behoefte instellingen configureren. Bij een klant hebben we gekozen om op te schalen bij een CPU-belasting boven de 80% en af te schalen wanneer deze onder de 50% komt.
-
Onder ‘Actions’ maak je een nieuwe actiegroep en koppel je je runbook met de juiste parameters aan je alert.
Na deze configuratie zal binnen het door jou gespecificeerde interval een controle plaatsvinden op het actuele gebruik. Als de ingestelde parameters worden overschreden, wordt het runbook uitgevoerd om de capaciteit op of af te schalen naar het gewenste niveau.
Conclusie
Azure Monitoring en Alerts bieden handige tools om capaciteiten te monitoren en hier acties aan te koppelen. In het geval van Fabric en Power BI embedded kun je met een relatief eenvoudig PowerShell-script je capaciteit automatisch op- en afschalen. Let op dat in dit voorbeeld de capaciteit langdurig boven een bepaalde grenswaarde moet blijven om effectief op- of af te schalen. Kortdurende pieken zijn moeilijker op te vangen op deze manier en kunnen beter worden aangepakt met een planning gekoppeld aan je runbook. Zo kun je bijvoorbeeld tijdens kantooruren een hogere capaciteit instellen, omdat je dan doorgaans het meeste gebruik verwacht.
Wil jij ook met Fabric werken?
Kijk eens bij onze vacatures